核心编程上说的挂接api的方法,我试了怎么不行?哪位有成功经验的介绍一下! 按照核心编程上面的代码,ReplaceIATEntryInOneMod函数在WriteProcessMemory总是无法改写内存,从而挂接失败,,,这是怎么回事情? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对当前进程,GetCurrentProcess怎么会不能写呢? 0x000003e6内存分配访问无效。我是在一个dll里面挂接另一个dll里面的CreateDialogIndirectParamA。好在对话框显示前拦截,加入些额外的东西。但是当WriteProcessMemory时候,总是报上面的那个错误。 Did you have a proper process handle - returned from OpenProcess()? Was theaddress you were reading/writing commited in the target process?call GetLastError for more details about here. 我是用GetCurrentProcess()按照msdn这该是有PROCESS_ALL_ACCESS权限的。 这是为什么啊,,,我另外写了个简单的测试又没有问题。难道这个dll进行了什么额外的处理,我不能写它的引入区? 借楼主的宝地也提一个问题,我在做API挂接时。发现读出来的PIMAGE_THUNK_DATA并不是一个真正的PIMAGE_THUNK_DATA指针,开始以为是程序写错了。后来完全照《核心》上的例程来写,结果还是不对,是否PE文件的格式变了? 楼主能不能把你成功和例程给我发一个。[email protected]先谢了。 faint,,你还跑来问我。就是照般《核心》上面的代码,把参数传进去就ok了。我也没有历程,我随便试了挂接两个dll都可以成功。但是,我要改写的这个dll却不能成功。好吧,我把我的测试程序发给你 我也曾经遇到过这样的问题,当你找到了输入函数的地址要改写它时,必须修改页面的保护属性,否则就可能写不进去。像这样: //ppfn是一个函数指针,指向的就是你要修改的函数的地址:DWORD dwOldProtect;VirtualProtect(ppfn,sizeof(pfnNew),PAGE_READWRITE,&dwOldProtect);WriteProcessMemory(GetCurrentProcess(), ppfn, &pfnNew,sizeof(pfnNew), NULL);VirtualProtect(ppfn,sizeof(pfnNew),dwOldProtect,0); 呀呀,楼上的老兄怎么不早来。搞得我昨天搞了四五个小时偶然看到VirtualProtect才搞定他。你早点来,我就不用查资料这么辛苦了分数给你大头 webber84(***闭关修炼中***)说的对!!!!:) CString& 问题 一个MM考我的问题?是什么意思? 关于DestroyWindow函数的疑惑,清高手答复, 紧急:tab control控件的问题!!! 关于多线程 各位大虾,看看这是什么错误! 这个C++程序是什么意思的啊,按位异或有什么作用? MFC程序在自定义对话框过程函数中触发一个断点问题 怪怪,Microsoft怎么了? MSDN 那位大虾能告诉我vc++里编译使出现内部编译错误怎么解决 ☆★☆想发布软件,但自己没有web站点,谁能提供一席之地?
address you were reading/writing commited in the target process?
call GetLastError for more details about here.
[email protected]
先谢了。
就是照般《核心》上面的代码,把参数传进去就ok了。我也没有历程,我随便试了挂接两个dll都可以成功。但是,我要改写的这个dll却不能成功。好吧,我把我的测试程序发给你
DWORD dwOldProtect;
VirtualProtect(ppfn,sizeof(pfnNew),PAGE_READWRITE,&dwOldProtect);
WriteProcessMemory(GetCurrentProcess(), ppfn, &pfnNew,sizeof(pfnNew), NULL);
VirtualProtect(ppfn,sizeof(pfnNew),dwOldProtect,0);
:)