المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : تعلم صنع الكراك Learn Make Cracks



musleem
29-06-2003, 03:57 PM
مقدمة:
كراك ماذا تعني ؟
ببساطه هي جعل البرنامج الذي في جهازك يتصرف بالطريقه التي تريدها
انت, وليس كما صنعه صاحب البرناج ( المبرمج).
الأدوات المستخدمة :
1-Win32 Disassembler
يسمح Win32 Disassemble بتحويل البرنامج الى assembly-lang
ويدعم الملفات التاليه:
exe, 386, com, cpl, drv, dll, fon, mpd, ocx, vbx, vbx and sys
يظهر لك البرنامج ب hex editor
يمكنك العثور عليه من هذه المواقع:

1. http://www.wco.com/~micuan/Zips/wdasm893.zip
--------------------------------------------
2. HTTP://CRACKING.HOME.ML.ORG
----------------------------
3. http://www.fortunecity.com/bally/wa...18/w32dsm89.zip
----------------------------------------------------------
4. http://wowsites.com/meiner/w32dsm89.zip
---------------------------------------
2-hacker view
يسمح لك بتحويل البرنامج الى assembly code
يمكنك تغير اي قيمه او كود في البرنامج المراد عمل كراك له.
يظهر لك البرنامج ب 3 انظمه :
ASCII, Hex or assembly mode
يمكنك العثور عليه من خلال المواقع الأتيه:
1. ftp://ftp.cs.tu-berlin.de/pub/msdos...rog/hiew584.zip
------------------------------------------------------------------------------------
2. ftp://ftp.bke.hu/pub/mirrors/sac/utilprog/hiew584.zip
-----------------------------------------------------
3. ftp://ftp.uakom.sk/pub/mirrors/sac/utilprog/hiew584.zip
-------------------------------------------------------
==================================================
=
الخطوات الأساسيه في عمل الكراك:
1-افتح البرنامج الذي تريد عمل كراك له
وقم بدراسه مساره ,مثلا ادخل اي كلمه مرور وراقب كيف يستجيب البرنامج
لكلمه المرور ركز على الكلمات الشائعه مثل
password, registration code,invalid password ...etc
2-افتح البرنامج عن طريق Win32 Disassembler
وأعمل disassemble للبرنامج
3-راقب البرنامج وتتبع مساره وركز على الكلمات التي الشائعه التى
ذكرتها من قبل , راقب مسار وأفهم اسلوب التعامل مع كلمه المرور.
4-حاول ان تفهم اساسيات اللغه نفسها للassembly ,حاول ان تفهم وظيفه JMP
مثلا .
5- افتح البرنامج بواسطه hack veiw
وحدد على سبيل المثال امر JMP الذي تريد تغيره وأبدله بأمر NOP
اي no operation
==================================================
==
registers:
هي عباره عن وحده تخزين متغيره في processor
يقوم processor بأستخدامه لتخزين عمليات رياضيه ومنطقيه .
اكثر استخدامات للregisters هي:
eax, ebx, ecx , edx, edi, esi, esp, ebpax, bx, cx, dx, di, si, sp, bp.
3 انواع لregister:
register:32Bit registers, 16Bit registers and 8Bit registers.
--------------------
Tthe 8Bit registers are: al, ah, bl, bh, cl, ch, dl, dh.
l - means the lower 8 bits of the 16Bit register.
h - means the higher 8 bits of the 16Bit register

بذلك قدمت ملخص بسيط عن الكراك وأدواته الخطوه الثانيه ستكون عمليه :).الجزء الثاني :-
سنقوم بعمل كراك لبرنامج: "Sweet Little Piano"
يمكنك العثور عليه من خلال الموقع: www.ronimusic.com
لنبدأ العمل :-
---------------
الخطوه الأولى :-
افتح البرنامج ماذا تلاحظ وجود "Unregistered Shareware"
اذهب الى help menu ماذا تلاحظ ‍‍؟ .. وجود password option
ادخل اي قيمه لكلمه المرور ماذا تلاحظ ؟.. لا شيء البرنامج ما زال
"Unregistered Shareware" !!
---------------
الخطوه الثانيه :-
اعمل diassemble للبرنامج بأستخدام الأداه التي ذكرتها في الجزء الأول
راقب الكلمات التي نبحث عنها مثل password,passworddialog
registered,unregistered,.
.thanks for registering >>> مهمه
---------------
الخطوه الثالثه:-
قم بفهم مسار العمليات التي تحدث داخل البرنامج وحاول فهم jmp
وتتبع مساره يمكنك ملاحظه الأتي من خلال النظر بعد البحث عن الكلمات
الشائعه والوراد فهم سلوكها .


////////////////////// Code snip ///////////////////////////
ADDRESS MACHINE CODE ASSEMBLER INSTRUCTIONS

* Possible Reference to Dialog: PASSWORDDIALOG, CONTROL_ID:0064, ""
|
:00401715 6A64 push 00000064
:00401717 53 push ebx

* Reference To: USER32.GetDlgItemTextA, Ord:0000h
|
:00401718 E8A5B50000 Call 0040CCC2
:0040171D E822FFFFFF call 00401644
:00401722 85C0 test eax, eax
:00401724 741E je 00401744
:00401726 6A30 push 00000030

* Possible StringData Ref from Data Obj ->"SweetPiano"
|
:00401728 6866D24000 push 0040D266

* Possible StringData Ref from Data Obj ->"Thanks for registering!"
|
:0040172D 68FED14000 push 0040D1FE
:00401732 53 push ebx

////////////////////// Code snip ///////////////////////////





call ShowPasswordDialog يقوم بأظهار رساله تأمرك بأدخال كلمه المرور

call GetEnteredText يقوم بأخذ كلمه المرور التي ادخلتها
test value in eax يقوم بمقارنه القيمه التي ادخلتها بكلمه المرور
الصحيحه المخزنه في register eax
je QuietExit بعد ذلك يقوم بالقفز الى العنوان بعد العنوان الذي
يظهر لك رساله الشكر على تسجيلك من غير ان يقول لك ان كلمه المرور
صحيحه ام لا توضيح اكثر:
je يذهب الى العنوان الأتي >>> 00401744
وعنوان رساله الشكر التي نريد الوصول اليها >>> :0040172D
اذا عنوان رساله الشكر قبل 00401744
اذا سنقوم بتغير قيمه je
ووضع NOP بدل منه
لنذهب الى thanks for register messege
من غير القفز عنها بأستخدام أمر je
---------------------------------------------
الأن القيام بعمل تغيير في البرنامج:-
1-قم بقتح اداه hack view
2-افتح البرنامج من خلاله
3-ابحث عن العنوان الذي نريد تغيره في diassembler
ستجد العنوان في status bar الى الأسفل جهه اليسار
بعد نقر السطر الذي يحتوي على امر je ليظهر
لك العنوان في الأسفل
4-اغلق diassembler وعد الى hack view
اضغط على F5
5- ادخل العنوان الذي اخذته في الخطوه 3
6-اضغط F3 ليمكنك بالكتابه والتغيير في الأوامر التي تريد
تغيرها
7-اضغط على F2 وقم بتغير je الى NOP
8-اذا ظهر سطر أخر قم بوضع NOP مره اخرى ثم
اضغط F9 لعمل تجديد وحفظ التغيرات ثم اضغط F10
9-افتح البرنامج وشوف النتائج !!.


الموضوع كله منقول للفائده

:-) :) :-)