RT
一般的进程可以读写,有些进程不行。请问大家一般DLL在目标进程 怎么提升内存的权限?
DELPHI 有没有相关的类或者函数?

解决方案 »

  1.   

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

  2.   

    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);