吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1269|回复: 5
收起左侧

[新手问题] 请教一个新手问题,如何打动态地址补丁

[复制链接]
天下 发表于 2020-7-8 16:22
image.png
就上图这种,我把补丁数据放到这行代码下。但是这个DLL加载后的基址是动态的。这也就造成补丁失效。
我就想把EAX的值改成我的补丁地址。因为PATCH的数据比较多。比原来的字符串长。不能用MOV之类的命令一个字节一个字节的写。所以想把补丁数据放一个地址,然后赋值给EAX。本来想用GetModuleHandle来读取基址,但因为又要传递DLL名字。同样是需要解决动态地址的。
表达不是特别清楚。语言功底比较差。希望有会的朋友可以帮助一下。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

jion 发表于 2020-7-8 16:24
基址+偏移就可以打动态补丁了善用论坛搜索功能

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
天下 + 2 + 1 用心讨论,共获提升!

查看全部评分

无闻无问 发表于 2020-7-8 16:29
不知道你是进程进程编程打补丁还是直接修改汇编代码?可用CreateToolhelp32Snapshot枚举进程模块……修改汇编代码就好整了

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
天下 + 1 + 1 用心讨论,共获提升!

查看全部评分

pzx521521 发表于 2020-7-8 16:53
本帖最后由 pzx521521 于 2020-7-8 16:54 编辑

2L 正解 基址+偏移

但是有的地方可能是别的地方改的
就是 A(基址+偏移)->通过B->修改C
这个时候C的地址就要通过A去偏移出来
最简单的demo是ce的tutorial

同时程序写的时候注意 FileOffset

使用od/CheatEngine编写补丁(https://github.com/pzx521521/PatchExe)
dll注入Demo(https://github.com/pzx521521/DllHookInject)
exe的PE头原理(https://github.com/pzx521521/PE32-RVA-FileOffset)

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
天下 + 1 + 1 用心讨论,共获提升!

查看全部评分

bester 发表于 2020-7-8 16:56
这个问题要分两个点讨论
1.是否在任何时候对其进行patch都可以
2.是否需要在刚加载此DLL就进行patch,加载完成以后patch就没有意义了

如果是第一种情况,直接写个外部程序枚举一下模块即可,或者写个dll 注入进去也用getmodule也可以
第二种情况就比较麻烦一点,我能想到的思路如下,
1.Inlink hook Loadlibrary
2.借助于DLL重定位修正
3.shellcode获取EIP,再用shellcode自行修正偏移

然后你看一下你会哪种方法

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
天下 + 1 + 1 用心讨论,共获提升!

查看全部评分

冥界3大法王 发表于 2020-7-9 12:15
bester 发表于 2020-7-8 16:56
这个问题要分两个点讨论
1.是否在任何时候对其进行patch都可以
2.是否需要在刚加载此DLL就进行patch,加 ...

我给简单的翻译下:
意思就是说下手得早吃不上。
下手得晚又过了。
补丁需要时机和技巧
编程解决是王道。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
天下 + 1 + 1 6000分热心大佬,感谢感谢。

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-26 18:00

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表