看流星社区

 找回密码
 注册账号
查看: 2660|回复: 1

[Delphi] delphi代码注入的问题。。。望高手解答下

[复制链接]

该用户从未签到

发表于 2011-4-2 09:42:54 | 显示全部楼层 |阅读模式
代码注入目标进程后,该怎么运行代码?
比如跨进程调用目标进程的一个CALL,先要注入代码,然后怎么办?
////////////////
var  
{要注入线程的窗口句柄和临时存放的句柄}  
   TmpHandle: THandle;  
   ThreadID: Thandle;  
   ThreadAdd:pointer;  
   WriteCount: DWORD;  
begin  
   ThreadAdd := VirtualAllocEx(Hid, nil, 128, MEM_COMMIT, PAGE_EXECUTE_READWRITE);//在目标进程建立内存空间  
  WriteProcessMemory(Hid, ThreadAdd,FunName, 128, WriteCount);//将要注入的过程写到上面建立的内存空间中  
  TmpHandle := CreateRemoteThread(Hid, nil, 0, ThreadAdd, nil, CREATE_SUSPENDED, ThreadID);//获得注入后过程的句柄ID  
   result:=TmpHandle;//返回句柄ID  
end;
////////////////
result:=TmpHandle;    这个隐含变量返回哪里?

该用户从未签到

发表于 2011-4-2 09:43:35 | 显示全部楼层
这个没必要返回吧,当一个过程调用,这里有个例子,我是菜鸟

  1. procedure InjectFunc(N_Pid: THandle; FunName: Pointer; Param: Pointer; ParamSize:DWORD);stdcall;
  2. var
  3.   FunNameaddr: pointer; //申请函数内存地址
  4.   Paramaddr: pointer; //申请参数内存地址
  5.   NumberOfByte: Dword; //辅助返回值
  6.   TempHandle, phandle: Thandle; //远程句
  7. begin
  8.   phandle := OpenProcess(PROCESS_ALL_ACCESS, False, N_Pid);
  9.     //通过进程ID取得进程句柄
  10.   FunNameaddr := VirtualAllocEx(phandle, nil, 2048, MEM_COMMIT,
  11.     PAGE_EXECUTE_READWRITE); //申请内
  12.   Paramaddr := VirtualAllocEx(phandle, nil, ParamSize, MEM_COMMIT,
  13.     PAGE_EXECUTE_READWRITE); //写内存
  14.   WriteProcessMemory(phandle, FunNameaddr, FunName, 2048, NumberOfByte);
  15.   WriteProcessMemory(phandle, Paramaddr, Param, ParamSize, NumberOfByte);
  16.   TempHandle := CreateRemoteThread(phandle, nil, 0, FunNameaddr, Paramaddr, 0,
  17.     NumberOfByte); //远程运行
  18.   WaitForSingleObject(TempHandle, INFINITE); //等待执行完成
  19.   VirtualFreeEx(phandle, FunNameaddr, 2048, MEM_RELEASE); //释放申请有内存
  20.   VirtualFreeEx(phandle, Paramaddr, ParamSize, MEM_RELEASE);
  21.   CloseHandle(TempHandle); //释放远程句柄
  22.   CloseHandle(phandle);    //关闭进程句柄
  23. end;

复制代码
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-18 22:04

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表