查看: 476|回复: 0

易语言x64进程远程hook源码

[复制链接]

3123

主题

3123

帖子

50

积分

超级版主

Rank: 8Rank: 8

积分
50
发表于 2021-7-31 13:39:41 | 显示全部楼层 |阅读模式
    x64进程远程hook,x64_远程调用函数,源码更新V1.8.2:2021/4/12

    2021/4/12模块源码v1.8.2更新
    1:修复x64_远调用函数()在易语言主线程调用时造成消息无法回调,导致易语言主线程窗口卡死的问题。
    感谢楼下易友发现的BUG,已经第一时间更新
    2021/4/12模块源码v1.8.1更新
    1:修复hook全部卸载时的流程写法的一个错误,由于句柄的提前关闭导致多个hook点卸载不干净的问题
    2:改写了消息回调时线程传参的代码优化,优化了其他一些小问题
    3:鉴于很多朋友需要,改写了模块自带实列,对TCP,UDP的两组封包函数做了hook实列写法
    4:列子中同样增加对x64_远调用函数()的应用写了几个列子,如使用套接字取得本地或远端IP端口API调用的的应用实列
    5:本hook模块不支持非模块内存区hook,如申请的动态分配页等,不是不能支持,只是觉得没有任何意义,对这方面有需求的,自行改写模块源码使用
    提醒:hook回调函数中尽量减少耗时代码,时间越长返回越慢,回调中谨慎操作控件,如必须要用到可参考源码中实列写法采用线程操作
    历史更新
    ---------------------------------------------------------------
    2021/3/1模块源码v1.6更新:
    1:修复x64_远程调用函数()命令,在没有提供寄存器参数时,没有返回值的BUG。
    ---------------------------------------------------------------
    2021/2/28模块源码v1.5更新:
    一:修复win764位系统下枚举模块出现部分模块长度出现负数的问题,从而导致部分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模块组看懂一遍,对于一些对本模块一知半解的朋友请不要乱改乱发,这个模块我会继续增强的,只是工作原因时间有限,只能一点一点来




游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

快捷回复 【不要灌水喔,臭宝!】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则