如何使用delphi制作补丁(内存和文件)
## delphi制作补丁#### 前言
+ 看网上有很多C/C#/python的 补一个delphi的
+ 此处不讲解如何使用ce和od/xdbg
#### 方式
+ 通过修改内存制作补丁:
+ 使用工具: CheatEngine
+ 通过修改文件制作补丁:
+ 使用工具: OllyDB/xDbg
#### 通过修改内存制作补丁
+ 简单说明: 打开Test.exe, 点击Inc 按钮, 每次增加1. 修改数值为1000.
+ 打开CE, 获取到这个数值的地址:
+ 由于搜索到不是固定地址 通过"Find out what accesses this address" 找到固定地址
+ 找到固定地址$53AE8C中的指针P, 通过P偏移$398后找到指针P2, P2中的值就是我们要修改的值
+ 打开CheatEngine.exe 点击Inc 按钮,可以看到内存值改为了1000
#### 通过修改文件制作补丁
+ 简单说明: 打开Test.exe, 点击showmessage 按钮,弹出框->"哈哈哈", 我们修改为"测试为"
+ 打开xdbg32, 可以使用附加, 也可以直接拖进去, 打开模块 test.exe, 搜索字符串(注意要装装中文搜索) search for -> current modoule-> string refrences
+ 定位到"哈哈哈", 右键-> follow in dump -> 定位的地址
+ 在下面dump1中 选中定位的地方(字符串以00为结尾 选中00之前的可以了)->右键->binary->edit-> 修改为"测试为"
+ 在上面CPU中右键patch->可以看到即将修改的内容, export保存成文件(因为文件为相对地址)
+ 如:
+ ```
>test.exe
00122278:C8->4B
00122279:54->6D
0012227A:C8->D5
0012227B:54->8B
0012227C:C8->3A
0012227D:54->4E
```
+ 复制进Patch.exe, 会生成 test.ok.exe
+ 注意代码中的一个有一个文件偏移"C00", 具体算法请参考 VA RVA FileOffset 的关系, 可以使用PELOAD计算想知道其中的原理,参考源码: https://github.com/pzx521521/PE32-RVA-FileOffset
+ 即完成了修改
代码github:
https://github.com/pzx521521/PatchExe 大佬,哪个试听功能找到了没有? 朱朱你堕落了 发表于 2019-12-13 15:35
大佬,哪个试听功能找到了没有?
= =
因为你下的最新版本
之前的思路不行啊
我跟了一下, 改了几个地方, 也说结果了
不弹窗了但是 总是重新播放, 而不是继续播放, 证明思路大致是对的.....
太长了, 不想找...或者说是没有思路如何找到关键点
如果你仅仅是想学技术的话, 推荐直接下老版本 pzx521521 发表于 2019-12-13 15:43
= =
因为你下的最新版本
之前的思路不行啊
哈哈,真是个悲伤的故事。估计变动太大,太不好找,希望渺茫啊。
页:
[1]