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
相关问答:
我在模块里自定义了一个函数:stradd()
可是在adoquery1.sql.add('select stradd(author) from book');
时提示stradd未定义...
这个问题有什么办法可以解决的吗? 非常感激!
(在A ......
我先用idhttp 的get方法访问一个网站,网站返回了一段cookie,当我 调用 idhttp post方法的时候,我如何把服务器返回的这段cookies带上 ,先谢谢各位了
读取 HTTP Response Header
里面有 Set-Cookies 域 ......
我的程序中有一段更新某一条记录的语句:
var
id:=integer;
begin
id:=strtoint(edit1.text);//edit1.text的值已经取得;
...
...
...
adoQuery1.sql.add('update 计划清单表 set 计划日 ......
我的代码如下,怎么总提示连不成功:
type
GUID = record //申明调用RAS(创建VPN连接用)函数所需结构体
Data1: integer;
Data2: Shortint;
Data3: Shortint;
......