fredoo800
2-2-2009, 02:30 PM
آلسلآم عليكم ورحمه آلله وبركآته
[ ليست آنآ آلكآتب لكن آنآ آلبآحث http://www.traidnt.net/vb/images/smilies/smoke1.gif]
هذا الموضوع الشيق وجدته فى احد المنتديات وعجبنى
فحبيت اشارككم الفائده فيه
الكراك عالم ملىء بالإثارة والمتعة وسوف تجدون هنا ولأول مرة كل ما يخص الكراك إن شاء الله
أولا : ما هو الكراك
الكراك هو كسر الحماية سواء كانت هذه الحماية على البرامج أو الألعاب أو المواقع وتنقسم الحماية إلى خمس أنواع :-
النوع الأول:- Time Trial Check وهذه توجد في البرامج التجريبية التي تحتاج إلى شراء بعد إنتهاء مدتها وغالباً تكون هذه المدة
30 يوم.
النوع الثاني:- Function Disabled Check وهذه الحماية تعمل على عدم قابلية الوظائف المهمة فى البرنامج مثل Save أو Print
أو بعض الوظائف الأخرى المهمة.
النوع الثالث:- Hardware Key Check عن طريق شيء أسمة dongle وما هو الdongle هو عبارة عن مزيج من حماية
الSoftware والHardware وقد تكون هذه الحماية عن طريق سدادة صغيرة توصل عادة إلى Parallel Port أو إلى Serial
Devices والدليل على أن البرنامج محمى عن طريق الdongle هو وجود هذا الملف sentinel.vxd ولابد من الإنتباة إلى هذه
الملاحظات:-
1- تذكر أن البرامج ما هي إلا عبارة عن Software وله علاقة بالHardware وقد يطلب الSoftware في بعض الأحيان الإجابة من
الHardware عند هذا الجزء قف ولابد من فهم دروس كثيرة لكسر حماية البرامج عن طريق الdongle.
2- غالبا ما تكون تطبيقات الdongle ضعيفة وذلك عند وضع المبرمج هذه الحماية على برامجه تكون واضحة تحت Disassembly
وبذلك يكون كسر حمايتها سهل.
3- بعض الحماية عن طريق الdongle تحاول أن تشوشك برموز الرياضيات المعقدة التي هي في الحقيقة بسيطة جداًً فى برنامج
الSoftice لأن الSoftice يستطيع عمل إختبار علي البرنامج حتي النهاية ومعرفة مكان الحماية في البرنامج.
4- لا تيئس من الdongle عندما يعقدك في كسرة لأن بعض البرامج لا يمكن أن تستطيع كسر حمايتها لأنها تحتاج فعلاًً الdongle
وبدون هذا الdongle تكون كسر حماية البرامج صعبة ولكن مع الكراكر المحترف لا شيء يكون صعب.
النوع الرابع:- CD-Rom Check وهذه الحماية توجد في الألعاب وهى عبارة عن حماية تجبرك على شراء الإسطوانة وعند لعب
اللعبة لابد من أن تدخل الإسطوانة فى الCD-Rom وليست هذه الحماية صعبة ولكنها تحتاج بعض التفكير والوقت.
النوع الخامس:- في هذا النوع توجد طرق حماية كثيرة مثل الحماية علي الإسطوانة من النسخ أو ظهور الشاشة المزعجة في كثير من البرامج ويطلق عليها (Nag Screen).
ثانيا : شرح دروس الكراك
1- الدرس الأول : مدخل إلى الأسمبلى
يعتبر المعالج أهم جزء في جهاز الكمبيوتر وتنتج هذه المعالجات أكثر من شركة وكل شركة تضع معالجاتها في عائلة وتعطيها اسم فمثلا هناك شركة "موتوريلا" التي تنتج معالجات (processors) وتعطيها الاسم "موتوريلا" وبالمثل توجد شركة "انتل" وتنتج معالجات باسم انتل وأجهزة IBM تقوم على معالجات شركة انتل وقد بدأت شركة انتل منتجاتها ابتداء من المعالج رقم 8088 وكان الجهاز الذي يبنى على هذا المعالج يسمى XT ثم انتجت الشركة المعالج 80286 ثم 80386 ثم المعالج 80486 وأخيرا المعالج
80586 وعلى هذه المعالجات قامت أجهزة IBM والأجهزة المتوافقة معها وجميع المعالجات تتفق في التركيب العام وتشمل المعالجات في داخلها على أجزاء دقيقة تسمى السّجلات (registers)
فما هي السّجلات , وما هي الحاجة لمعرفة هذه السّجلات , وما هي السّجلات العامة للمعالج ؟
السّجلات : هي وحدات ذاكرة من نوع خاص تشبه عناصر الذاكرة وتستخدم لتخزين البيانات وهي التي يتم فيها إجراء العمليات الحسابية وإرسال المعلومات إلى الذاكرة أو استقبال البيانات منها. معرفة هذه السّجلات ضرورية لأن استدعاء روتينات الذاكرة ROM يتم من خلالها وتوضع فيها معاملات الروتينات وكذلك نتائج العمليات.
ما هي السّجلات العامة للمعالج intel ؟
ينقسم المعالج إلى مجموعات من السّجلات من هذه المجموعات مجموعة تسمى السّجلات العامة وهى التي تهمنا من وجهة نظر البرمجة وتأخذ الأسماء AX,BX,CX,DX وهذه السّجلات كما أشرنا هي وحدات ذاكرة من نوع خاص سعة التخزين الطبيعية لها 16بت وتقسم هذه السّجلات إلى 8 بت. السجل AX ينقسم إلى AH يسمى (HIGH) وAL يسمى (LOW) وهكذا BX,CX,DX كما في الشكل التالي :-
http://aboumarwane.jeeran.com/%D9%83%D8%B1%D8%A7%D9%83%201.gif
وقد تكون سعة التخزين لها 32 بت وفي الحالة سوف نضيف حرف (E) في الأمام فمثلا AX ستصبح EAX ونحن نتعامل في هذه الذواكر وبذلك نكون قد انتهينا من التعريف بلغة الأسمبلي.
مدخل إلى أوامر الأسمبلى
يوجد كثير من أوامر الأسمبلى ولكن سنستخدم نحن عشرين أمر تقريباً ومعظم إستخدماتنا سوف تقوم على هذه الأوامر ومعظم الأوامر تتكون من ثلاثة أحرف كهذا المثال :-
mov ax,10 ; put 10 into ax
mov bx,20 ; put 20 into bx
mov cx,30 ; put 30 into cx
mov dx,40 ; put 40 into dx
ملاحظة : أي شيء بعد الفاصلة يعتبر تعليق.
وهناك Push وPop أمرين لإستخدام الكومة , والكومة هي عبارة مساحة من الذاكرة نستطيع أن نخزن ونسترجع القيم منها. وإليك شرح هذين الأمرين
Push: وضع جزء من البيانات على القمة من الكومة
Push data
Pop: وضع جزء البيانات من قمة الكومة في سجل محدد أو متغير
pop register (or variable)
وهذا مثال على هذه الأكواد
push cx ; put cx on the stack
push ax ; put ax on the stack
pop cx ; put value from stack into cx
pop ax ; put value from stack into ax
وهناك بعض أوامر الأسمبلى التي يجب أن نعرفها قبل أن نبدأ بفهم الأسمبلى أو كتابة برامج الأسمبلى.
MOV : نقل قيمة من مكان إلى آخر
MOV destination, source
مثال على ذلك
mov ax,10 ; moves an immediate value into ax
mov bx,cx ; moves value from cx into bx
INT: نداء للدوس أو وظيفة للنظام الأساسي لإدخال وإخراج البيانات من الكومبيوتر وهو يمثل روتين
INT interrupt number
مثال على ذلك
int 21h ; Calls DOS service
int 10h ; Calls the Video BIOS interrupt
شرح معنى الInterrupt :-
تأخذ الروتينات الموجودة في الذاكرة شكل برامج كل برنامج يحتوى على مجمموعة دوال تؤدى عمل تقارب كلها تدور حول خدمات معينة وكل برنامج يسمى interrupt وكل interrupt مخصص لموضوع معين فمثلاً تجد interrupt مسئول عن خدمات الشاشة (Video interrupt) وتختص جميع دواله بهذا الموضوع فنجد به دوال تغيير الألوان ودوال التعامل مع المؤشر وهكذا ومثال آخروهو interrupt القرص (disk interrupt) ويحتوى على دوال لجميع الوظائف المتعلقة بالاسطوانة مثل كيفية تحديد حالة القرص
سليمة أم لا وكيفية الكتابة في أي مكان عليها وكثير من الخدمات التي لا يمكن أن تؤدى إلا بهذه الروتينات وكل interrupt له رقم بالنظام السادس عشر (HEX) فمثلا video interrupt رقمة 10 بالنظام السادس عشر كما في المثال السابق.
ADD destination, value إضافة القيمة إلى الهدف
MOV AX, 10h ; AX is now 10h
ADD AX, 10h ; AX is now 20h
ADD AX, 5h ; AX is now 25h
SUB destination, value طرح شيء ما من القيمة المخزنة في الهدف
MOV AX, 10h ; AX is now 10h
SUB AX, 2h ; AX is now 8h
INC destination (زيادة شيء ما (سّجل أو متغير أو أي شيء
MOV AX, 10h ; AX is 10h
INC AX ; AX is now 11h
DEC destination, (نقصان شيء ما (سّجل أو متغير أو أي شيء
MOV AX, 10h ; AX is 10h
DEC AX ; AX is now Fh
CMP destination, source مقارنة بين المصدر والهدف
MOV AX, 10h ; AX is 10h
MOV BX, 11h ; BX is 11h
CMP AX, BX ; compares AX with BX
Test destination, source يجرى إختبار بين المصدر والهدف
JMP ******** القفز إلى مكان آخر في الكود
JMP 200h ; the program would here jump to offset 200h
CALL procedure إجراء النداءات وبعد إنتهاء الإجراءات تكرار نفس الإجراءات
CALL 4020 ; jumps to the offset 4020 and continues the execution there untill it reaches a Ret
;then it continues on the next line.
NOP(no operation) لا يحدث شيء عند كتابة هذا الكود وقيمتها 90
كل هذه الأوامر السابقة لابد أن نفهمها جيداً حتى تُسهل علينا عملية الكراك وبذلك نكون قد إنتهينا من معرفة بعض أاومر الأسمبلى.
الدرس الثاني :
سوف نرى هنا أوامر القفز التي سوف نبنى عليها إستخدامتنا في معظم البرامج :-
هذه هي أوامر القفز ولكن في عدد الذواكر 8 بت
77 JA Jump short if above
73 JAE Jump short if above or equal
72 JB Jump short if below
76 JBE Jump short if below or equal
74 JE Jump short if equal
7F JG Jump short if greater
7D JGE Jump short if greater or equal
7C JL Jump short if less
7E JLE Jump short if less or equal
70 JO Jump short if overflow
74 JZ Jump short if zero
أوامر القفز التالية هي عكس الأوامر السابقة
76 JNA Jump short if not above
72 JNAE Jump short if not above or equal 73 JNB Jump near if not below
77 JNBE Jump near if not below or equal
75 JNE Jump short if not equal
7E JNG Jump short if not greater
7C JNGE Jump short if not greater or equal
7D JNL Jump short if not less
7F JNLE Jump short if not less or equal
71 JNO Jump short if not overflow
75 JNZ Jump short if not zero
وهذه هي نفس الأوامر السابقة ولكن في عدد الذواكر 32 بت
0F 87 JA Jump near if above
0F 83 JAE Jump near if above or equal
0F 82 JB Jump near if below
0F 86 JBE Jump near if below or equal
0F 84 JE Jump near if equal
0F 8F JG Jump near if greater
0F 8D JGE Jump near if greater or equal
0F 8C JL Jump near if less
0F 8E JLE Jump near if less or equal
0F 80 JO Jump near if overflow0F 84 JZ Jump near if 0
أوامر القفز التالية هي عكس الأوامر السابقة
0F 86 JNA Jump near if not above
0F 82 JNAE Jump near if not above or equal
0F 83 JNB Jump near if not below
0F 87 JNBE Jump near if not below or equal 0F 85 JNE Jump near if not equal
0F 8E JNG Jump near if not greater
0F 8C JNGE Jump near if not greater or equal
0F 8D JNL Jump near if not less
0F 8F JNLE Jump near if not less or equal
0F 81 JNO Jump near if not overflow
0F 85 JNZ Jump near if not zero
ولاحظ انه عندما نعكس أمر القفز نضيف له حرف (N) بمعنى انه عندما نريد أن نعكس مثلا JE تصبح JNE وتكون دائما الإضافة
بعد الحرف الأول وهو حرف (J)
الدرس الثالث :
وبعد ما عرفنا أوامر القفز سوف ننتبه إلى بعض الملاحظات :-
1- يتكون الكود من ثلاث مقاطع فمثلا يُكتب الكود كالتالي :-
:00498AA1 0F849B000000 je 00498B42
ويتم تحليله كالأتي :-
:00498AA1 <------------- هذا عنوان الذاكرة أو مكان للذاكرة
0F849B000000 <------------- لغة الآلة في النظام العشري
je 00498B42 <------------- أوامر الأسمبلى
2- ولشرح كيف تعمل باتش لبرنامج لابد أن نعرف التحويلات الأتية :-
Decimal Hexdecimal Binary
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
التحويل من Hex إلى HexDecimal :-
فمثلا نريد تحويل 124h فحرف الh دليل على أن هذا الرقم Hex.
http://aboumarwane.jeeran.com/%D9%83%D8%B1%D8%A7%D9%83%202.jpg
معنى Position وضع والأرقام التي تلي الوضع هي عدد الأوضاع فمثلا Position 0 تعنى الوضع الأول وهكذا. الرقم 4 وهو
الرقم المراد تحويله فنحن نريد أن نحول الرقم 124. والرقم 16 يمثل عدد الذواكر في لأننا نريد أن نحول رقم 124 hex والhex
يستخدم عدد الذواكر 16 بت.
3- ولمعرفة الربط بين لغة الآلة ولغة الأسمبلى إليك الجدول التالي :-
الوصف
Machine Code
Assembly Code
زيادة السجل (eax) بقيمة "1"
40 inc eax
نقصان السجل (eax) بقيمة "1"
48 dec eax
زيادة السجل (ebx) بقيمة "1"
43 inc ebx
نقصان السجل (ebx) بقيمة "1"
4B dec ebx
زيادة السجل (ecx) بقيمة "1"
41 inc ecx
نقصان السجل (ecx) بقيمة "1"
49 dec ecx
زيادة السجل (edx) بقيمة "1"
42 inc edx
نقصان السجل (edx) بقيمة "1"
4A dec edx
تعنى أن لا شيء يحدث
90 nop
إقفز لو مساوي
74 je
إقفز لو غير مساوي
75 jne
إقفز لو مساوي
0F84 je
إقفز لو غير مساوي
0F85 jne
4- ولكن أنا في إعتقادي أن البرنامج يُنفذ هذا الروتين :-
أ- خلال عملية التسجيل :
الخطوة الأولى : نضع الإسم والسيريال.
الخطوة الثانية : البرنامج يستقبل المعلومات التي وضعناها.
الخطوة الثالثة : يقوم البرنامج بنداء وظيفة أو دالة لتُقارن إذا كان السيريال الذي وضعناه صح أم خطأ.
الخطوة الرابعة : يقوم البرنامج بعملية القفز إلى قرار التسجيل أولا.
ب- خلال إعادة تشغيل البرنامج :
الخطوة الأولى : البرنامج يبحث عن نافذة التسجيل.
الخطوة الثانية : البرنامج يستقبل الإسم والسيريال.
الخطوة الثالثة : يقوم البرنامج بنداء نفس الوظيفة أو الدالة لتُقارن إذا كان السيريال الذي وضعناه صح أم خطأ.
الخطوة الرابعة : طبقاً للنتيجة يُقرّر التسجيل أو لا.
5- الكراك يترتب على فهمك لخطوات البرنامج فمثلا ترى أمامك رسالة الخطأ فأُنظر فوقها سترى مثلا أمر قفز فإعكسة ونحن عرفنا
كيف نعكس أوامر القفز فإذا وجدت أن نفس الرسالة تظهر أو تظهر رسالة الصح ولكن عند إعادة تشغيل البرنامج يظهر البرنامج وكأنة
ليس تم تسجيله فأُنظر فوق أمر القفز هذا سترى مثلا أمر نداء أو أمر مقارنة فإنتبة إلى كل هذه الأوامر حتى تفهم ماذا يحدث في
البرنامج. فإحتراف الكراك يعتمد على كثرة الأمثلة والممارسة وسوف تجد هنا كل شيء عن الكراك إن شاء الله.
يتبع
هنا يتم التعريف ببرامج الكراك وهى كالتالى:-
برنامج الDisAssembly
برنامج W32Dasm (http://www.exetools.com/files/disassemblers/wdasm89.zip)
برامج الDebug
برنامج SoftIce (http://www.newhua.com/down/si405w9x.zip)
السيريال (http://www.ashrafcracker.netfirms.com/Patch/Softice.zip)
برنامج Smart Check (http://www.crackbest.net/unlock/debug/SC603.exe.zip)
السيريال (http://www.ashrafcracker.netfirms.com/Patch/SmartCheck.zip)
برنامج Ollydebug (http://www.anticrack.de/downloads/tools/debugger/odbg109.zip)
برنامج تحرير الHex
برنامج Hview (http://exetools.com/files/hex-editors/hiew611.zip)
برامج الDecompiler
برنامج DeDe (http://dede.zadnik.org/dede/DeDe.3.50.02.1619.bin.rar)
برنامج Windows Installshield Decompiler (http://pham.bulhosting.com/protools/files/decompilers/wisdec.zip)
برنامج Vb Decompiler (http://pham.bulhosting.com/protools/files/decompilers/wisdec.zip)
برامج الباتش
برنامج CodefusionV3.0 (http://ftp.elf.stuba.sk/packages/pub/pc/utilprog/codefs30.zip)
برنامج crackmakerV1.0 (http://www.ashrafcracker.netfirms.com/Patch/crackmaker.zip)
برنامج PatchEngine (http://pham.bulhosting.com/protools/files/patchers/patchengine.zip)
برنامج R!SC's Process Patcher v1.5.1 (http://www.ashrafcracker.netfirms.com/Patch/patch%20for%20packed.zip)
برنامج Registry Patch Creator (http://www.ashrafcracker.netfirms.com/Patch/Registry%20Patch%20Creator.zip)
برامج الUnPack و الPack
توجد هذه البرامج في هذا الموقع http://protools.cjb.net (http://protools.cjb.net/)
برنامج ProcDump32 (http://66.36.228.12/protools/files/unpackers/pdump32.zip)
برامج الMonitor
برنامج File Monitor (http://www.sysinternals.com/files/FILEMON.ZIP)
برنامج Registry Monitor (http://www.sysinternals.com/files/regmon95.zip)
برامج متنوعة
برنامج ExeScope V6.30 (http://hp.vector.co.jp/authors/VA003525/EXESC630.ZIP)
السيريال (http://www.ashrafcracker.netfirms.com/Patch/Serial.zip)
برنامج Final Release (http://www.iespana.es/viperk/fixl.zip)
شرح برامج الكراك :-
أولا : برنامج الDisAssembly
يعتبر برنامج الW32Dasm من أفضل برامج الDisAssembly وسوف نستخدم هذا البرنامج في كثير من البرامج مع برنامج Hview جنباً إلى جنب وإليك هذا الباتش. ووظيفة هذا الباتش أنة عندما تفتح برنامج بالW32Dasm تستطيع تحريرة بالHview
وقبل تشغيل الباتش تأكد من إزالة علامة الصح أمام (Read Only) لبرنامج W32Dasm وبعد تشغيل الباتش إليك صورة البرنامج :-
http://aboumarwane.jeeran.com/DisAssembly1.jpg
1- إختيار الملف المراد فتحة "open the file to disassemble"
2- تخزين الملف لحين إستخدامة مرة ثانية "Save Disassembly Text File and Create Project File"
3- البحث عن نص "Find Text"
4- نسخ الخط الذي تختارة "Copy Selected Lines"
5- الذهاب إلى بداية الكود "Goto Code Start"
6- الذهاب إلى نقطة دخول البرنامج "Goto Program Entry Point"
7- إختيار رقم الصفحة المراد الذهاب إليها "Goto Page"
8- إختيار موقع الكود المراد الذهاب إلية "Goto Code ********"
9- عند الضغط على أمر قفز سيظهر لك هذا الزر وعند الضغط علية سيتتبع أمر القفز "Execute Jump"
10- الرجوع إلى أمر القفز الذي قفزت منة "Return From Last Jump"
11- عند الضغط على أمر نداء سيظهر لك هذا الزر وعند الضغط علية سيتتبع أمر النداء "Execute Call"
12- الرجوع إلى أمر النداء الذي قفزت منة "Return From Call"
13- الوظائف المستوردة "Import Function" وهي تتبع دوال الApi
14- الوظائف المصدرة "Export Function" وهي تتبع دوال الApi
15- عرض الHex من هذه الصفحة "Hex Display of Data Object"
16- عرض الHex من الشاشة الظاهرة أمامك "Hex Display of Code Data"
17- مراجع القاثمة وعندما تضغط على هذا الزر ترى جميع القوائم التي توجد في البرنامج "Menu References"
18- مراجع الحوار وعندما تضغط على هذا الزر ترى جميع الحوارات الموجودة في البرنامج "Dialog References"
19- مراجع البيانات التي توجد في البرنامج وهي عبارة عن الرسائل التي تظهر لنا وسيكون أغلب بحثنا عن الرسائل في هذا الزر فعندما نبحث عن رسالة الخطأ سيكون المقصود بهذا البحث هذا الزر "String Data References" وهذا الباتش له فائدة أخرى وهي التحرير السريع فإذا كنت تريد أن تعكس مثلاً أمر قفز إضغط "Help" ثم إضغط "QuickEdit" وإكتب الMemory ******** الذي يشمل أمر القفز سيظهر لك كود أمر القفز إعكسة ونحن عرفنا كيف نعكس أمر القفز ثم إضغط
"Save" وإذا كنت تريد تشغيل البرنامج إضغط "Run".
بعد ما تطلعنا إلى أهم الوظائف في برنامج الW32Dasm سنتطلع إلى وظيفة جديدة وهي إيجاد رقم الأوفست. ولإيجاد رقم الأوفست
أنظر إلى الشكل التالي :-
http://aboumarwane.jeeran.com/DisAssembly2.jpg
هذا هو الأوفست المشار إلية في الأسفل ولكن مع إهمال الأصفار بمعنى أنة سيكون "3E6D" ولابد أن تأخذ بالك من الأوفست لأننا سوف نبنى استخداماتنا على أساسه. وبذلك نكون قد شرحنا الوظائف المهمة في البرنامج والتي سوف نبنى عليها معظم استخداماتنا.
يتبع
شرح برامج الكراك :-
ثانيا :برامج الDebug
أ - برنامج SoftIce
هذا البرنامج هو أقوى برامج الDebug ولكن معظم استخداماتنا ستكون ببرنامج الOllyDbg ويوجد لبرنامج الSoftIce بعض الأعدادات سوف تجدها في هذا الملف وهوWinAce بعد فك هذا الملف ضعة في الSoftIce مباشرة فمثلاً إذا كنت تريد استخدام الSoftIce لعمل Breakpoint على برنامج فإليك بعض دوال Api المهمة :-
Reading/Writing files:
ReadFile
WriteFile
CreateFileA
Reading data from INI file:
GetPrivateProfileStringA
GetPrivateProfileIntA
WritePrivateProfileStringA
WritePrivateProfileIntA
Registry Access:
RegCreateKeyA
RegDeleteKeyA
RegQueryValueA
RegCloseKeyA
RegOpenKeyA
DialogBoxes:
GetWindowTextA
GetDlgItemTextA
GetDlgItemInt
MessageBoxes:
MessageBox
MessageBoxA
MessageBoxExA
MessageBeep
Time And Date:
GetLocalTime
GetSystemTime
GetFileTime
Creating a window (like a NAG)
CreateWindowExA
ShowWindow
CD-ROM Calls
GetDriveType (if eax=5 then it is a cdrom check)
GetDriveTypeA
GetDriveType Return Function codes:
الوصف القيمة
0 Drive Cannot Be determined
1 Root Dir Does not exist
2 DriveRemoveable
3 A Fixed Disk (HardDrive)
4 Remote Drive(Network)
5 Cd-Rom Drive
6 RamDisk
ولكن هناك دالة سوف نستخدمها بنسبة %99 وهي Hmemcpy وسوف نبنى عليها معظم استخداماتنا. فإذا كنت تريد استخدام نقطة كسر أو Breakpoint على أي برنامج فتُكتب بهذه الصيغة "Bpx Api" فمثلاً لو كنت تريد استخدام دالة Api ولتكن MessageBox فتُكتب
بهذه الطريقة "Bpx MessageBox" وهكذا الحال على أي دالة من دوال الApi. وإليك أنواع الBreakpoint :-
BPM Breakpoint on memory access
BPMB Breakpoint on memory access
BPMW Breakpoint on memory access
BPMD Breakpoint on memory access
BPR Breakpoint on memory range
BPIO Breakpoint on I/O port access
BPINT Breakpoint on interrupt
BPX Breakpoint on execution
BMSG Breakpoint on windows message
BSTAT Breakpoint statistics
فاإذا كنت تريد مسح خطوات الBreakpoint فإكتب الأمر التالي :-
BC Clear Breakpoint
وهناك بعض الأوامر الأخرى :-
R Display/change register *******s
U Un-Assemblers instructions
E Edit memory
? Evaluate expression
G Go to address
D Display memory
وإليك استخدام مفاتيح الكيبورد
F1 : Displays general help
F2 : Toggles the register window
F3 : Changes current source mode
F4 : Restores screen
F5 : Returns to your program
F6 : Toggles cursor between command window code window
F7 : Goes to current cursor line
F8 : Single steps
F9 : Sets break point at current cursor line
F10 : Program steps
F11 : Go to return address (large model)
F12 : Run till next modual
F8 = Trace Into
F10 = Trace Over
وبذلك نكون قد شرحنا أهم الأوامر التي سوف نستخدمها في الSoftIce.
ب- برنامج Smart Check
وإليك بعض الإعدادات لهذا البرنامج. شغل البرنامج ثم إضغط على "Program" ثم "Settings" وإفعل الأتي :-
http://aboumarwane.jeeran.com/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC%20Smart%20Che ck1.jpg
بعد عمل هذه الإعدادات إضغط على "...Advanced" ثم إفعل الأتي :-
http://aboumarwane.jeeran.com/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC%20Smart%20Che ck2.jpg
وبعد عمل هذه الإعدادات إضغط على "Reporting" ثم إفعل الأتي :-
http://aboumarwane.jeeran.com/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC%20Smart%20Che ck3.jpg
وهذه الإعدادات تعمل على فهم خطوات حماية البرنامج. برنامج Smart Check يستخدم لبرامج الفيجوال بيسك
ج- برنامج OllyDebug
هذا البرنامج يعتبر أيضا من أفضل برامج الDebug وهو يضاهى برنامج الSoftIce في قوته وإليك صورة البرنامج :-
http://aboumarwane.jeeran.com/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC%20Smart%20Che ck4.jpg
الخطوات :-
1- لإختيار الملف التنفيذي.
2- لإختيار ملف شغال حاليا.ً
3- للخروج من البرنامج.
وهذه في قائمة "File" أما في قائمة "View" سترى الشكل التالي :-
http://aboumarwane.jeeran.com/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC%20Smart%20Che ck5.jpg
وفي الشكل السابق ترى الأتي :-
1- "L" وهي نفسها "Log" وهي سجل لعمليات البرنامج.
2- "E" وهي نفسها "Executable modules" وهي توضح الملفات التي تم تحميلها عند تحميل الملف التنفيذي.
3- "M" وهي نفسها "Memory" وهي توضح الذاكرة المحملة عند تحميل الملف التنفيذي.
4- "T" وهي نفسها "Threads" وهي توضح مراحل البرنامج.
5- "W" وهي نفسها "Windows" وهي توضح النوافذ التي تُستخدم.
6- "C" وهي نفسها "CPU" وهي توضح شاشة الCPU.
7- "K" وهي نفسها "Call stack" وهي توضح الكومة المستخدمة لهذا البرنامج ونحن شرحنا سابقاً ما هي الكومة.
8- "B" وهي نفسها "Breakpoints" وهي توضح عدد الBreakpoint المستخدمة في البرنامج.
9- "R" وهي نفسها "References" وهي توضح النصوص التي تُستخدم في البرنامج.
10- "000" وهي نفسها "Run trace" ومعناها إقتفاء أثر البرنامج عندما يقوم بأي خطوة.
11- "S" وهي نفسها "source" وتعنى معرفة مصدر البرنامج.
أما في قائمة "Debug" سترى الشكل التالي :-
http://aboumarwane.jeeran.com/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC%20Smart%20Che ck6.jpg
الخطوات :-
1- "Run" تشغيل البرنامج.
2- "Pause" توقُّف مؤقت للبرنامج.
3- "Restart" إعادة تشغيل البرنامج.
4- "Close" قفل البرنامج.
5- "Step into" يخطو البرنامج لكل أمر من أوامر الأسمبلى.
6- "Step over" يخطو البرنامج لأوامر القفز.
7- "Animate into" يخطو البرنامج لكل أمر من أوامر الأسمبلى أوتوماتيك.
8- "Animate over" يخطو البرنامج لأوامر القفز أوتوماتيك.
9- "Execute till return" تشغيل البرنامج خطوة بخطوة.
10- "Excute till user code " تشغيل البرنامج.
11- "Open or clear run trace" مسح إقتفاء الأثر.
12- "Trace into" إقتفاء الأثر داخل كل أمر من أوامر الأسمبلى.
13- "Trace over" إقتفاء الأثرلأوامر القفز.
14- "Set condition" وضع أمر شرطي.
15- "Close run trace" قفل تشغيل إقتفاء الأثر.
شاشة الCPU هي :-
http://aboumarwane.jeeran.com/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC%20Smart%20Che ck7.jpg
فإذا أردت البحث عن نص فإضغط Right Click على هذا الشكل ثم إختار "All Referenced text strings" ستذهب إلى نافذة النصوص وإذا أردت البحث عن رسالة إضغط Right Click ثم إختار "البحث for text". إذا أردت الذهاب إلى أي Memory Address إضغط على "Ctrl+G" ثم إكتب الMemory Address الذي تريده. وإذا أردت أن تغير أمر من أوامر الأسمبلى قف على هذا الأمر ثم إضغط Double Click وغير الأمر ثم إضغط "Assemble". وبذلك نكون قد شرحنا الوظائف المهمة في الOllyDbg.
يتبع.
شرح برامج الكراك
ثالثا : برنامج تحرير الHex
يعتبر برنامج الHview من أفضل برامج تحرير الHex.فإذا كنت تريد فتح ملف تنفيذي بالHview شغل الHview ثم إضغط على "Alt+F1" سترى الشكل التالي :-
http://aboumarwane.jeeran.com/%D9%84Hex1.jpg
من هذا الشكل إختار الDrive الذي يوجد به البرنامج وعند إختيار الDrive تحرك بالأسهم لأعلى أولإسفل لإختيار المجلد الذي يوجد به البرنامج ثم إختار الملف التنفيذي وبعد الإختيار إضغط Enter ثم إضغط F4 لإختيار النظام الذي سنعمل به كما في الشكل التالي :-
http://aboumarwane.jeeran.com/%D9%84Hex2.jpg
وبعد الإختيار إضغط Enter فإذا كنت تريد البحث عن Offset معين إضغط F5 ثم اكتب الOffset الذي تريده. فإذا كنت تريد عكس أمر قفز من Je إلى Jne فهناك طريقتين :-
الطريقة الأولى :
إضغط على F3 ثم حرك السهم ناحية اليمين كما في الشكل التالي :-
http://aboumarwane.jeeran.com/%D9%84Hex3.jpg
هل ترى أمر القفز المشار إلية في الصورة عندما تحرك السهم ناحية اليمين سترى شرطة تحت الرقم كما في الصورة وإذا كنت تريد
تغيير هذا الرقم فإضغط على الرقم 5 لتحولة إلى 75 وبذلك تكون قد عكست أمر القفز من Je إلى Jne وإذا كنت تريد حفظ التغيرات إضغط F9 وإذا كنت تريد الخروج إضغط F10 وبذلك نكون قد عكسنا هذا الأمر بهذه الطريقة.
الطريقة الثانية :
عندما تقف على أمر القفز إضغط F3 ثم F2 ومعنى F2 أنك تريد أن تغير من أمر الأسمبلى نفسة كما في الشكل التالي :-
http://aboumarwane.jeeran.com/%D9%84Hex4.jpg
وإذا كنت تريد تغيير أمر القفز فحرك بالأسهم إلى اليمين أو الشمال فمن الممكن أن تُحرك السهم ناحية الشمال وتعكس أمر القفز من Je إلى Jne وبذلك نكون قد عكسنا هذا الأمر بهذه الطريقة.
وبذلك نكون قد إنتهينا من شرح أهم الأوامر ببرنامج الHview
شرح برامج الكراك :
ثامنا : البرامج المتنوعة
أ- برنامج ExeScope
يعمل هذا البرنامج على تحرير البرامج. شغل البرنامج وسترى الشكل التالي :-
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A91 .jpg
إضغط على "File" ثم "Open" ثم إختار الملف التنفيذي وعند إختيارة سترى الشكل التالي :-
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A92 .jpg
عندما تضغط على "Resources" ستنسدل هذه القائمة الواردة أمامك في الصورة ومن هذه القائمة تستطيع التغيير في البرنامج وهذه هي وظيفة هذا البرنامج.
ب- برنامج Final Release
وظيفة هذا البرنامج معرفة إذا كان البرنامج المراد كسرة مصنوع بأي لغة من لغات البرمجة أو مضغوط بأي برنامج من برامج الPack أو مشفر بأي برنامج من برامج التشفير. شغل البرنامج وسترى الشكل التالي :-
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A93 .jpg
بعد الضغط إختار اللغة كما في الشكل التالي :-
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A94 .jpg
وإذا كنت تريد معرفة إذا كان البرنامج المراد كسرة مصنوع بأي لغة من لغات البرمجة أو مضغوط بأي برنامج من برامج الPack أو مشفر بأي برنامج من برامج التشفير إفعل كما في الشكل التالي :-
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A95 .jpg
بعد الضغط على "...Open File" وإختيار الملف التنفيذي إضغط على "Scan" ثم إضغط على "Compiler" سترى مثلا هذا الCompile كما في الشكل التالي :-
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A96 .jpg
وهناك طريقة أخرى وهي :
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A97 .jpg
إضغط على "Tools&Options" ثم إختر "All Files" ثم إضغط Apply وبذلك تستطيع أن تعرف إذا كان البرنامج المراد كسرة مصنوع بأي لغة من لغات البرمجة أو مضغوط بأي برنامج من برامج الPack أو مشفر بأي برنامج من برامج التشفير عن طريق ضغط Right Click على أي ملف ثم إضغط "file insPEctor" ثم إضغط على "Compiler" سترى ما هو نوع الPacker أو
الCompiler أو الProtector وهذه هي وظيفة هذا البرنامج.
ج- برنامج HexDecOctBin Converter
وظيفة هذا البرنامج هو تحويل بين الHex والHexDecimal والOctal والBinary. فمثلا إذا كنت تريد أن تحول من Decimal إلى HexDecimal فإكتب في خانة الDecimal الأتي :-
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A98 .jpg
فهذا الرقم وهو 292 عندما نكتبه سترى هذه الأرقام ظهرت أوتوماتيك في الخانات الأخرى وهذه هي وظيفة هذا البرنامج.
اسالكم الدعاء واتمنى ان يفيدكم الموضوع
[ ليست آنآ آلكآتب لكن آنآ آلبآحث http://www.traidnt.net/vb/images/smilies/smoke1.gif]
هذا الموضوع الشيق وجدته فى احد المنتديات وعجبنى
فحبيت اشارككم الفائده فيه
الكراك عالم ملىء بالإثارة والمتعة وسوف تجدون هنا ولأول مرة كل ما يخص الكراك إن شاء الله
أولا : ما هو الكراك
الكراك هو كسر الحماية سواء كانت هذه الحماية على البرامج أو الألعاب أو المواقع وتنقسم الحماية إلى خمس أنواع :-
النوع الأول:- Time Trial Check وهذه توجد في البرامج التجريبية التي تحتاج إلى شراء بعد إنتهاء مدتها وغالباً تكون هذه المدة
30 يوم.
النوع الثاني:- Function Disabled Check وهذه الحماية تعمل على عدم قابلية الوظائف المهمة فى البرنامج مثل Save أو Print
أو بعض الوظائف الأخرى المهمة.
النوع الثالث:- Hardware Key Check عن طريق شيء أسمة dongle وما هو الdongle هو عبارة عن مزيج من حماية
الSoftware والHardware وقد تكون هذه الحماية عن طريق سدادة صغيرة توصل عادة إلى Parallel Port أو إلى Serial
Devices والدليل على أن البرنامج محمى عن طريق الdongle هو وجود هذا الملف sentinel.vxd ولابد من الإنتباة إلى هذه
الملاحظات:-
1- تذكر أن البرامج ما هي إلا عبارة عن Software وله علاقة بالHardware وقد يطلب الSoftware في بعض الأحيان الإجابة من
الHardware عند هذا الجزء قف ولابد من فهم دروس كثيرة لكسر حماية البرامج عن طريق الdongle.
2- غالبا ما تكون تطبيقات الdongle ضعيفة وذلك عند وضع المبرمج هذه الحماية على برامجه تكون واضحة تحت Disassembly
وبذلك يكون كسر حمايتها سهل.
3- بعض الحماية عن طريق الdongle تحاول أن تشوشك برموز الرياضيات المعقدة التي هي في الحقيقة بسيطة جداًً فى برنامج
الSoftice لأن الSoftice يستطيع عمل إختبار علي البرنامج حتي النهاية ومعرفة مكان الحماية في البرنامج.
4- لا تيئس من الdongle عندما يعقدك في كسرة لأن بعض البرامج لا يمكن أن تستطيع كسر حمايتها لأنها تحتاج فعلاًً الdongle
وبدون هذا الdongle تكون كسر حماية البرامج صعبة ولكن مع الكراكر المحترف لا شيء يكون صعب.
النوع الرابع:- CD-Rom Check وهذه الحماية توجد في الألعاب وهى عبارة عن حماية تجبرك على شراء الإسطوانة وعند لعب
اللعبة لابد من أن تدخل الإسطوانة فى الCD-Rom وليست هذه الحماية صعبة ولكنها تحتاج بعض التفكير والوقت.
النوع الخامس:- في هذا النوع توجد طرق حماية كثيرة مثل الحماية علي الإسطوانة من النسخ أو ظهور الشاشة المزعجة في كثير من البرامج ويطلق عليها (Nag Screen).
ثانيا : شرح دروس الكراك
1- الدرس الأول : مدخل إلى الأسمبلى
يعتبر المعالج أهم جزء في جهاز الكمبيوتر وتنتج هذه المعالجات أكثر من شركة وكل شركة تضع معالجاتها في عائلة وتعطيها اسم فمثلا هناك شركة "موتوريلا" التي تنتج معالجات (processors) وتعطيها الاسم "موتوريلا" وبالمثل توجد شركة "انتل" وتنتج معالجات باسم انتل وأجهزة IBM تقوم على معالجات شركة انتل وقد بدأت شركة انتل منتجاتها ابتداء من المعالج رقم 8088 وكان الجهاز الذي يبنى على هذا المعالج يسمى XT ثم انتجت الشركة المعالج 80286 ثم 80386 ثم المعالج 80486 وأخيرا المعالج
80586 وعلى هذه المعالجات قامت أجهزة IBM والأجهزة المتوافقة معها وجميع المعالجات تتفق في التركيب العام وتشمل المعالجات في داخلها على أجزاء دقيقة تسمى السّجلات (registers)
فما هي السّجلات , وما هي الحاجة لمعرفة هذه السّجلات , وما هي السّجلات العامة للمعالج ؟
السّجلات : هي وحدات ذاكرة من نوع خاص تشبه عناصر الذاكرة وتستخدم لتخزين البيانات وهي التي يتم فيها إجراء العمليات الحسابية وإرسال المعلومات إلى الذاكرة أو استقبال البيانات منها. معرفة هذه السّجلات ضرورية لأن استدعاء روتينات الذاكرة ROM يتم من خلالها وتوضع فيها معاملات الروتينات وكذلك نتائج العمليات.
ما هي السّجلات العامة للمعالج intel ؟
ينقسم المعالج إلى مجموعات من السّجلات من هذه المجموعات مجموعة تسمى السّجلات العامة وهى التي تهمنا من وجهة نظر البرمجة وتأخذ الأسماء AX,BX,CX,DX وهذه السّجلات كما أشرنا هي وحدات ذاكرة من نوع خاص سعة التخزين الطبيعية لها 16بت وتقسم هذه السّجلات إلى 8 بت. السجل AX ينقسم إلى AH يسمى (HIGH) وAL يسمى (LOW) وهكذا BX,CX,DX كما في الشكل التالي :-
http://aboumarwane.jeeran.com/%D9%83%D8%B1%D8%A7%D9%83%201.gif
وقد تكون سعة التخزين لها 32 بت وفي الحالة سوف نضيف حرف (E) في الأمام فمثلا AX ستصبح EAX ونحن نتعامل في هذه الذواكر وبذلك نكون قد انتهينا من التعريف بلغة الأسمبلي.
مدخل إلى أوامر الأسمبلى
يوجد كثير من أوامر الأسمبلى ولكن سنستخدم نحن عشرين أمر تقريباً ومعظم إستخدماتنا سوف تقوم على هذه الأوامر ومعظم الأوامر تتكون من ثلاثة أحرف كهذا المثال :-
mov ax,10 ; put 10 into ax
mov bx,20 ; put 20 into bx
mov cx,30 ; put 30 into cx
mov dx,40 ; put 40 into dx
ملاحظة : أي شيء بعد الفاصلة يعتبر تعليق.
وهناك Push وPop أمرين لإستخدام الكومة , والكومة هي عبارة مساحة من الذاكرة نستطيع أن نخزن ونسترجع القيم منها. وإليك شرح هذين الأمرين
Push: وضع جزء من البيانات على القمة من الكومة
Push data
Pop: وضع جزء البيانات من قمة الكومة في سجل محدد أو متغير
pop register (or variable)
وهذا مثال على هذه الأكواد
push cx ; put cx on the stack
push ax ; put ax on the stack
pop cx ; put value from stack into cx
pop ax ; put value from stack into ax
وهناك بعض أوامر الأسمبلى التي يجب أن نعرفها قبل أن نبدأ بفهم الأسمبلى أو كتابة برامج الأسمبلى.
MOV : نقل قيمة من مكان إلى آخر
MOV destination, source
مثال على ذلك
mov ax,10 ; moves an immediate value into ax
mov bx,cx ; moves value from cx into bx
INT: نداء للدوس أو وظيفة للنظام الأساسي لإدخال وإخراج البيانات من الكومبيوتر وهو يمثل روتين
INT interrupt number
مثال على ذلك
int 21h ; Calls DOS service
int 10h ; Calls the Video BIOS interrupt
شرح معنى الInterrupt :-
تأخذ الروتينات الموجودة في الذاكرة شكل برامج كل برنامج يحتوى على مجمموعة دوال تؤدى عمل تقارب كلها تدور حول خدمات معينة وكل برنامج يسمى interrupt وكل interrupt مخصص لموضوع معين فمثلاً تجد interrupt مسئول عن خدمات الشاشة (Video interrupt) وتختص جميع دواله بهذا الموضوع فنجد به دوال تغيير الألوان ودوال التعامل مع المؤشر وهكذا ومثال آخروهو interrupt القرص (disk interrupt) ويحتوى على دوال لجميع الوظائف المتعلقة بالاسطوانة مثل كيفية تحديد حالة القرص
سليمة أم لا وكيفية الكتابة في أي مكان عليها وكثير من الخدمات التي لا يمكن أن تؤدى إلا بهذه الروتينات وكل interrupt له رقم بالنظام السادس عشر (HEX) فمثلا video interrupt رقمة 10 بالنظام السادس عشر كما في المثال السابق.
ADD destination, value إضافة القيمة إلى الهدف
MOV AX, 10h ; AX is now 10h
ADD AX, 10h ; AX is now 20h
ADD AX, 5h ; AX is now 25h
SUB destination, value طرح شيء ما من القيمة المخزنة في الهدف
MOV AX, 10h ; AX is now 10h
SUB AX, 2h ; AX is now 8h
INC destination (زيادة شيء ما (سّجل أو متغير أو أي شيء
MOV AX, 10h ; AX is 10h
INC AX ; AX is now 11h
DEC destination, (نقصان شيء ما (سّجل أو متغير أو أي شيء
MOV AX, 10h ; AX is 10h
DEC AX ; AX is now Fh
CMP destination, source مقارنة بين المصدر والهدف
MOV AX, 10h ; AX is 10h
MOV BX, 11h ; BX is 11h
CMP AX, BX ; compares AX with BX
Test destination, source يجرى إختبار بين المصدر والهدف
JMP ******** القفز إلى مكان آخر في الكود
JMP 200h ; the program would here jump to offset 200h
CALL procedure إجراء النداءات وبعد إنتهاء الإجراءات تكرار نفس الإجراءات
CALL 4020 ; jumps to the offset 4020 and continues the execution there untill it reaches a Ret
;then it continues on the next line.
NOP(no operation) لا يحدث شيء عند كتابة هذا الكود وقيمتها 90
كل هذه الأوامر السابقة لابد أن نفهمها جيداً حتى تُسهل علينا عملية الكراك وبذلك نكون قد إنتهينا من معرفة بعض أاومر الأسمبلى.
الدرس الثاني :
سوف نرى هنا أوامر القفز التي سوف نبنى عليها إستخدامتنا في معظم البرامج :-
هذه هي أوامر القفز ولكن في عدد الذواكر 8 بت
77 JA Jump short if above
73 JAE Jump short if above or equal
72 JB Jump short if below
76 JBE Jump short if below or equal
74 JE Jump short if equal
7F JG Jump short if greater
7D JGE Jump short if greater or equal
7C JL Jump short if less
7E JLE Jump short if less or equal
70 JO Jump short if overflow
74 JZ Jump short if zero
أوامر القفز التالية هي عكس الأوامر السابقة
76 JNA Jump short if not above
72 JNAE Jump short if not above or equal 73 JNB Jump near if not below
77 JNBE Jump near if not below or equal
75 JNE Jump short if not equal
7E JNG Jump short if not greater
7C JNGE Jump short if not greater or equal
7D JNL Jump short if not less
7F JNLE Jump short if not less or equal
71 JNO Jump short if not overflow
75 JNZ Jump short if not zero
وهذه هي نفس الأوامر السابقة ولكن في عدد الذواكر 32 بت
0F 87 JA Jump near if above
0F 83 JAE Jump near if above or equal
0F 82 JB Jump near if below
0F 86 JBE Jump near if below or equal
0F 84 JE Jump near if equal
0F 8F JG Jump near if greater
0F 8D JGE Jump near if greater or equal
0F 8C JL Jump near if less
0F 8E JLE Jump near if less or equal
0F 80 JO Jump near if overflow0F 84 JZ Jump near if 0
أوامر القفز التالية هي عكس الأوامر السابقة
0F 86 JNA Jump near if not above
0F 82 JNAE Jump near if not above or equal
0F 83 JNB Jump near if not below
0F 87 JNBE Jump near if not below or equal 0F 85 JNE Jump near if not equal
0F 8E JNG Jump near if not greater
0F 8C JNGE Jump near if not greater or equal
0F 8D JNL Jump near if not less
0F 8F JNLE Jump near if not less or equal
0F 81 JNO Jump near if not overflow
0F 85 JNZ Jump near if not zero
ولاحظ انه عندما نعكس أمر القفز نضيف له حرف (N) بمعنى انه عندما نريد أن نعكس مثلا JE تصبح JNE وتكون دائما الإضافة
بعد الحرف الأول وهو حرف (J)
الدرس الثالث :
وبعد ما عرفنا أوامر القفز سوف ننتبه إلى بعض الملاحظات :-
1- يتكون الكود من ثلاث مقاطع فمثلا يُكتب الكود كالتالي :-
:00498AA1 0F849B000000 je 00498B42
ويتم تحليله كالأتي :-
:00498AA1 <------------- هذا عنوان الذاكرة أو مكان للذاكرة
0F849B000000 <------------- لغة الآلة في النظام العشري
je 00498B42 <------------- أوامر الأسمبلى
2- ولشرح كيف تعمل باتش لبرنامج لابد أن نعرف التحويلات الأتية :-
Decimal Hexdecimal Binary
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
التحويل من Hex إلى HexDecimal :-
فمثلا نريد تحويل 124h فحرف الh دليل على أن هذا الرقم Hex.
http://aboumarwane.jeeran.com/%D9%83%D8%B1%D8%A7%D9%83%202.jpg
معنى Position وضع والأرقام التي تلي الوضع هي عدد الأوضاع فمثلا Position 0 تعنى الوضع الأول وهكذا. الرقم 4 وهو
الرقم المراد تحويله فنحن نريد أن نحول الرقم 124. والرقم 16 يمثل عدد الذواكر في لأننا نريد أن نحول رقم 124 hex والhex
يستخدم عدد الذواكر 16 بت.
3- ولمعرفة الربط بين لغة الآلة ولغة الأسمبلى إليك الجدول التالي :-
الوصف
Machine Code
Assembly Code
زيادة السجل (eax) بقيمة "1"
40 inc eax
نقصان السجل (eax) بقيمة "1"
48 dec eax
زيادة السجل (ebx) بقيمة "1"
43 inc ebx
نقصان السجل (ebx) بقيمة "1"
4B dec ebx
زيادة السجل (ecx) بقيمة "1"
41 inc ecx
نقصان السجل (ecx) بقيمة "1"
49 dec ecx
زيادة السجل (edx) بقيمة "1"
42 inc edx
نقصان السجل (edx) بقيمة "1"
4A dec edx
تعنى أن لا شيء يحدث
90 nop
إقفز لو مساوي
74 je
إقفز لو غير مساوي
75 jne
إقفز لو مساوي
0F84 je
إقفز لو غير مساوي
0F85 jne
4- ولكن أنا في إعتقادي أن البرنامج يُنفذ هذا الروتين :-
أ- خلال عملية التسجيل :
الخطوة الأولى : نضع الإسم والسيريال.
الخطوة الثانية : البرنامج يستقبل المعلومات التي وضعناها.
الخطوة الثالثة : يقوم البرنامج بنداء وظيفة أو دالة لتُقارن إذا كان السيريال الذي وضعناه صح أم خطأ.
الخطوة الرابعة : يقوم البرنامج بعملية القفز إلى قرار التسجيل أولا.
ب- خلال إعادة تشغيل البرنامج :
الخطوة الأولى : البرنامج يبحث عن نافذة التسجيل.
الخطوة الثانية : البرنامج يستقبل الإسم والسيريال.
الخطوة الثالثة : يقوم البرنامج بنداء نفس الوظيفة أو الدالة لتُقارن إذا كان السيريال الذي وضعناه صح أم خطأ.
الخطوة الرابعة : طبقاً للنتيجة يُقرّر التسجيل أو لا.
5- الكراك يترتب على فهمك لخطوات البرنامج فمثلا ترى أمامك رسالة الخطأ فأُنظر فوقها سترى مثلا أمر قفز فإعكسة ونحن عرفنا
كيف نعكس أوامر القفز فإذا وجدت أن نفس الرسالة تظهر أو تظهر رسالة الصح ولكن عند إعادة تشغيل البرنامج يظهر البرنامج وكأنة
ليس تم تسجيله فأُنظر فوق أمر القفز هذا سترى مثلا أمر نداء أو أمر مقارنة فإنتبة إلى كل هذه الأوامر حتى تفهم ماذا يحدث في
البرنامج. فإحتراف الكراك يعتمد على كثرة الأمثلة والممارسة وسوف تجد هنا كل شيء عن الكراك إن شاء الله.
يتبع
هنا يتم التعريف ببرامج الكراك وهى كالتالى:-
برنامج الDisAssembly
برنامج W32Dasm (http://www.exetools.com/files/disassemblers/wdasm89.zip)
برامج الDebug
برنامج SoftIce (http://www.newhua.com/down/si405w9x.zip)
السيريال (http://www.ashrafcracker.netfirms.com/Patch/Softice.zip)
برنامج Smart Check (http://www.crackbest.net/unlock/debug/SC603.exe.zip)
السيريال (http://www.ashrafcracker.netfirms.com/Patch/SmartCheck.zip)
برنامج Ollydebug (http://www.anticrack.de/downloads/tools/debugger/odbg109.zip)
برنامج تحرير الHex
برنامج Hview (http://exetools.com/files/hex-editors/hiew611.zip)
برامج الDecompiler
برنامج DeDe (http://dede.zadnik.org/dede/DeDe.3.50.02.1619.bin.rar)
برنامج Windows Installshield Decompiler (http://pham.bulhosting.com/protools/files/decompilers/wisdec.zip)
برنامج Vb Decompiler (http://pham.bulhosting.com/protools/files/decompilers/wisdec.zip)
برامج الباتش
برنامج CodefusionV3.0 (http://ftp.elf.stuba.sk/packages/pub/pc/utilprog/codefs30.zip)
برنامج crackmakerV1.0 (http://www.ashrafcracker.netfirms.com/Patch/crackmaker.zip)
برنامج PatchEngine (http://pham.bulhosting.com/protools/files/patchers/patchengine.zip)
برنامج R!SC's Process Patcher v1.5.1 (http://www.ashrafcracker.netfirms.com/Patch/patch%20for%20packed.zip)
برنامج Registry Patch Creator (http://www.ashrafcracker.netfirms.com/Patch/Registry%20Patch%20Creator.zip)
برامج الUnPack و الPack
توجد هذه البرامج في هذا الموقع http://protools.cjb.net (http://protools.cjb.net/)
برنامج ProcDump32 (http://66.36.228.12/protools/files/unpackers/pdump32.zip)
برامج الMonitor
برنامج File Monitor (http://www.sysinternals.com/files/FILEMON.ZIP)
برنامج Registry Monitor (http://www.sysinternals.com/files/regmon95.zip)
برامج متنوعة
برنامج ExeScope V6.30 (http://hp.vector.co.jp/authors/VA003525/EXESC630.ZIP)
السيريال (http://www.ashrafcracker.netfirms.com/Patch/Serial.zip)
برنامج Final Release (http://www.iespana.es/viperk/fixl.zip)
شرح برامج الكراك :-
أولا : برنامج الDisAssembly
يعتبر برنامج الW32Dasm من أفضل برامج الDisAssembly وسوف نستخدم هذا البرنامج في كثير من البرامج مع برنامج Hview جنباً إلى جنب وإليك هذا الباتش. ووظيفة هذا الباتش أنة عندما تفتح برنامج بالW32Dasm تستطيع تحريرة بالHview
وقبل تشغيل الباتش تأكد من إزالة علامة الصح أمام (Read Only) لبرنامج W32Dasm وبعد تشغيل الباتش إليك صورة البرنامج :-
http://aboumarwane.jeeran.com/DisAssembly1.jpg
1- إختيار الملف المراد فتحة "open the file to disassemble"
2- تخزين الملف لحين إستخدامة مرة ثانية "Save Disassembly Text File and Create Project File"
3- البحث عن نص "Find Text"
4- نسخ الخط الذي تختارة "Copy Selected Lines"
5- الذهاب إلى بداية الكود "Goto Code Start"
6- الذهاب إلى نقطة دخول البرنامج "Goto Program Entry Point"
7- إختيار رقم الصفحة المراد الذهاب إليها "Goto Page"
8- إختيار موقع الكود المراد الذهاب إلية "Goto Code ********"
9- عند الضغط على أمر قفز سيظهر لك هذا الزر وعند الضغط علية سيتتبع أمر القفز "Execute Jump"
10- الرجوع إلى أمر القفز الذي قفزت منة "Return From Last Jump"
11- عند الضغط على أمر نداء سيظهر لك هذا الزر وعند الضغط علية سيتتبع أمر النداء "Execute Call"
12- الرجوع إلى أمر النداء الذي قفزت منة "Return From Call"
13- الوظائف المستوردة "Import Function" وهي تتبع دوال الApi
14- الوظائف المصدرة "Export Function" وهي تتبع دوال الApi
15- عرض الHex من هذه الصفحة "Hex Display of Data Object"
16- عرض الHex من الشاشة الظاهرة أمامك "Hex Display of Code Data"
17- مراجع القاثمة وعندما تضغط على هذا الزر ترى جميع القوائم التي توجد في البرنامج "Menu References"
18- مراجع الحوار وعندما تضغط على هذا الزر ترى جميع الحوارات الموجودة في البرنامج "Dialog References"
19- مراجع البيانات التي توجد في البرنامج وهي عبارة عن الرسائل التي تظهر لنا وسيكون أغلب بحثنا عن الرسائل في هذا الزر فعندما نبحث عن رسالة الخطأ سيكون المقصود بهذا البحث هذا الزر "String Data References" وهذا الباتش له فائدة أخرى وهي التحرير السريع فإذا كنت تريد أن تعكس مثلاً أمر قفز إضغط "Help" ثم إضغط "QuickEdit" وإكتب الMemory ******** الذي يشمل أمر القفز سيظهر لك كود أمر القفز إعكسة ونحن عرفنا كيف نعكس أمر القفز ثم إضغط
"Save" وإذا كنت تريد تشغيل البرنامج إضغط "Run".
بعد ما تطلعنا إلى أهم الوظائف في برنامج الW32Dasm سنتطلع إلى وظيفة جديدة وهي إيجاد رقم الأوفست. ولإيجاد رقم الأوفست
أنظر إلى الشكل التالي :-
http://aboumarwane.jeeran.com/DisAssembly2.jpg
هذا هو الأوفست المشار إلية في الأسفل ولكن مع إهمال الأصفار بمعنى أنة سيكون "3E6D" ولابد أن تأخذ بالك من الأوفست لأننا سوف نبنى استخداماتنا على أساسه. وبذلك نكون قد شرحنا الوظائف المهمة في البرنامج والتي سوف نبنى عليها معظم استخداماتنا.
يتبع
شرح برامج الكراك :-
ثانيا :برامج الDebug
أ - برنامج SoftIce
هذا البرنامج هو أقوى برامج الDebug ولكن معظم استخداماتنا ستكون ببرنامج الOllyDbg ويوجد لبرنامج الSoftIce بعض الأعدادات سوف تجدها في هذا الملف وهوWinAce بعد فك هذا الملف ضعة في الSoftIce مباشرة فمثلاً إذا كنت تريد استخدام الSoftIce لعمل Breakpoint على برنامج فإليك بعض دوال Api المهمة :-
Reading/Writing files:
ReadFile
WriteFile
CreateFileA
Reading data from INI file:
GetPrivateProfileStringA
GetPrivateProfileIntA
WritePrivateProfileStringA
WritePrivateProfileIntA
Registry Access:
RegCreateKeyA
RegDeleteKeyA
RegQueryValueA
RegCloseKeyA
RegOpenKeyA
DialogBoxes:
GetWindowTextA
GetDlgItemTextA
GetDlgItemInt
MessageBoxes:
MessageBox
MessageBoxA
MessageBoxExA
MessageBeep
Time And Date:
GetLocalTime
GetSystemTime
GetFileTime
Creating a window (like a NAG)
CreateWindowExA
ShowWindow
CD-ROM Calls
GetDriveType (if eax=5 then it is a cdrom check)
GetDriveTypeA
GetDriveType Return Function codes:
الوصف القيمة
0 Drive Cannot Be determined
1 Root Dir Does not exist
2 DriveRemoveable
3 A Fixed Disk (HardDrive)
4 Remote Drive(Network)
5 Cd-Rom Drive
6 RamDisk
ولكن هناك دالة سوف نستخدمها بنسبة %99 وهي Hmemcpy وسوف نبنى عليها معظم استخداماتنا. فإذا كنت تريد استخدام نقطة كسر أو Breakpoint على أي برنامج فتُكتب بهذه الصيغة "Bpx Api" فمثلاً لو كنت تريد استخدام دالة Api ولتكن MessageBox فتُكتب
بهذه الطريقة "Bpx MessageBox" وهكذا الحال على أي دالة من دوال الApi. وإليك أنواع الBreakpoint :-
BPM Breakpoint on memory access
BPMB Breakpoint on memory access
BPMW Breakpoint on memory access
BPMD Breakpoint on memory access
BPR Breakpoint on memory range
BPIO Breakpoint on I/O port access
BPINT Breakpoint on interrupt
BPX Breakpoint on execution
BMSG Breakpoint on windows message
BSTAT Breakpoint statistics
فاإذا كنت تريد مسح خطوات الBreakpoint فإكتب الأمر التالي :-
BC Clear Breakpoint
وهناك بعض الأوامر الأخرى :-
R Display/change register *******s
U Un-Assemblers instructions
E Edit memory
? Evaluate expression
G Go to address
D Display memory
وإليك استخدام مفاتيح الكيبورد
F1 : Displays general help
F2 : Toggles the register window
F3 : Changes current source mode
F4 : Restores screen
F5 : Returns to your program
F6 : Toggles cursor between command window code window
F7 : Goes to current cursor line
F8 : Single steps
F9 : Sets break point at current cursor line
F10 : Program steps
F11 : Go to return address (large model)
F12 : Run till next modual
F8 = Trace Into
F10 = Trace Over
وبذلك نكون قد شرحنا أهم الأوامر التي سوف نستخدمها في الSoftIce.
ب- برنامج Smart Check
وإليك بعض الإعدادات لهذا البرنامج. شغل البرنامج ثم إضغط على "Program" ثم "Settings" وإفعل الأتي :-
http://aboumarwane.jeeran.com/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC%20Smart%20Che ck1.jpg
بعد عمل هذه الإعدادات إضغط على "...Advanced" ثم إفعل الأتي :-
http://aboumarwane.jeeran.com/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC%20Smart%20Che ck2.jpg
وبعد عمل هذه الإعدادات إضغط على "Reporting" ثم إفعل الأتي :-
http://aboumarwane.jeeran.com/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC%20Smart%20Che ck3.jpg
وهذه الإعدادات تعمل على فهم خطوات حماية البرنامج. برنامج Smart Check يستخدم لبرامج الفيجوال بيسك
ج- برنامج OllyDebug
هذا البرنامج يعتبر أيضا من أفضل برامج الDebug وهو يضاهى برنامج الSoftIce في قوته وإليك صورة البرنامج :-
http://aboumarwane.jeeran.com/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC%20Smart%20Che ck4.jpg
الخطوات :-
1- لإختيار الملف التنفيذي.
2- لإختيار ملف شغال حاليا.ً
3- للخروج من البرنامج.
وهذه في قائمة "File" أما في قائمة "View" سترى الشكل التالي :-
http://aboumarwane.jeeran.com/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC%20Smart%20Che ck5.jpg
وفي الشكل السابق ترى الأتي :-
1- "L" وهي نفسها "Log" وهي سجل لعمليات البرنامج.
2- "E" وهي نفسها "Executable modules" وهي توضح الملفات التي تم تحميلها عند تحميل الملف التنفيذي.
3- "M" وهي نفسها "Memory" وهي توضح الذاكرة المحملة عند تحميل الملف التنفيذي.
4- "T" وهي نفسها "Threads" وهي توضح مراحل البرنامج.
5- "W" وهي نفسها "Windows" وهي توضح النوافذ التي تُستخدم.
6- "C" وهي نفسها "CPU" وهي توضح شاشة الCPU.
7- "K" وهي نفسها "Call stack" وهي توضح الكومة المستخدمة لهذا البرنامج ونحن شرحنا سابقاً ما هي الكومة.
8- "B" وهي نفسها "Breakpoints" وهي توضح عدد الBreakpoint المستخدمة في البرنامج.
9- "R" وهي نفسها "References" وهي توضح النصوص التي تُستخدم في البرنامج.
10- "000" وهي نفسها "Run trace" ومعناها إقتفاء أثر البرنامج عندما يقوم بأي خطوة.
11- "S" وهي نفسها "source" وتعنى معرفة مصدر البرنامج.
أما في قائمة "Debug" سترى الشكل التالي :-
http://aboumarwane.jeeran.com/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC%20Smart%20Che ck6.jpg
الخطوات :-
1- "Run" تشغيل البرنامج.
2- "Pause" توقُّف مؤقت للبرنامج.
3- "Restart" إعادة تشغيل البرنامج.
4- "Close" قفل البرنامج.
5- "Step into" يخطو البرنامج لكل أمر من أوامر الأسمبلى.
6- "Step over" يخطو البرنامج لأوامر القفز.
7- "Animate into" يخطو البرنامج لكل أمر من أوامر الأسمبلى أوتوماتيك.
8- "Animate over" يخطو البرنامج لأوامر القفز أوتوماتيك.
9- "Execute till return" تشغيل البرنامج خطوة بخطوة.
10- "Excute till user code " تشغيل البرنامج.
11- "Open or clear run trace" مسح إقتفاء الأثر.
12- "Trace into" إقتفاء الأثر داخل كل أمر من أوامر الأسمبلى.
13- "Trace over" إقتفاء الأثرلأوامر القفز.
14- "Set condition" وضع أمر شرطي.
15- "Close run trace" قفل تشغيل إقتفاء الأثر.
شاشة الCPU هي :-
http://aboumarwane.jeeran.com/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC%20Smart%20Che ck7.jpg
فإذا أردت البحث عن نص فإضغط Right Click على هذا الشكل ثم إختار "All Referenced text strings" ستذهب إلى نافذة النصوص وإذا أردت البحث عن رسالة إضغط Right Click ثم إختار "البحث for text". إذا أردت الذهاب إلى أي Memory Address إضغط على "Ctrl+G" ثم إكتب الMemory Address الذي تريده. وإذا أردت أن تغير أمر من أوامر الأسمبلى قف على هذا الأمر ثم إضغط Double Click وغير الأمر ثم إضغط "Assemble". وبذلك نكون قد شرحنا الوظائف المهمة في الOllyDbg.
يتبع.
شرح برامج الكراك
ثالثا : برنامج تحرير الHex
يعتبر برنامج الHview من أفضل برامج تحرير الHex.فإذا كنت تريد فتح ملف تنفيذي بالHview شغل الHview ثم إضغط على "Alt+F1" سترى الشكل التالي :-
http://aboumarwane.jeeran.com/%D9%84Hex1.jpg
من هذا الشكل إختار الDrive الذي يوجد به البرنامج وعند إختيار الDrive تحرك بالأسهم لأعلى أولإسفل لإختيار المجلد الذي يوجد به البرنامج ثم إختار الملف التنفيذي وبعد الإختيار إضغط Enter ثم إضغط F4 لإختيار النظام الذي سنعمل به كما في الشكل التالي :-
http://aboumarwane.jeeran.com/%D9%84Hex2.jpg
وبعد الإختيار إضغط Enter فإذا كنت تريد البحث عن Offset معين إضغط F5 ثم اكتب الOffset الذي تريده. فإذا كنت تريد عكس أمر قفز من Je إلى Jne فهناك طريقتين :-
الطريقة الأولى :
إضغط على F3 ثم حرك السهم ناحية اليمين كما في الشكل التالي :-
http://aboumarwane.jeeran.com/%D9%84Hex3.jpg
هل ترى أمر القفز المشار إلية في الصورة عندما تحرك السهم ناحية اليمين سترى شرطة تحت الرقم كما في الصورة وإذا كنت تريد
تغيير هذا الرقم فإضغط على الرقم 5 لتحولة إلى 75 وبذلك تكون قد عكست أمر القفز من Je إلى Jne وإذا كنت تريد حفظ التغيرات إضغط F9 وإذا كنت تريد الخروج إضغط F10 وبذلك نكون قد عكسنا هذا الأمر بهذه الطريقة.
الطريقة الثانية :
عندما تقف على أمر القفز إضغط F3 ثم F2 ومعنى F2 أنك تريد أن تغير من أمر الأسمبلى نفسة كما في الشكل التالي :-
http://aboumarwane.jeeran.com/%D9%84Hex4.jpg
وإذا كنت تريد تغيير أمر القفز فحرك بالأسهم إلى اليمين أو الشمال فمن الممكن أن تُحرك السهم ناحية الشمال وتعكس أمر القفز من Je إلى Jne وبذلك نكون قد عكسنا هذا الأمر بهذه الطريقة.
وبذلك نكون قد إنتهينا من شرح أهم الأوامر ببرنامج الHview
شرح برامج الكراك :
ثامنا : البرامج المتنوعة
أ- برنامج ExeScope
يعمل هذا البرنامج على تحرير البرامج. شغل البرنامج وسترى الشكل التالي :-
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A91 .jpg
إضغط على "File" ثم "Open" ثم إختار الملف التنفيذي وعند إختيارة سترى الشكل التالي :-
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A92 .jpg
عندما تضغط على "Resources" ستنسدل هذه القائمة الواردة أمامك في الصورة ومن هذه القائمة تستطيع التغيير في البرنامج وهذه هي وظيفة هذا البرنامج.
ب- برنامج Final Release
وظيفة هذا البرنامج معرفة إذا كان البرنامج المراد كسرة مصنوع بأي لغة من لغات البرمجة أو مضغوط بأي برنامج من برامج الPack أو مشفر بأي برنامج من برامج التشفير. شغل البرنامج وسترى الشكل التالي :-
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A93 .jpg
بعد الضغط إختار اللغة كما في الشكل التالي :-
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A94 .jpg
وإذا كنت تريد معرفة إذا كان البرنامج المراد كسرة مصنوع بأي لغة من لغات البرمجة أو مضغوط بأي برنامج من برامج الPack أو مشفر بأي برنامج من برامج التشفير إفعل كما في الشكل التالي :-
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A95 .jpg
بعد الضغط على "...Open File" وإختيار الملف التنفيذي إضغط على "Scan" ثم إضغط على "Compiler" سترى مثلا هذا الCompile كما في الشكل التالي :-
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A96 .jpg
وهناك طريقة أخرى وهي :
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A97 .jpg
إضغط على "Tools&Options" ثم إختر "All Files" ثم إضغط Apply وبذلك تستطيع أن تعرف إذا كان البرنامج المراد كسرة مصنوع بأي لغة من لغات البرمجة أو مضغوط بأي برنامج من برامج الPack أو مشفر بأي برنامج من برامج التشفير عن طريق ضغط Right Click على أي ملف ثم إضغط "file insPEctor" ثم إضغط على "Compiler" سترى ما هو نوع الPacker أو
الCompiler أو الProtector وهذه هي وظيفة هذا البرنامج.
ج- برنامج HexDecOctBin Converter
وظيفة هذا البرنامج هو تحويل بين الHex والHexDecimal والOctal والBinary. فمثلا إذا كنت تريد أن تحول من Decimal إلى HexDecimal فإكتب في خانة الDecimal الأتي :-
http://aboumarwane.jeeran.com/8-%20%20%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC%2 0%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%88%D8%B9%D8%A98 .jpg
فهذا الرقم وهو 292 عندما نكتبه سترى هذه الأرقام ظهرت أوتوماتيك في الخانات الأخرى وهذه هي وظيفة هذا البرنامج.
اسالكم الدعاء واتمنى ان يفيدكم الموضوع