首页
社区
课程
招聘
[求助]用DebugApi调试,更换函数参数地址不成功!求助
发表于: 2016-6-11 15:21 5562

[求助]用DebugApi调试,更换函数参数地址不成功!求助

2016-6-11 15:21
5562
用DebugApi跟踪一个函数,这个函数第二个参数是字符串指针,目的是替换这个指针,用自己的字符串取代,于是做了如下尝试:
//在远程进程的内存地址空间分配参数地址空间
paramsCall = (char *) VirtualAllocEx(hMyProcess, NULL, newLen, MEM_COMMIT,PAGE_READWRITE);
//写入自己的字符串
VirtualProtectEx(hMyProcess,LPVOID)paramsCall,newLen,PAGE_READWRITE,&dwOldFlag);WriteProcessMemory(hMyProcess,LPVOID)paramsCall,&tempAllBuff,newLen,&dwHasRead)
VirtualProtectEx(hMyProcess,(LPVOID)paramsCall,newLen,dwOldFlag,&dwOldFlag);

//(pMem+index)是这个参数的地址
VirtualProtectEx(hMyProcess,(LPVOID)pMem+index),4,PAGE_READWRITE,&dwOldFlag);   //更改内存区域保护属性  
WriteProcessMemory(hMyProcess,(LPVOID)(pMem+index),&adr,4,&dwHasRead); //向进程内存中写入数据  
VirtualProtectEx(hMyProcess,(LPVOID)(pMem+index),4,dwOldFlag,&dwOldFlag); //将内存保护属性改回初始状态

这样操作后,我再去读取(pMem+index),地址确实换掉了,但是程序运行时似乎并没有发送我的内存块字符串,还是发送的原来的内存块。。。希望能指点一下

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 4571
活跃值: (5896)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
FlushMemory
2016-6-12 00:23
0
雪    币: 7752
活跃值: (4852)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
关注……
2016-6-12 15:21
0
游客
登录 | 注册 方可回帖
返回