易语言发布x64进程远程hook源码V2.3:支持消息模式通讯

需积分: 10 11 下载量 168 浏览量 更新于2024-11-24 收藏 108KB ZIP 举报
资源摘要信息:"x64进程远程hook技术是利用编程手段在运行中的64位进程内部植入特定代码,以便监控或修改进程的行为,这通常用于调试、安全分析、插件开发等场景。本文描述的源码是易语言编写的,易语言是一种中文编程语言,适合快速开发Windows应用程序。源码经过了V2.3版本的更新,并于2021年5月5日发布,更新的内容包括对64位进程远程hook技术的进一步实现和优化。 在这篇资源信息中,作者介绍了通讯模式为消息模式的64位进程远程hook技术。消息模式通常指的是hook过程中使用Windows消息机制进行通信,而JMP长转移是一种编程技巧,用于在执行中跳转到新的指令地址,进而实现hook功能。易语言在此基础上封装了其他功能,使得hook操作更为方便。 作者也强调,此源码旨在技术交流,不应被用于非法途径。源码封装了WoW64(Windows 32-bit on Windows 64-bit)开源模块,WoW64是Windows操作系统中允许32位应用程序运行在64位系统上的兼容层。源码中包含了可以直接调试启动的实例代码,开发者在编译时只需要更改下模式即可编译为模块。 尽管源码提供了hook技术的实列,作者仍然提醒使用者,封装这个hook源码并开源的初衷并非为了制作封包工具,而是为了让开发者了解如何应用hook技术。源码作者不希望开发者用它来制作封包工具,也不希望因此造成任何不良后果。 根据文件信息,源码的压缩包文件名为"wow64_hook_2.3模块源码.e",文件的扩展名表明这是一个模块源码文件。文件名称中包含的"e"可能是易语言文件的特殊扩展名。 从知识点来看,本资源内容涵盖但不限于以下几个方面: 1. x64进程远程hook技术:这是一种高级技术,用于远程修改或控制运行中的64位进程的行为。它通过特定的编程技术在目标进程地址空间内植入代码,以便监控、记录或修改进程执行过程中的数据或行为。 2. 64位进程远程hook技术的实现细节:在本资源中,实现细节包括通讯模式的选择(消息模式)和JMP长转移技术的应用,这些是实现hook的核心编程技术。 3. 易语言:易语言是一种面向中文用户开发的编程语言,它简化了Windows应用程序的开发过程。易语言适合快速开发和理解,尤其适合没有英文基础的编程初学者。 4. WoW64技术:WoW64是Windows操作系统的一部分,它允许32位应用程序在64位系统上运行。该技术的开源模块被封装进易语言源码中,使得开发者可以较为容易地对64位进程进行hook操作。 5. 技术交流与开源精神:本资源的发布者以开源精神分享了64位进程远程hook技术的实现代码,目的是为了技术交流和学习,而不是为了商业获利。 6. 法律和道德责任:资源发布者强调了源码的合法用途,并声明对于源码被用于非法途径所造成的后果不承担责任。这一部分传达了对使用者的责任告知和对知识产权的尊重。 总而言之,该资源信息提供了一套在易语言环境下实现x64进程远程hook技术的方法,它不仅仅涉及到了编程技术的实现,还包括了法律和道德的考量,对于希望深入了解和应用hook技术的开发者来说,是一个宝贵的资源。"
776 浏览量
x64进程远程hook,x64_远程调用函数,源码更新V1.8.2:2021/4/12 源码为下方连接帖子后续更新内容: 浅谈64位进程远程hook技术: https://bbs.125.la/forum.php?mod=viewthreadtid=14666356extra= 不管您是转载还是使用请保留版权,源码在精益论坛免费发布本人未获利,请不要用于非法途径。 --------------------------------------------------------------- 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更新: 一:修复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模块组看懂一遍,对于一些对本模块一知半解的朋友请不要乱改乱发,这个模块我会继续增强的,只是工作原因时间有限,只能一点一点来