你可能觉得这东西单独发有点重复贴,其实不然我自己一开始也觉得干脆回个评论得了,但是想一想光开源就没意思了这边介绍一下基础原理吧很简单其实就是普通的HOOK 只是在这上面进行了微小的改良以可以兼容更多的系统使用
这边看图:
这里HOOK了两个API 一个是LoadLibrary 一个是GetProcAddress 这边简单介绍下这俩的用处
第一个就是获取动态库句柄的API 你给他名称或者文件地址他就可以返回当前动态库的句柄以供你调用其功能
第二个就是通过句柄加上函数名称以获取函数入口地址进行操作
回到重点既然hook来自己操作那不就可以随意操作返回值了吗 因为易语言的静态DLL表 也是调用API
我们只需要先进行内存加载动态库 然后将动态库的句柄 和 自定义的库名称保存到一个表内 当HOOK 信息传入时
进行匹配返回相关的句柄即可完成当前的静态表加载了 因为内存加载没办法用普通的取函数地址API进行读取所以也要hook 来单独操作 不多说了详细自己看源码吧