关于特殊动态地址补丁的问题
本帖最后由 aゞ烛火 于 2023-9-23 21:32 编辑最近论坛也是有人询问了动态地址如何打补丁的问题。评论区清一色的回复:基址+偏移就可以定位。这种方式对于普通的动态地址或许有效果,但你是否听闻过会变动的基址呢?附上图片
原理:在内存中申请一段内存。再把dll中的数据写进内存中调用。如果记的不错,这种方式最早由E少开源,后来发展为各种一键加的网络验证。那么问题来了,这种情况你又要如何写入补丁呢?
首先,写入这种补丁不是难事,但你要如何让他直接运行并破解,而不是让软件窗口出现后再写入补丁呢?最近我一直困在这种问题中,也试过让他申请内存后暂停进程,但这种方式却极为不稳定 API的hook也没有作用 希望有大佬能指点一下 附上样本地址:https://share.weiyun.com/wNL1sMQY 太久没接触。我变成废物咯。从头开始学吧 .版本 2
SuperHook.读值 (1)
动态地址 = Memory.读整数 (pid, HookData .Reg.ESP + 4)
动态基址 = 动态地址 - 391489
__set_byte (动态基址 + 4429, { 144, 144, 144, 144, 144, 144 }, )
SuperHook.暂停 (1)
其实我也是这个困扰, 如何打这个补丁 让软件启动的时候就加载,而不是加载完再打补丁 HOOK GetVersion 取出堆栈地址就能定位内存段, 特征码搜索补丁即可. Icpower 发表于 2023-9-23 18:55
HOOK GetVersion 取出堆栈地址就能定位内存段, 特征码搜索补丁即可.
我也这样操作过。但结果却并不成功 如果有兴趣可以看看我发的例子 aゞ烛火 发表于 2023-9-23 18:57
我也这样操作过。但结果却并不成功 如果有兴趣可以看看我发的例子
动态地址 = ESP+4
动态基址 = 动态地址 - 偏移(地址与基址的偏移)
补丁地址 = 动态基址 + 偏移(基址与特征的偏移) 动态地址 = ESP+4
动态基址 = 动态地址 - 391489
写字节集 (动态基址 + 4429, { 144, 144, 144, 144, 144, 144 }) 没什么难度...
https://versteckt.lanzouw.com/irv6O19ldrre
boot 发表于 2023-9-23 21:22
没什么难度...
https://versteckt.lanzouw.com/irv6O19ldrre
验证初始化的IP地址用的是负载均衡的IP地址,问题来了,那么怎么找真实的服务端ip地址???
页:
[1]
2