![]() |
|
كيف إكتشاف وجود منقح ؟ - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : كيف إكتشاف وجود منقح ؟ (/showthread.php?tid=4961) الصفحات:
1
2
|
كيف إكتشاف وجود منقح ؟ - ALmuhhnad - 04-03-2013 إقتباس :العفو اخي تفضل آخي M_Mori2010 ... لديك 4 مراحل تنهيها وستكون إن شاء الله ... قد تعلمت الكثير من امور الهندسية العكسية كود : [الطبعة الأولى من كتاب الفريق] مدخل إلى الهندسة العكسية :
http://www.at4re.com/f/showthread.php?2229
[الطبعة الثانية من كتاب الفريق] الهندسة العكسية : خطوة إلى الأمام :
http://www.at4re.com/f/showthread.php?6557
مشوار الألف ميل يبدأ بخطوة .. : ( موضوع مهم جداً جداً جداً )
http://www.at4re.com/f/showthread.php?4731بعد ان تنهي المصادر السابقة ... ستكون لديك مبادئ الـ هندسة العكسية ... وبعد ذلك تتوجه للممارسة من خلال الدروس ... والتجارب ..اتيت لك ببعض الدروس الشيقة : سلسله دروس تساعدك على الممارسة والتائقلم مع بئية الهندسية العكسية ![]() كود : سلسلة دروس الهندسة العكسية للمبتدئين - المجلد الاول :
http://aoreteam.com/vb/showthread.php?tid=6247سلسلة دروس الفك اليدوي ... كود : سلسلة دروس الفك اليدوي - المجلد الاول :
http://aoreteam.com/vb/showthread.php?tid=2748مكتبة دروس دسمة ![]() كود : فهرس دروس الهندسة العكسية :
http://aoreteam.com/vb/showthread.php?tid=3177قم بتحميل جميع الروابط السابقة ... كي لا تضيع من يدك او تحذف لا قدر الله... فهي كنز لا يفوت ... ولن تجد مثل إلا القليل ![]() اضن اني قد لخصت لك الكثير ... لذلك لا تضيع جهدي هباً وانطلق في بحر الهندسية العكسية P: اتمنى اني افدتك وافدت غيرك والسلام عليكم ورحمة الله وبركاتة كيف إكتشاف وجود منقح ؟ - SMP3 - 04-03-2013 هناك العديد من الحيل لاكتشاف المنقح هذه احدى الطرق : PHP كود : function IsDebugger () :BOOL ;assembler;موقع يحتوي على عدة أفكار يمكن تطبيقها في anti_reversing ![]() كود : http://www.openrce.org/reference_library/anti_reversingكيف إكتشاف وجود منقح ؟ - virtual - 04-03-2013 لكن من سيحاول كسر برنامجك سيكسره وهو مغلوق يعني كل هذه التحققات (checks) من وجود المنقح لن تفيد . ثم خذها مني . الهاكرز يهتمو فقط بالبرامج ذات الشهرة الكبيرة و التي تقدم خدمات مميزة . برنامج مثل photoshop هم يعلمون في Adobe ان 60% من المستخدمين لديهم نسخ مقرصنة . ولم يفعلو شىء سوى اتباع الطريقة التقليدية serial N . يعني شركة بحجم Adobe تعجز عن ابتكار طريقة جديدة للحماية . go open source and ask for donation
كيف إكتشاف وجود منقح ؟ - ALmuhhnad - 04-03-2013 الحمد لله استطعت عمل Dll تعمل Hook لبعض الدوال التي تكتشف المنقح : Hook Anti Debuggers - Source Code http://www.delphi4arab.net/forum/showthread.php?p=40010#post40010 جزاكم الله خير جميعاً كيف إكتشاف وجود منقح ؟ - M_Mori2010 - 04-03-2013 شكراً لك اخي ALmuhhnad وكتبها الله في ميزان حسناتك كيف إكتشاف وجود منقح ؟ - M_Mori2010 - 04-03-2013 إقتباس :ثم خذها مني . الهاكرز يهتمو فقط بالبرامج ذات الشهرة الكبيرة و التي تقدم خدمات مميزة .أخي الكريم هل برنامجي شهير لدرجة ان بعض الهكرات العراقيين تخطو الحماية وكسرو البرنامج وعبثو وبه ؟ ومع ذلك انا ضد ان اقوم بتشفير برنامجي وذلك خوفاً من مضادات الفايروس :> حيث ان التشفير = خلل في بعض المضادات وحتى الان برنامجي بدون تشفير وقمت بحمايته بالأكواد :d بطرق عديدة واولها بمقارنة الرتبة .. كيف إكتشاف وجود منقح ؟ - phpbb3 - 05-03-2013 طريه اخرى كود : TUnicode_String = packed record
Length,
MaximumLength:Word;
Buffer:PWideChar;
end;
Tobject_Type_Tnformation = packed record
TypeName:TUnicode_String;
TotalNumberOfHandles,
TotalNumberOfObjects:LongWord;
end;
PObject_All_Information = ^TObject_All_Information;
TObject_All_Information = packed record
NumberOfObjects:LongWord;
ObjectTypeInformation:array[0..0] of Tobject_Type_Tnformation;
end;
function ZwQueryObject(Handle:LongWord;
ObjectInformationClass:LongWord;
ObjectInformation:Pointer;
ObjectInformationLength:LongWord;
var ReturnLength:LongInt):LongWord stdcall;
function GetDebugger:LongBool;
var size:LongWord;
pMem:PObject_All_Information;
ReturnLength,length:LongInt;
TypeName:PWideChar;
tmpMem:Pointer;
begin //
size:=0;
Result := False;
ReturnLength:=0;
repeat
Inc(size,ReturnLength);
pMem:=VirtualAlloc(nil,size,MEM_COMMIT,PAGE_READWRITE);
tmpMem := pMem;
if(ZwQueryObject(0,3,pMem,size,ReturnLength) < 0)then
begin
VirtualFree(pMem,0,MEM_RELEASE);
pMem := nil;
end
else
Break;
until False;
if pMem <> nil then
begin
TypeName:='';
while TypeName <> nil do
begin
length := pMem.ObjectTypeInformation[0].TypeName.Length;
TypeName := pmem.ObjectTypeInformation[0].TypeName.Buffer;
if length = 22 then
begin
if TypeName = 'DebugObject' then
begin
if pmem.ObjectTypeInformation[0].TotalNumberOfObjects > 0 then
begin
Result := True;
Break;
end
else
Break;
end;
end;
pMem:= Pointer(LongInt(TypeName)+length and -4);
end;
VirtualFree(tmpMem,0,MEM_RELEASE);
end;
end;
function ZwQueryObject;external 'ntdll.dll'; |