开源API虚拟调用AntiAPIHook
功能说明:
这是一个基于易语言开发的DLL函数调用性能测试程序。程序的主要功能是通过动态加载kernel32.dll中的lstrlenA函数来计算字符串长度,并进行大量重复调用来测试性能。
程序工作流程如下:
1. 在程序启动时,首先加载kernel32.dll动态链接库
2. 获取当前程序的完整路径信息
3. 读取自身程序文件并加载到内存作为DLL
4. 通过GetProcAddress获取lstrlenA函数地址(注意:代码中显示获取的是"lstrlenA"但实际用于计算字符串长度)
5. 创建了一个自定义的New_lstrlenA函数来包装对原始API的调用
6. 在按钮点击事件中执行100000次循环调用,每次调用New_lstrlenA函数计算"hellokity"字符串的长度
7. 循环过程中处理系统事件,最后显示"done"完成提示
程序还包含了汇编模块功能,提供了指针类型转换、操作系统版本检测等底层操作功能。整体来看,这是一个用于测试DLL函数调用效率和性能的工具程序,通过大量重复调用来验证函数调用的稳定性和速度表现。
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ New_lstrlenA
| |
| |------ _按钮1_被单击
| |
| |
======调用的Dll
| |
| |---[dll]------ GetModuleFileNameA
| |
| |---[dll]------ LoadLibraryA
| |
| |---[dll]------ lstrlenA
======小ps的强力汇编模块
| |
| |------ _启动子程序
| |
| |------ 指针转类型
| |
| |------ 类型到指针
| |
| |------ 取操作系统类别_汇编
| |
| |------ _临时子程序
| |
| |------ 取变量堆栈地址_结构
| |
| |------ 取变量堆栈地址_字节集
| |
| |------ 取变量堆栈地址_文
| |
| |------ 取指针_字节集B
| |
| |------ 复制内存A
| |
| |------ 生成CRC32表
| |
| |------ 取CRC32
| |
| |------ 文本_取文本长度
| |
| |------ 取空白文本_
| |
| |------ 取空白字节集_
| |
| |------ 取指针_字节集A
| |
| |------ 取十六进制文本_
| |
| |------ Call_
| |
| |------ 调用子程序_
| |
| |------ _指针到文本
| |
| |------ _取指针文本长度
| |
| |------ 取指针_文本型
| |
| |------ 取指针_整数型
| |
| |------ 字节集_取字节集长度B
| |
| |------ 复制内存B
| |
| |------ 字节集_寻找字节集
| |
| |------ 写内存整数型
| |
| |------ 字节集_取字节集长度A
| |
| |------ Asm_读整数型内存
| |
| |------ Asm_读字节集内存
| |
| |------ 写内存文本
| |
| |------ 写内存字节集
| |
| |------ ASM_MD5
| |
| |------ 取数据MD5
| |
| |------ 返回字符串到MD5文本
| |
| |------ GetKernel32BaseAddress
| |
| |------ SearchAPIAddressByName
| |
| |------ Asm_GetModuleHandle
| |
| |------ GetModuleHandle_A
| |
| |------ GetProAddress_B
| |
| |------ 加载内存Dll
| |
| |------ 释放内存Dll
| |
| |------ GetProAddress_A
| |
| |------ 指针到整数
| |
| |------ 十六进制到十进制
| |
| |------ 十到十六_
| |
| |------ _取子程序真实地址
| |
| |------ 字节集到十六进制文本_dtcser
| |
| |------ 十六进制文本到字节集_dtcser
| |
| |------ 置入动态代码
| |
| |------ 十六进制到十进制__
| |
| |------ 查看字节集
| |
| |------ mallo
| |
| |------ free
| |
| |------ 字节集到字节型数组A
| |
| |------ 字节集到字节型数组B
| |
| |
======调用的Dll
| |
| |---[dll]------ GetProcessHeap
| |
| |---[dll]------ GlobalAlloc
| |
| |---[dll]------ HeapAlloc
| |
| |---[dll]------ VirtualFree
| |
| |---[dll]------ VirtualAlloc
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。