aゞ烛火 发表于 2023-9-23 17:57

关于特殊动态地址补丁的问题

本帖最后由 aゞ烛火 于 2023-9-23 21:32 编辑

最近论坛也是有人询问了动态地址如何打补丁的问题。评论区清一色的回复:基址+偏移就可以定位。这种方式对于普通的动态地址或许有效果,但你是否听闻过会变动的基址呢?附上图片
原理:在内存中申请一段内存。再把dll中的数据写进内存中调用。如果记的不错,这种方式最早由E少开源,后来发展为各种一键加的网络验证。那么问题来了,这种情况你又要如何写入补丁呢?
首先,写入这种补丁不是难事,但你要如何让他直接运行并破解,而不是让软件窗口出现后再写入补丁呢?最近我一直困在这种问题中,也试过让他申请内存后暂停进程,但这种方式却极为不稳定 API的hook也没有作用 希望有大佬能指点一下 附上样本地址:https://share.weiyun.com/wNL1sMQY 太久没接触。我变成废物咯。从头开始学吧

Eric 发表于 2023-9-23 17:57

.版本 2

SuperHook.读值 (1)
动态地址 = Memory.读整数 (pid, HookData .Reg.ESP + 4)
动态基址 = 动态地址 - 391489
__set_byte (动态基址 + 4429, { 144, 144, 144, 144, 144, 144 }, )
SuperHook.暂停 (1)

顶风作案 发表于 2023-9-23 18:42

其实我也是这个困扰, 如何打这个补丁 让软件启动的时候就加载,而不是加载完再打补丁

Eric 发表于 2023-9-23 18:55

HOOK GetVersion 取出堆栈地址就能定位内存段, 特征码搜索补丁即可.

aゞ烛火 发表于 2023-9-23 18:57

Icpower 发表于 2023-9-23 18:55
HOOK GetVersion 取出堆栈地址就能定位内存段, 特征码搜索补丁即可.

我也这样操作过。但结果却并不成功 如果有兴趣可以看看我发的例子

Eric 发表于 2023-9-23 19:23

aゞ烛火 发表于 2023-9-23 18:57
我也这样操作过。但结果却并不成功 如果有兴趣可以看看我发的例子


Eric 发表于 2023-9-23 20:33

动态地址 = ESP+4
动态基址 = 动态地址 - 偏移(地址与基址的偏移)
补丁地址 = 动态基址 + 偏移(基址与特征的偏移)

Eric 发表于 2023-9-23 20:58

动态地址 = ESP+4
动态基址 = 动态地址 - 391489
写字节集 (动态基址 + 4429, { 144, 144, 144, 144, 144, 144 })

boot 发表于 2023-9-23 21:22

没什么难度...

https://versteckt.lanzouw.com/irv6O19ldrre

遇见叶子 发表于 2023-9-25 06:05

boot 发表于 2023-9-23 21:22
没什么难度...

https://versteckt.lanzouw.com/irv6O19ldrre

验证初始化的IP地址用的是负载均衡的IP地址,问题来了,那么怎么找真实的服务端ip地址???
页: [1] 2
查看完整版本: 关于特殊动态地址补丁的问题