首页
社区
课程
招聘
[求助]如何在一个进程中动态修改这个进程所调用的DLL的代码段?
发表于: 2008-6-25 23:56 4480

[求助]如何在一个进程中动态修改这个进程所调用的DLL的代码段?

2008-6-25 23:56
4480
假设有个calldll.exe,调用了SimpleDll.dll
我想在calldll.exe运行时修改SimpleDll.dll在内存中的代码该如何做?

我用OD跟踪出我想修改的字节的虚拟地址是1000100Fh
我试着直接用mov语句写,不行
然后我用VirtualQuery查看1000100Fh发现Protect是PAGE_EXECUTE_READ(0x20)
我尝试用VirtualProtect改写失败...

请问高手如何达到我的目的...

多谢!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 50161
活跃值: (20625)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
简单的办法,用PE工具直接将SimpleDll.dll的代码区块设置为可读写

另外,DLL注意重定位问题,直接用1000100Fh访问不妥,你要想办法得到其加载后的基址,用基址+100Fh访问,关于基址可以用GetModuleHandle。
2008-6-26 09:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢楼上老大的回复,我还想知道,像OD它是如何做到直接在内存中改写SimpleDll.dll的代码的?
2008-6-26 14:50
0
游客
登录 | 注册 方可回帖
返回
//