+ -
当前位置:首页 → 问答吧 → 一个DLL内存权限的问题!

一个DLL内存权限的问题!

时间:2011-11-28

来源:互联网

RT
一般的进程可以读写,有些进程不行。

请问大家一般DLL在目标进程 怎么提升内存的权限?
DELPHI 有没有相关的类或者函数?

作者: day_dragon   发布时间: 2011-11-28

先给需要修改的这段内存加上读写属性
VirtualProtectEx :修改内存属性,是winapi ,不是delphi函数
记得修改完后再改为原来的属性

作者: orxor   发布时间: 2011-11-29

VirtualProtectEx,Process,mbi.BaseAddress,8h,PAGE_EXECUTE_READWRITE,addr mbi.Protect 
VirtualProtectEx :修改内存属性 
  hProcess:要修改内存的进程句柄 
  lpAddress:要修改内存的起始地址 
  dwSize:修改内存的字节 
  flNewProtect:修改后的内存属性 
  lpflOldProtect:修改前的内存属性的地址 
返回值:成功非零,失败为零 

Delphi写法: 

var  
dwOldProtect:dword; 
gthwnd:hwnd; 
pid,hws,null:dword; 
begin 
gthwnd:=findwindow(nil,'Tenvi'); 
if gthwnd<>0 then 
GetWindowThreadProcessId(gthwnd,pid); 
hws:=OpenProcess(PROCESS_ALL_ACCESS, False,pid); 
if CheckBox1.Checked=true then 
begin  
VirtualProtectEx(hws, Pointer($0047A80D), 7, PAGE_EXECUTE_READWRITE, @dwOldProtect);

作者: orxor   发布时间: 2011-11-29

热门下载

更多