Dll写内存中的自己占用的Memory,怎么可以实现呢? 我想在我的Dll中访问Dll自己在内存中的空间,怎么实现呢WriteProcessMemory我试过了,总是返回0,不成功 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 什么意思?dll本来就有自己的内存空间 内存有保护属性的.比如PAGE_READ属性就不能写.先用VirtualProtect修改属性.再写. 我想在DLL中写DLL自己占用的某个空间,比如我在DLL中先定义了一个空函数,然后在运行的时候再补全它我这样操作的:OpenProcessVirtualProtectWriteProtectMemory可以VirtualProtct和WriteProtectMemory都返回的0,执行不成功请问我还需要做什么吗? SMC好像是游戏什么的吧我不是做这个的,而是别的用途,呵呵谢谢大家的关注! 各位高手帮忙啊我的代码是这样的: cddid = GetCurrentThreadId(); //我想获得DLL自己的ID,这样对吗,我已经知道了本DLL的句柄,还有其他的方法获得ID吗 m_handle = OpenProcess(PROCESS_VM_WRITE | PROCESS_ALL_ACCESS ,FALSE,cddid); //OpenProcess总是不成功,返回错误码87,参数错误,怎么改啊? VirtualQuery(ChangeAddr_P,&mbi,sizeof(MEMORY_BASIC_INFORMATION)); sret = VirtualProtect(mbi.BaseAddress,mbi.RegionSize,PAGE_READWRITE,&mbi.Protect); sret = WriteProcessMemory(hInst,ChangeAddr_P,buffx,sizeof(buffx),returnp); 什么意思?你在dll中声明BYTE data{100};不就是自己的吗。再弄个函数操作它,供别人调用 我想实现这个功能:在DLL执行时动态改变一个函数的功能,DLL执行时,DLL文件应该是不可以访问的吧我想在DLL文件调入内存时,改变内存中DLL中某个函数的代码,让它实现其他的功能也就是说在DLL执行时改变内存中自己的执行代码,应该调用哪些API呢? 请教vc中怎么可以识别到插入的设备在哪个USB端口? vpn拨号? 纯 win32 List Control 实现 基于TCP建立的套接字传输数据问题 VS2005利用SHFILEOPSTRUCT结构复制文件出错? 如何隐藏cpropertysheet中的“应用”“帮助”按钮?? 能给个线程传递参数的例子嘛 怎样从UDP传输的SOCKET 中获取远方的IP地址 怎么最快把一个VC++应用程序转成ACTIVEX控件? Release 的问题 GDIplus SaveAdd Win32Error 4K与6K,各位朋友,请问大家有何意见?
dll本来就有自己的内存空间
先用VirtualProtect修改属性.再写.
我这样操作的:
OpenProcess
VirtualProtect
WriteProtectMemory
可以VirtualProtct和WriteProtectMemory都返回的0,执行不成功
请问我还需要做什么吗?
我不是做这个的,而是别的用途,呵呵
谢谢大家的关注!
我的代码是这样的:
cddid = GetCurrentThreadId(); //我想获得DLL自己的ID,这样对吗,我已经知道了本DLL的句柄,还有其他的方法获得ID吗
m_handle = OpenProcess(PROCESS_VM_WRITE | PROCESS_ALL_ACCESS ,FALSE,cddid);
//OpenProcess总是不成功,返回错误码87,参数错误,怎么改啊? VirtualQuery(ChangeAddr_P,&mbi,sizeof(MEMORY_BASIC_INFORMATION));
sret = VirtualProtect(mbi.BaseAddress,mbi.RegionSize,PAGE_READWRITE,&mbi.Protect);
sret = WriteProcessMemory(hInst,ChangeAddr_P,buffx,sizeof(buffx),returnp);
你在dll中声明BYTE data{100};
不就是自己的吗。再弄个函数操作它,供别人调用
我想在DLL文件调入内存时,改变内存中DLL中某个函数的代码,让它实现其他的功能
也就是说在DLL执行时改变内存中自己的执行代码,应该调用哪些API呢?