易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录

64位进程远程hook,x64_远程调用函数,源码更新v1.6   [复制链接]

    2021-03-19 19:47:28
    模块控件源码
    易语言资源网
    4657 次浏览
    来源链接

上一个帖子的模块源码:https://bbs.125.la/thread-14666356-1-1.html

本帖为更新贴:其实想讲很多,想讲讲x64调用约定,想讲讲x64栈16对齐那些有趣的事,还是算了,上回打那么多字也没给个精华,不玩了

本次模块源码v1.5更新内容:2021/2/28

一:修复win7 64位系统下枚举模块 出现部分模块长度出现负数的问题,从而导致部分win7用户不能使用

二:强化 远程hook64指令_安装 的稳定性:

       1,穿插代码中增加对标志位的保护,避免hook位置长度下一条指令为跳转时产生跳转错乱的问题,强化了hook任意位置的定位

       2,因为穿插代码中会调用API函数,而64位汇编必须遵守栈指针16字节对齐,故对穿插代码进行栈指针16字节对齐,增强稳定性

       3,hook指令安装支持长度由6-127字节 变动 为 6-119字节,原因么没必要说了,代码优化造成的,稍微少了一点无所谓了

       4,对模块回调进行了适当优化处理,增强稳定性

三:应支持的朋友需要故增加 x64_远程调用函数()命令,易语言可以直接远call64进程,且无需写汇编代码或机器码指令,支持15个参数,支持返回值,支持16个通用寄存器全部取得返回值

      该功能调用即16字节栈对齐,不要用户管堆栈,代码内部构成,远线程执行,你只需要知道call有几个参数,需要什么寄存器,对应提供即可。

四:有朋友说原模块x64英文看了烦,那好吧就给改成了中文标识,弄得我自己也不习惯

五:源码内列子改了改,可以自己看,需要注意的是模块注释的很详细,使用前最好看一看,尤其是hook回调接口的写法和安装的写法最好按照模块列子中的写法来,除非你能把64hook模块组看懂一遍,对于一些对本模块一知半解的朋友请不要乱改乱发,这个模块我会继续增强的,只是工作原因时间有限,只能一点一点来

如果本源码对你有帮助,我非常高兴,感谢那些支持我的朋友,如果你也对x64汇编有兴趣也欢迎加我私聊共同进步,没事的时候我在发些x64汇编中我觉得比较有趣的一些事和大伙分享,先上真家伙,源码附件回复可见,源码已经经过好几位朋友简单压力测试。。。

最后,不管您是转载还是使用请保留版权,源码在精益论坛免费发布本人未获利,请不要用于非法途径。

有个小BUG,临时更新v1.6:2021/3/1

1:修复  x64_远程调用函数()命令,在没有提供 寄存器 参数时,没有返回值的BUG。



点我下载 (已有 310 次下载)

引用模块





引用支持库


源码文件名 支持库文件名 支持库标识
64hook v1.6 .e 系统核心支持库 5.7 d09f2340818511d396f6aaf844c7e325
特殊功能支持库 3.1 A512548E76954B6E92C21055517615B0
多线程支持库 2.0 5F99C1642A2F4e03850721B4F5D7C3F8


[错误报告]   上一篇:仿golang的WaitGroup...     下一篇:精易后台找图例子(可遮挡最小化,越界屏幕...