吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 953|回复: 10
收起左侧

[求助] 请问在exe里添加自己的dll,在dll里Detour注入,如何延迟修改某个地址?

[复制链接]
zhuayi112 发表于 2024-4-22 14:08
       有一个exe自己写了个dll用pe工具导入了这个dll。
在dll里用Detour方法修改exe某个地址,现在遇到个问题,必须要等exe完全运行完毕后我才能去执行update修改exe里的内存地址,有没有什么好的延迟方法不能影响exe初始化?

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

_默默_ 发表于 2024-4-22 14:17
hook loadlibary
无阻 发表于 2024-4-22 14:18
 楼主| zhuayi112 发表于 2024-4-22 14:40
除了hook系统函数没别的办法吗?有点不明白hook系统函数和这个exe是否运行初始化完成有啥关系?exe里有很多数据初始化,必须要等他初始化完成我才可以用dll修改地址。
比如  exe里有个  init() 函数,我必须等他init()执行完成,我才可以修改init里地址的数据。
qfgao123 发表于 2024-4-22 15:01
init()执行系统函数试试
yes2 发表于 2024-4-22 15:28
你需要确定两个时间点,第一个时间点过去之后可以进行修改,第二个时间点过去之后修改会来不及。这段时间就是合理的修改时间。
你需要找到某个flag来判断是否处于合理修改时间内,这个flag可以是某个内存数值,也可以是某个API调用,这个需要你自己寻找。
如果flag是一个内存状态,你可以在dllmain里创建新线程,新线程中通过sleep不断检查flag直到进入合理修改时间,并进行修改。
如果flag是一个API,那就hook这个API,当你进入这个API的hook函数,你就知道现在是合理的修改时间了。
Hou 发表于 2024-4-22 16:21
exe开始运行->系统函数A->系统函数B->系统函数A->系统函数B->系统函数C->初始化完成->系统函数A->系统函数B->系统函数D>系统函数B->...
最佳选择:Hook系统函数D,执行系统函数D时释放补丁
次选:AB,AB需要计算执行次数,避免过早释放
爱飞的猫 发表于 2024-4-22 17:45
比如  exe里有个  init() 函数,我必须等他init()执行完成,我才可以修改init里地址的数据。


用 detour hook 这个 init 函数,等他执行完后执行你的逻辑,再归还程序控制权。

把你说的思路改造成代码不就成了吗
Light紫星 发表于 2024-4-22 17:59
既然init初始化完成之后就可以hook,那你直接hook init 然后在这之后再进行hook就行了啊
 楼主| zhuayi112 发表于 2024-4-24 10:56
yes2 发表于 2024-4-22 15:28
你需要确定两个时间点,第一个时间点过去之后可以进行修改,第二个时间点过去之后修改会来不及。这段时间就 ...

这样在里面创建个线程 然后判断 flag,用sleep,能不影响程序性能码? 这exe是一个service服务程序。我能单独加个延迟,比如5分钟后启用注入?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 14:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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