易截截图软件、单文件、免安装、纯绿色、仅160KB

Delphi API Hook的问题

Delphi(Pascal) code:

{一个修改IAT实现API挂钩的程序,}
library Hook;

uses
Windows,
w_Hook in 'w_Hook.pas';

{$R *.res}

function DllEntry(dwReason:LONGINT):DWORD;STDCALL;
begin
case dwReason of
DLL_PROCESS_ATTACH:
begin
w_Hook.IntallHook;
end;
end;

result := 0;
end;

begin
DllProc := @DllEntry;
DllEntry(DLL_PROCESS_ATTACH);
end.

/////////////////////////////////////////////////////////////////////////


unit w_Hook;

interface
uses
Windows,SysUtils,Classes;
type
PIMAGE_IMPORT_DESCRIPTOR = ^IMAGE_IMPORT_DESCRIPTOR;
IMAGE_IMPORT_DESCRIPTOR = record
OriginalFirstThunk : DWORD;
TimeDateStamp : DWORD;
ForwarderChain : DWORD;
Name : DWORD;
FirstThunk : DWORD;
end;

PIMAGE_THUNK_DATA = ^IMAGE_THUNK_DATA;
IMAGE_THUNK_DATA = record
Function_ : PDWORD;
end;

procedure IntallHook;STDCALL;

implementation

function MyMessageBox(hwnd:CARDINAL;lpmsg:pchar;lpcaption:pchar;nType:UINT):dword;stdcall;
begin
result := MessageBox(hwnd,'HOOK','HOOK',MB_OK);
end;

procedure IntallHook;STDCALL;
var
OpHeader : IMAGE_OPTIONAL_HEADER;
NtHeader : IMAGE_NT_HEADERS;
dosHeader : IMAGE_DOS_HEADER;
ImpHeader : PIMAGE_IMPORT_DESCRIPTOR;
hModule : CARDINAL;
thunk : PIMAGE_THUNK_DAT


相关问答:

ACCESS的自定义函数在delphi里怎么用呢...

我在模块里自定义了一个函数:stradd()

可是在adoquery1.sql.add('select stradd(author) from book');
时提示stradd未定义...

这个问题有什么办法可以解决的吗? 非常感激!


(在A ......

delphi idhttp cookies提交

我先用idhttp 的get方法访问一个网站,网站返回了一段cookie,当我 调用 idhttp post方法的时候,我如何把服务器返回的这段cookies带上 ,先谢谢各位了 
读取 HTTP Response Header
里面有 Set-Cookies 域 ......

delphi中select 的 where后面的id=变量怎么写啊

我的程序中有一段更新某一条记录的语句:
var
id:=integer;
begin
id:=strtoint(edit1.text);//edit1.text的值已经取得;
...
...
...
adoQuery1.sql.add('update 计划清单表 set 计划日 ......

如何在delphi里用代码实现创建VPN连接?

我的代码如下,怎么总提示连不成功:
type
  GUID = record //申明调用RAS(创建VPN连接用)函数所需结构体
  Data1: integer;
  Data2: Shortint;
  Data3: Shortint;
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号