المشاركات : 632
المواضيع 66
:
: 6
الإنتساب : Jul 2010
مجرد فضول ... لمادا تحاول تغيير نوافد جميع الألعاب >> أعتقد أن الكل يفضل وضع Full Screen
المشاركات : 306
المواضيع 45
:
: 0
الإنتساب : Jul 2012
هههههههه ... فعلا كان لدي علامة تعجب كبيرة نوعاً ما P:
كنت اقول بنفسي انك لم تلحظ اني اعمل ذلك مع جميع الالعاب في البداية لم اوضح بشكل ميااشر
قلت :
إقتباس :والآن إذا اردت عمل برنامج يقوم بتغيير نمط نوافذ الألعاب من Full window mode إلى
Window mode ... كيف افعل ذلك ؟؟
وفي المشاركات التي تليها ذكرت ذلك ربما انك اعتمدت المشااركة الاولى  ..
على كل حال اعتذر على عدم التوضيح بشكل جيد
------
إقتباس : مجرد فضول ... لمادا تحاول تغيير نوافد جميع الألعاب >> أعتقد أن الكل يفضل وضع Full Screen
نعم صحيح ... تعرف اني اعمل على اشياء مثل Game Cheating لذلك نسبة كبيرة من الالعاب اوجه صعوبة في التعامل
معها عندما تكون Full Window ... ايضاً يوجد بعض الالعاب تقوم بتعطيل alt+Tab ساتعامل معها جميعا في برنامج واحد
واضعه على الشبكة العنكبوتية لكي يستفيد الجميع .. خصوصاً من يعانون من مثل هذه المشكلة 
------
جاري الإطالع على المكتبة .... كنت اضنك ستختار مكتبة uallHook ... لكني ساعمل معك على هذه المكتبة بما اني جديد بالهوك
المشاركات : 632
المواضيع 66
:
: 6
الإنتساب : Jul 2010
هههههههه جميل جدا ... فكرة جميلة لبرنامجك
آسف فأنا لم أطلع على مشروعك المرفق لأنني حاليا أستخدم النت بووك ..وهو بطيئ جدااا (لدلك لست منصب دلفي عليه)
uallHook مكتبة مجانية كما أعلم ,لكن ال documentation الخاصة ب mad أفضل ...
سأعمل بعد انتهاء الاختبارات (لان الاختبارات على الأبواب) على كلاس تساعد في عمل الهوووك Global Hook
المشاركات : 306
المواضيع 45
:
: 0
الإنتساب : Jul 2012
السلام عليكم ..
بعد ما قرات ورأتي مثال عن الهوك مطبق على "TerminateProcess" وعندما بدات احاول التطبيق لم استطع استعمال madCodeHook
لابد من شرائها ...
لذلك سأحاول مع uallHook وإن استصعب علي امر سأسئلك
المشاركات : 358
المواضيع 34
:
: 2
الإنتساب : Nov 2008
كود : madCodeHook
لابد من شرائها
الهندسة العكسية اخي الا ادا كنت ستربح من خلال عملك او يتوفر لك المال
لا اله الا أنت سبحانك اني كنت من الضالمين
المشاركات : 306
المواضيع 45
:
: 0
الإنتساب : Jul 2012
للمستقبل  في الحقيقة لا احب استعمال مكتبات خارجية احب ان اصنع المكتبات بنفسي ... لكن بما ان النسئلة تريد وقت وان اتعامل مع الهوك
سأستعين بمكتبة خارجية
بالنسبة لـ 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:
المشاركات : 306
المواضيع 45
:
: 0
الإنتساب : Jul 2012
الحمد لله ... اخيراً استطعت عمل هووك لدالة CreateWindowEx و CreateWindowExA و CreateWindowExW
هذا هو الكود  ... القاكم في إستفساار آخر P:
PHP كود : library Hook;
uses SysUtils, Classes, uallHook, Windows, Dialogs;
var CreateWindowExNext,PtrCreateWindowEx : function (dwExStyle: DWORD; lpClassName: PChar; lpWindowName: PChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;stdcall;
CreateWindowExANext,PtrCreateWindowExA : function (dwExStyle: DWORD; lpClassName: PAnsiChar; lpWindowName: PAnsiChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;stdcall;
CreateWindowExWNext,PtrCreateWindowExW : function (dwExStyle: DWORD; lpClassName: PWideChar; lpWindowName: PWideChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;stdcall;
function HookCreateWindowEx(dwExStyle: DWORD; lpClassName: PChar; lpWindowName: PChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;stdcall; begin Result := CreateWindowExNext(dwExStyle,lpClassName,lpWindowName,0,X,Y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam); end;
function HookCreateWindowExA(dwExStyle: DWORD; lpClassName: PAnsiChar; lpWindowName: PAnsiChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;stdcall; begin Result := CreateWindowExANext(dwExStyle,lpClassName,lpWindowName,0,X,Y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam); end;
function HookCreateWindowExW(dwExStyle: DWORD; lpClassName: PWideChar; lpWindowName: PWideChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;stdcall; begin Result := CreateWindowExWNext(dwExStyle,lpClassName,lpWindowName,0,X,Y,500,300,hWndParent,hMenu,hInstance,lpParam); end;
begin PtrCreateWindowEx := GetProcAddress(GetModuleHandle('user32'),'CreateWindowEx'); HookCode(@PtrCreateWindowEx,@HookCreateWindowEx,@CreateWindowExNext);
PtrCreateWindowExA := GetProcAddress(GetModuleHandle('user32'),'CreateWindowExA'); HookCode(@PtrCreateWindowExA,@HookCreateWindowExA,@CreateWindowExANext);
PtrCreateWindowExW := GetProcAddress(GetModuleHandle('user32'),'CreateWindowExW'); HookCode(@PtrCreateWindowExW,@HookCreateWindowExW,@CreateWindowExWNext); end.
شكراً لك استااذ SMP3 على المسااعدة ..
المشاركات : 632
المواضيع 66
:
: 6
الإنتساب : Jul 2010
عمل رائع أخي ALmuhhnad ..في انتظار البرنامج النهائي
هل نجحت في ترجمة uallHook الى دلفي XE3 ?
المشاركات : 306
المواضيع 45
:
: 0
الإنتساب : Jul 2012
قمت بالذي اعرفه 
واستطعت عمل هوك بـ D XE3 من خلال uallHook
ولم يحصل اي خطاً ... لكن هذه اول مرة اقوم بترجمة كود واعتقد انه يوجد بعض الأخطاء ..
لاني حاولت عمل حاقن بنفس المكود الذي عملته في Delphi7 مع D XE3 ولم ينجح الامر
واضن اني اعرف ما السبب ... وهو اني لا اعرف كيف اتعامل مع PAinsChar و PWideChar .. اعتقد هذا ما تبقا 
اذا اردت ان ارفقها لك وتكمل المشوار
|