PDA

View Full Version : این dll به هیچ صراطی مستقیم نیست !!!!



persianboy
شنبه 07 آذر 1383, 19:08 عصر
سلام برو بچس !
من واسه "api hooking" باید این dll رو تو حافظه load کنم .
ولی اگه خیلی خوش شانس باشم هر 40 بار یک بار فراخونی میشه .
dll هم اینه :

library APIHook;

uses Windows, madRemote, madCodeHook, madStrings;

var TerminateProcessNext : function (processHandle, exitCode: dword) : bool; stdcall; //this is the original function

function ThisIsOurProcess(processHandle: dword) : boolean; //just a function to check is this is our process
var pid : dword;
arrCh : array [0..MAX_PATH] of char;
begin
pid := ProcessHandleToId(processHandle);
result := (pid <> 0) and ProcessIdToFileName(pid, arrCh) and
(PosText('OurApplication.exe', arrCh) > 0);
end;

function TerminateProcessCallback(processHandle, exitCode: dword) : bool; stdcall;// the callback function
begin
if ThisIsOurProcess(processHandle) then begin
result := false;
SetLastError(ERROR_ACCESS_DENIED); //if this is our process, then set an error
end else
result := TerminateProcessNext(processHandle, exitCode);//else terminate the process
end;

begin
HookAPI('kernel32.dll', 'TerminateProcess', @TerminateProcessCallback, @TerminateProcessNext); //hook the API
end.

dcu های مورد نیاز توی www.madshi.net هست .
یادتون نره "our application" رو با اسمه برنامتون عوض کنید .
ازش هم این طوری توی dpr استفاده می کنم :

InjectLibrary(ALL_SESSIONS or SYSTEM_PROCESSES, 'APIHook.dll');

کارش هم اینه که نمیذاره کاربر از توی processes list ویندوز 2000وxp برنامه رو
ببنده .
هر کی تونست بگه چه جوری load میشه کلی حال به ما و یه سری مبتدی داده !

مهدی کرامتی
شنبه 07 آذر 1383, 23:41 عصر
هر کی تونست بگه چه جوری load میشه کلی حال به ما و یه سری مبتدی داده !
سوالتون واضح نیست.

لطفا دقیقا توضیح بدهید که دقیقا میخواهید چکار کنید و مشکل تان چیست.

MiRHaDi
یک شنبه 08 آذر 1383, 00:41 صبح
سلام
میخوای Hook بسازی که نشه بستش ؟
من برات میبندم برنامه رو ! اینقدر روش هست !‌همین یکی که نیست ! بی خیال شو
بای

persianboy
یک شنبه 08 آذر 1383, 20:52 عصر
همه که مثل شما استاد نیستن !!!؟؟؟
این برنامه رو که برات می ذارم ببندش (البته قبل از hook کردن یه سوال ازت می کنه
ببندمش یا نه . اگه تونستی بدون زدن yes ببندیش(البته با یه تغییر کوچولو می تونم
اون سوال هم از بین ببرم اما دلفیم تو xp درست کار نمیکنه))فایلش rar ه .
در مورد سوال شما آقای delphi assistant : یه برنامه بسازید و اون خطی که
گفتم رو بذارید تو dpr ش . اون dll رو هم بذارید پیش exe ش .باید کار کنه دیگه .
ولی شانسی اگر یه بار تو 20 بار کار کنه . اونم بخاطر فراخونی نشدنشه .
اگه باز منظور منو متوجه نشدید بگید تا بیشتر توضیح بدم .

مهدی کرامتی
دوشنبه 09 آذر 1383, 02:33 صبح
من بدون مشکل همه خطوط فوق را اجرا کردم. مشکل از سیستم شماست.

persianboy
چهارشنبه 11 آذر 1383, 20:23 عصر
جناب delphi assistant مطمئنید که نمیشه بستش ؟؟؟؟
اگه درست کار میکنه لطفا exe و Sourse شو واسه من بفرستید .
تشکر !!

مهدی کرامتی
چهارشنبه 11 آذر 1383, 20:57 عصر
Exe و سورس مربوطه بصورت یک فایل demo.zip از سایت مربوطه قابل دانلود است.

persianboy
چهارشنبه 11 آذر 1383, 21:36 عصر
منظور شما demo خود madcollection بود ؟؟؟؟؟؟؟
ببخشید . من فکر کردم از dll خودم استفاده کردید !
من اونو دیده بودم ولی هیچی ازش سر در نمی آرم .
اگه شما بتونید همون Source رو تو یه برنامه عادی(مثل demo نباشه(component اش یکی یکی تعریف شده نباشه )) استفاده کنید و attach کنید ممنون میشم .

مهدی کرامتی
پنج شنبه 12 آذر 1383, 02:32 صبح
اون دمو خیلی ساده و قابل فهم بود. بیشتر روش مطالعه کن.

persianboy
پنج شنبه 12 آذر 1383, 11:39 صبح
اون demo اصلا برای من قابل هضم نیست . خودمو کشتم ولی نتونستم ازش
تو برنامه خودم استفاده کنم . آخه من تازه کارم .
اگه نوشتن Source جدید برا شما وقت گیره بهتره بی خیالش شیم و این موضوع
رو ببندیم .
تشکر از همگی .