28-01-2013, 09:53 PM
للمستقبل
في الحقيقة لا احب استعمال مكتبات خارجية احب ان اصنع المكتبات بنفسي ... لكن بما ان النسئلة تريد وقت وان اتعامل مع الهوك
سأستعين بمكتبة خارجية
بالنسبة لـ uallHook استطعت بحمد الله عمل هوك لدالة MessagBoxA بسماعدة الاستاذ Coldzer0 جزاه الله خير
وايضاً عمل حاقن ..
هذا السروس كود للهوك :
جربت الهوك يعمل بنجاح ..
وهذا الحااقن
ملاحظة الهوك مبرمج بـ D XE3 و الحاقن بـ Delphi7
لاني حالياً اقوم بترجمة مكتبات uall إلى D XE3
تظهر لي بعض المشااكل عندما اعمل هوك لـ الدالة CreateWindowEx ... سأحاول اكثر من مره معها
وإن لم استطع سارجع هنا P:
في الحقيقة لا احب استعمال مكتبات خارجية احب ان اصنع المكتبات بنفسي ... لكن بما ان النسئلة تريد وقت وان اتعامل مع الهوكسأستعين بمكتبة خارجية

بالنسبة لـ uallHook استطعت بحمد الله عمل هوك لدالة MessagBoxA بسماعدة الاستاذ Coldzer0 جزاه الله خير
وايضاً عمل حاقن ..
هذا السروس كود للهوك :
PHP كود :
library Project1;
uses
Winapi.Windows, uallHook;
var
MessageBoxNext,PointerMsgOrg : function (hWnd: HWND; lpText, lpCaption: LPCWSTR; uType: UINT): Integer; stdcall;
function MyHookMsg(hWnd: HWND; lpText, lpCaption: LPCWSTR; uType: UINT): Integer; stdcall;
begin
Result := MessageBoxNext(hWnd, '5', lpCaption, MB_ICONHAND);
end;
begin
PointerMsgOrg := GetProcAddress(GetModuleHandle('user32'),PAnsiChar('MessageBoxA'));
HookCode(@PointerMsgOrg,@MyHookMsg,@MessageBoxNext);
end.
جربت الهوك يعمل بنجاح ..
وهذا الحااقن
PHP كود :
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils,
uallHook,
Windows;
var
sInfo : TStartupInfo;
pInfo : TProcessInformation;
begin
ZeroMemory(@sInfo, SizeOf(TStartupInfo));
sInfo.cb := SizeOf(TStartupInfo);
CreateProcess('Test.exe', nil, nil, nil, False, 4, nil, nil, sInfo, pInfo);
InjectLibrary(pInfo.dwProcessId,'Project1.dll');
ResumeThread(pInfo.hThread);
end.
ملاحظة الهوك مبرمج بـ D XE3 و الحاقن بـ Delphi7
لاني حالياً اقوم بترجمة مكتبات uall إلى D XE3

تظهر لي بعض المشااكل عندما اعمل هوك لـ الدالة CreateWindowEx ... سأحاول اكثر من مره معها
وإن لم استطع سارجع هنا P:

