为编程爱好者分享易语言教程源码的资源网

网站首页 > 易语言相关 > 易语言模块源码 正文

易语言实现多线程安全Hook

三叶资源网 2019-09-16 14:58:59 易语言模块源码 3593 ℃ 1 评论

该模块包含了小量编程时常用的函数集:

取变量栈指针、A2W、W2A,Call(任意数量参数,内部会维护栈平衡),取函数真实地址(可为Naked函数,需自己维护栈平衡),以及部分堆函数;

还有两个比较特殊的:

一是SDK_OBJ里边的函数集,允许用户通过This控制类,包括读写成员,调用方法,设置对象实例

二十SDJ_InlineHook,我翻了很多论坛里边的代码,都是直接jmp,要调用原函数时再暂时复原调用的。

这个方法有一个隐患,就是在多线程中,如果一个线程暂停Hook,恰好这个函数又被另一个线程调用,则那个线程调用的是原函数!没有被Hook。

本人采用的方法是写入jmp,调用原函数的时候,把原函数前几句代码拷入内存再加上jmp,如此便可保证在多线程下的安全了。

另外本Hook采用链表机制,可以乱序卸载。

@肉鱼

文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有1位网友发表了看法:

  • 模块官网

    模块官网  评论于 [2020-03-04 17:14:56]  回复

    线程安全+跨线程+易语言

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
阳光车生活app自动发货网页POSTudp协议动态加密windows安全机制API易语言调用JAVA源码微博降权HttpWatch网络相关源码APlayer模块源码单纯挖矿Yy多频道人数查询音乐工具MD5自效验HP端口转发邮件大站协议滑块坐标识别校验车辆识别号火山移动
最新评论