مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
شكرا على الموضوع الرائع
:ciao: :ciao: :ciao: :ciao: :ciao: :ciao:
مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
مشكووووووووووووووور ونتمني الاستمرار في القاء الدروس
وتقبل تحياتي
مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
يسلموا على هذا الدرس القيم
مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
مشكور والله موضوع يستحق التثبيت
مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
الإخوة الأعزاء: S.E.V.P, Big Blue, الامير الفارس,bilind:ciao: شكرا على مروركم الكريم، وأهلا بكم .... :shakehand
مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
الســــــلام عليكم إخوانـــي :ciao:
الـــــدرس الــــــرابع:
الــــجزء الأول:
مدخـــل إلى لغة التجميع-التكوين- للــكـــــاسرين ; Assembler Language for Crackers
التجميع أو التكوين ،ترجمة للكلمة الأعجمية assembly ويرمز لها عند الكاسرين بـــ ASM .
كما رأيتم في الدرس الثالت فإن تعلم الكسر يتطلب منا تعلم لغة التـــــجميع بالضرورة، ذلك أن من تعلم لغة قوم أمن شرهم ، وعرف طريقة تفكيرهم و طرق عملهم ... وطبعا ليس كل ما في هذا المجال يجب الأخذ به. سوف نركز على ما به يحصل الفهم و القصد، وما يحتاجه المبتدئ وكل كاسر خلال عمله....لا تنزعجوا، فسنبسط الأمر بقدر المستطاع، وتعلم هذه المبدئيات يساعدك في فهم كل تقنيات وأدوات المعلوماتية، وفهم حاسبك وكل ما يتعلق بالبرمجة والمعلوماتية، ولك أن تتعمق بعد ذلك إلى أن تثلم من العلم وتصير كجهاز حاسب....
1) الـــــمعــــالج "CPU" Processor :
هو دائرة الكترونية من" السيلسيوم selicium" ، تعد الوحدة المركزية للحاسب ،و هوقلبه النابض وعقله المشغل (أنظر الصورة). المعالج (وليس العلج) :uicon10: مكون أساسا من عناصر تسمى العوابر transistor. وظيفته معالجة المــــــعلومات و تنفيد أوامر الذاكرة. يستقبل المعالج المعلومات ويحولها إلى لغته التي يفهمها وهي لغة الأرقام، تكون عموما على شكل تركيبة من رقمين 0 و 1 ؛ فالصفر يرمز لعدم عبور التيار الكهربي "منطفئ؛ بارد" و 1 يرمز لعبوره "مشتعل؛ ساخن" . http://dinozen.jeeran.com/CPU.jpg
المعالجات أنواع : عائلة 80×86 ( × مثل: 386،486،586،.....)، ARM ، MIPS ، MOTOROLA 6800 ، POWER PC ، SPARC , يعمل المعالج بتردد معين يمثل سرعة تنفيذه للتعليمات (الأوامر)، تقاس هذه السرعة بالــ " Hertz "، اليوم وصلنا إلى " 4 Pentium" وقريبا " 5" ، وهذه الأخيرة تميز معالج عن غيره .
الـــــتعـــلـــيمات : Instructions
هي اوامر يقوم بتنفيذها المعالج CPU كتعليمة : اقرأ، افتح، قارن، اذهب إلى، خزن،... . تخزن التعليمات في ذاكــــــــــرة الحاسب . تنقسم كل تعليمة إلى شقين (حقلين) :
-رمز الــــــتعـــليمة
- رمز محــــــتوى الـــــتعليمة؛ وهذا يمثل مواصفات التعليمة، فيمكن أن يكون معطيات أو عــــــنوان رســــــالة في الذاكرة. ونمثل ذلك بجدول،هكذا:
http://dinozen.jeeran.com/tab1.JPG
مثال : رأينا في الدرس التطبيقي السابق (الدرس 3) تعليمات مترجمة في المفكك WinDasm هكذا:
http://dinozen.jeeran.com/windasm_instruct1.jpg
التعليمات قد تكون أربعة أنواع : دخـــــــول إلى الذاكــــرة أو تحويل معطيات بين السجلات(2)، عمليات حسابية (جمع،طرح،......)، عمليات منطقية (و AND ،أو OR ، لا NO ،......) ، الـــــــــمراقــــبة. عدد الأكتيات "Octets" للتعليمة يتراوح من 1 إلى 4.
2)الـــــسجلات Registers : السجلات هي أماكن فيزيائية "هيئية" توجد في المعــــالج (أنظر الصورة)، تقوم بدور مذكرات يــــخــزن فيها المعالج تعليماته (مؤقتا) قبل تنفيذها. والكاسرون يهتمون جدا بهذه الوحدات....سعة السجلات تقاس بالــ" bit " قد تكون: 8، 16، 32، 64. كلمة " bit " مشتقة من Binary Digital ، ومعناها رقم ثنائي، أو ثنائي رقمي.
http://dinozen.jeeran.com/CPU_registers.jpg
الــ" bit " هو أصغر وحدة ممكنة في ذاكرة الحاسب؛ ويصلح تسميته بكلمة "خـــــــــانة" .
http://dinozen.jeeran.com/tab2.jpg
القرصان الكاسر يهتم بقراءة ومعرفة ما بداخل المسجلات، لكي يحصل مثلا على الرقم التسلسلي Serail number أو أي معلومات مفيدة :27: .... ومن هنا إلزامية دراسة لغة هذا المعالج . أ) نظام الحساب والعد لدى المعالج :
قدم العرب خدمة عظيمة للبشرية في مجال الحسابات...وتمكن الإنسان إنطلاقا من الحضارة الإسلامية بأن يحسب بطريقة عبقرية و صحيحة...فعندما نكتب ما نعده فإننا نكتب: 0، 1، 2 ، 3 ، ...،9. طريقة لعد هذه، تسمى القـــاعدة (النظام) العشري Decimal Base، لأنه لدينا 10 أرقام تشكل أساس عدنا (من 0 إلى )9، فقاعدته هي 10.مثلا العدد : http://dinozen.jeeran.com/equat1.jpg ، .....وهكذا .
المعالج ليس عقل بشري، بل هو من نتاج العقل البشري، وقد اخترع البشر طرق للحساب تتناسب مع عمل المعالج ولقنوها إياه. لا يدرك المعالج إذا غير قيمتا التيار المار في مكوناته 0 و 1. وباقي الأعداد والأوامر والمعطيات لديه هي عبارة عن حسابات مكونة من 0 و 1. ومن هنا جاء ما يسمى قـــاعدة العد الثنائية (نظام العد الثنائي) Binary Base ، وتعتمد على قيمتي 0 و 1 وتركيبهما لتمثيل الأعداد الأخرى؛ وكل عدد يمكن كتابته و تفكيكه في هذه القـــاعدة كالتالي: مثلا نأخذ العدد :
http://dinozen.jeeran.com/equat2.jpg.....وهكذا.
نأخذ مثلا خانتان رقميتان داخل المعالج، في لغة المعالج يمكن أن تحملا 0 و 1 ليس إلا، ولكن عدد التبديلات يمنحنا ما يلي:
http://dinozen.jeeran.com/tab3.jpg
و عدد الإمكانات هو: 4 ؛( بما أن لدينا رقمين وخانتين ، إذا 2×2=4 ) . فنستطيع أن نحسب من 0 إلى 3.
وإذا كيف نكتب العدد 4؟؟، والجواب لا بد من اظافة خانة أخرى: وبذلك يكون 4 ممثل بخانة من الشكل 100 (و تقرأ من اليسار إلى اليمين).
الآن نتصور معي لو كان لدينا 4 خانات، طبعا سوف يزداد عدد الأرقام الممكن عدها، كالتالي :
http://dinozen.jeeran.com/tab4.jpg
و عدد الإمكانات هو: 2×2×4=16 . فنستطيع أن نحسب من 0 إلى 15. وهذا ما يسمى نظام العد السداسي أو السادس عشر Hexadecimal .
سوف تقول لي لماذا نتوقف عن العد بالنظام (القاعدة) السادس العشري عند 9 ونستبدل الباقي بـأحرف أبجدية الأعجمية اللاتينية ؟؟؟ :stupid:. الأمر بسيط؛ لأن العدد المكون من خانتين يخلط على المعالج الأمور ويكلف مساحة كبيرة من الذاكرة، لهذا جاءت فكرة تمثيل كل "عدد برقمين" بواسطة أحرف حتى نوافق نظام الخانات....
وهذا هو نظام العد السداسي أو قاعدة السادس عشر Base Hexadecimal ، وأساسها إذا هو الرقم 16. طبعا سوف تستنتج أنه الآن بإمكاننا تمثيل وتخزين كثير من المعلومات في المسجل...
(ويمكنك أن تخترع قواعد خاصة بك تحسب بها.....http://www.absba.org/vb/images/smilies/biggrin.gif )....
الآن تصور معي لو كان لدينا عدد من 8 خانات وهو ما يسمى الـــ Octet ، طبعا سوف يزداد عدد الأرقام الممكن عدها، ويمكننا من تمثيل وتخزين أعداد من 0 إلى 255 (إذا 256 إمكانية؛ ما يمثل 2 قوة 8= 2 قوة"أس" ن ). وهذا ما يمكننا من انشاء نظام (قاعدة) ثمانية، أساسها 8 خانات (واحد " أوكتيOctet ")
http://dinozen.jeeran.com/tab5.jpg
والآن هل عرفت لماذا نستعمل قاعدة (نظام) العد السادس عشري؟؟:confused2....طبعا لأنه يمنحنا ربح عدد الخانات، وبذلك ربح الذاكرة والسرعة في الحساب... و هل عرفت لماذا نقول معالج من نوع bits4 (Octet 2/1 ) ، bits8 (Octet 1 ) ، bits16(Octets 2 ) ، bits32، bits64 ....؟؟؟. وأيضا "ذكرة بـــ256ميغا أوكتي ، و512 ميغا أوكتي،....؟؟؟:irked: . أتمنى أن يكون الرد بنعم... http://www.absba.org/vb/images/smilies/biggrin.gif
نكتفي بهذا القدر حتى ادعكم تستوعبوا. وإلى تكملة هذا الدرس قريبا إن شاء الله....أستودعـــــكم الله:bigok:... ------------------------------- يــــــتبع....----------------------------
مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
موقع MegaUpload محجوب عندنا في السعودية
مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
السلام عليكم:ciao:
للإخوة الذين لم يستطيعوا تحميل الأدواة ، هذا رابط لموقع تحميل آخر.....أتمنى أن لا يكون محجوب لديكم...:
http://d.turboupload.com/d/74001/Toolscrackme1.rar.html
:D
مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
...... تكــــــملة الـــــدرس 4 ......
ب) أنـــــواع الـــــمسجلات :
يوجد 5 أنواع من المسجلات. ، وهي:
1- المسجلات العــــامة (General Registers) :
و تدعى أيصا مسجلات الأغراض العامة (Registers Purpose General) ، وتعرف أيضا بمسجلات المعطيات (data registers)، و هي: A X ، B X ، CXِ ،DX؛هذا في حالة المسجلات ذات الطول 16بيت(bytes) ،و يظاف لها حرف (E) عندما تكون مسجلات من نوع 32بيت(bytes) لتصبح؛
EAX ، EBX ،ECX ، EDX . وكل منها ينقسم بدوره إلى جزئين (علويHigh ، و سفليLaw). AX يسمى المسجل المكدس "المركم"Accumulator register ، BX يسمى المسجل القاعدي Base register ،CX يسمى المسجل العداد Counter register ،DX يسمى مسجل المعطيات Data register.
2- مسجلات الـــقطع- الأقسام – Segment registers:
وهي: CS مسجل قطعة الرمز (الشفرة)Code Segment ، DS مسجل قطعة المعطياتData segment ، SS قطعة التكديسStack segment ، ES مسجل القطعة الخارجيةExtra segment، FS و GS وهما مسجلان قطعتان اظافيتان في حالة 32بيت(bytes) . يمكن أن نتخيلها شبه "سندويتش Hamburger " طبقاته مكدسة؛ فالطبقة العليا تكون الأخيرة بوضعها لكنها الأولى بتناولها،....
3- مسجلات الـــفهرسة -الدليلية –Index registers : وتدعى أيضا بالمسجلات المؤشرةPointer registers ، وهي ذات 16 بيت (32 بيت) ، تستعمل أساسا للتعليمات الحرفية String instructions، وهي:
SI أو (ESI) المسجل دليل المصدرSource index ، DI أو ( EDI) المسجل دليل الوجهةDestination index. وهي تخدمنا عندما نبحث عن الرقم التسلسليserial number لبرنامج و كذلك لقراءة حوارات النوافذ...
4- مسجلات الـــــتأشير Pointer registers :
وهي: BP أو (EBP ) المسجل المؤشر القاعدي Base pointer ،و SP أو(ESP) المسجل المؤشر التكديس Stack pointer .
5- مسجلات الــــحالة و الــــتحكم Control and Status Registers :
الأول هو IP أو( EIP )المسجل مؤشر التعليمة Instruction pointer، هذا الأخير لا نستطيع التحكم فيه مباشرة وذلك لأنه يخزن عنوان Address التعليمة الموالية الموجودة في مسجل قطعة الشفرة ( الرمز)؛ CSCode Segment. نذكر أن تعليمات القفز والتكرار هي تعديلات للمسجل IP.
و الثاني هومسجل الأعلام (الرايات) Flags register , فمثلا إذا كان لدينا تعليمة هكذا:
قارن(Compare ) قيمة المسجل AX بقيمة BX ؛ ; CMP AX, BX
إقفز(Jump) إلى 00124531 إذا كانت الراية 0 "سفر؛Zero " مرفوعة؛ 00124531 JZ
http://dinozen.jeeran.com/shema_registera.jpg
مــــــدخل إلى تـــعليمات لغة الـــتجميع (Introduction to assembly instructions ) :
كل تعليمة في التجميع مكتوبة بالأحرف الأعجمية الأنجليزية بجانبها أرقام ،و تتكون من التعليمة من جزئين: جزء الأمرInstruction مثل (move، add ،cmp،...) ،وجزء الواسطة Operand وهي التي تحدد محتوى وطبيعة الأمر، كأن يكون قيمة أو عدد، أو غير ذلك كأن تكون تعليمة بذاتها أو أمر. والوسائط عدة، ونذكر منها: -معطيات مباشرة و ثابتة كأن تكون عدد ثابت، -مسجل ، مكان في الذاكرة، - عنوان،...وهكذا.
تعليمات لغة التجميع كثيرة، وسوف نذكر التي تهمنا ككاسرين:
1) المصدر source ,الوجهة Mov destination :
إنقـــل (حرك) الرقم 10 إلى المسجل ax؛ mov ax,10; put 10 into ax
2) رقم number , قاطع INT interrupt :
نادي "مقاطعة"خدمةال"دوس" ؛ int 21h ; Calls DOS service
نادي المقاطعة الصورية للــ"بيوس " ؛ int 10h ; Calls the Video BIOS interrupt
3) معلومة PUSH data :
ادفع cx الى المكدس ;put cx on the stack ؛ ; push cx
4) عنوان CALL address :
نادي ( استدعي ) 10284312 ; CALL 10284312
Calls the function at address 'address', once the function has finished, the code with continue the line after the call.
تستدعيالدالةالتيبالعنوانالمعطى،وعندماينتهيعملالدالةفإنالرمزيستمربعدالإستدعاء .
5) قيمةvalue , مسجلأو متغير CMP register or variable :
وعادة ما تتبع بتعليمة القفز التالية: اقفز (شرطية ؟؟) إلى وجهة jxx destination
مثال: قارن قيمة المسجل al بـــــالحرف Y ؛ ; ' cmp al,'Y
اقفز اذا كان نعم if it is equal then jump to ItsYES ؛ ; je ItsYES
6) إختبر TEST :
7) إرجع RET return :
تأمر المعالج بالعودة إلى عنوان منادات الدالة.
8) التدفق و التحكم في القفز Jump on Condition Instructions :
كل تعليمات القفز تأتي عموما بعد المقارنة كأن يقارن الرقم السري الذي تدخله مع الرقم الصحيح لدى البرنامج. فإن أصبنا فنكون قد فتحنا وكسرناه وإن لم ننجح كنا قراصنة فاشلين.... وسوف نتعامل معها كثيرا ان شاء الله. وفي الجدول التالي لدينا معظم القفزات المستعملة:
http://dinozen.jeeran.com/jump_taba.jpg
تــــطـبــيــق للتمرن: كتابة أول برنامج بلغة التجميع ؛ http://www.absba.org/vb/images/smilies/biggrin.gif
قم بفتح نافذة نظام الدوس Dos وذلك بالضغط على زر (demarrer )start في أسفل نافذة الـwindows explorer ، ثم اخترprogram ثم Accesory (او شيئ من هذا...،لأن نظامي بالفرنسية...).
اتبع الخطوات تدريجيا كما هي موظحة بالصور (ولا تنسى أن تضغط على Enter بعد كل تعليمة .
اكتب debug ثم أكد بــ enter ، وستظهر لك شرطة (خط صغير) :
http://dinozen.jeeran.com/dos1a.jpg
هكذا تكون قد دخلت إلى مصرف debuger نظام إستغلال الحاسب " الدوس" ، طبعا إذا شئت أن تعرف الـHelp قم بكتابة علامة استفهام (ولا تنسى أن تأكد بـ Enter)، سوف يظهر لك نافذة كهذه:
http://dinozen.jeeran.com/dos2a.jpg
اكتب كما بالصورة 100A (ولا تنسى بعدها أن تأكد بـ Enter)، هذا يعني أنك تطلب من البرنامج أن يبدئ من العنوان 100 (طبعا تستطيع أن تغير هذه القيمة...)، لاحظ :
http://dinozen.jeeran.com/dos3a.jpg
ابتدئ ببرمجتك واعطاء التعليمات، ولتكن هكذا (انقل القيمة 1 في المسجل ax ) :
http://dinozen.jeeran.com/dos4a.jpg
ثم:
http://dinozen.jeeran.com/dos5a.jpg
(ولا تنسى بعدها أن تأكد بـ Enter)،
http://dinozen.jeeran.com/dos6a.jpg
(ولا تنسى بعدها أن تأكد بـ Enter)،
لإنهاء البرمجة اضغط على الزر Enter مرة أو مرتين حتى تحصل على الخط الصغير (الشرطة)...
http://dinozen.jeeran.com/dos7a.jpg
لاحظ الآن سوف نقوم بقراءة في المسجلات داخل المعالج، لذلك اكتب R (ولا تنسى بعدها أن تأكد بـ Enter):
http://dinozen.jeeran.com/dos8a.jpg
الآن سوف نعمل تتبع (اقتفاء الأثر)Tracing ويعني تنفيذ البرامج خطوة بخطوة ، لذلك اكتب حرفT (ولا تنسى بعدها Enter):
http://dinozen.jeeran.com/dos9a.jpg
لاحظ كيف تتغير قيمة كل مسجل؛ هنا بدئ المعالج في تنفيذ برنامجنا المكتوب، وبدأت المسجلات تنفد التعليمات...انتبه الى المسجلbx ...
اكتب حرفT (ولا تنسى بعدها Enter):
http://dinozen.jeeran.com/dos10a.jpg
اكتب حرفT (ولا تنسى بعدها Enter):
http://dinozen.jeeran.com/dos11a.jpg
شاهد حاصل الجمع 3 (وضع في المسجل ax بدون أمر منا ).
اكتب لمعرفة التغيرات الأخرى في المسجلات ، تابع كتابة حرفT (ولا تنسى بعدها Enter):
http://dinozen.jeeran.com/dos12a.jpg
لإنهاء العملية ، اكتب حرف Q ومعنا غادرquit . للخروج من الدوس اغلق النافدة أو اكتب exit .
نتوقف هنا لنكتفي بهذا القدر. وإلى الدرس الخامس ( وسيكون كسر وتطبيق أكثر لما كنا بصدده) إن شاء الله. أستودعكم الله، ولا تنسونا وصالح المسلمين بدعائكم الطيب.... http://www.absba.org/vb/images/smilies/biggrin.gif
مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
بـسم الله الـرحمــن الـرحيم،
الدرس الخامس "5":
السلام عليكم، :ciao:
مقدمة:
رأينا في الدروس السابقة تعليمات القفز ، وكيف نكسر البرنامج بمجرد تغيير القفزة. وقلنا أنها غالبا ما نجدها بعد المقارنة "cmp" ، كأن يقارن البرنامج الضحية الرقم السري الذي تدخله مع الرقم الصحيح في ذاكرته. فإن أصبنا فنكون قد فتحنا الحماية protection وكسرناه، وإن لم ننجح كنا قراصنة فاشلين... . في البرامج المحمية بكلمات السر والأرقام التسلسلية ، نجد دائما تعليمات المقارنة و الدورات boucles وذلك للتأكد من أنك تملك رقم تسلسلي صحيح. يمكن أن نمثل ذلك بالمخطط التالي:
http://dinozen.jeeran.com/schema0.jpg
إن تعليمة jump if not equal ; jne هي تعليمة بالقفز مشروطة بعدم المساواة وتأتي بعد المقارنة عموما (فهي تابعة لمقارنة بالسلب) . وأما jmp (jump) فهي تعليمة بالقفز غير مشروطة بشيئ (غير تابعة لمقارنة). ما قمنا به في الدرس 3، عند كسر CrackMe1 هو تعطيل فاعلية الـقفزة الشرطية jne ، وذلك بجعلها "نوبة ؛Nop " .
إذا إحدى طرق الكسر هي تعطيل فاعلية الـقفزة ( شرطية أم لا). فنبحث عن القفزة ونغير قيمتها لتصبح عدم قفز أو قفز لمكان آخر أو شيئ من هذا القبيل الذي يكتسب بالخبرة.
وفيما يلي جدول لأهم القفزات و التعليمات التي نحتاجها وما يكافئها في لغة التجميع:
http://dinozen.jeeran.com/schema_jmp1.jpg
في الجدول أعلاه 74 ، 75 ،EB ، هي قفزات قصيرة . و لكن E9 ، 0F84 ،0F85 ، هي قفزات طويلة.بعد القفزات القصيرة نجد طول القفزة ممثل في قاعدة السادس عشر (أو عدد الخانات octets المقفوزة). وبما أن الـ octet هو 8 خانات (4+4 ؛ خانات) فإنه يمثل برقمين في القاعدة 16، يتراوحان بين 00 و FF.القفزات الطويلة هي قفزات أكبر من FF ونمثلها بمكافئ القفزة بجانبه طول القفزة؛ كـ EB04، الذي يمثل القفزة jmp بأربعة 4 octets (4 بيوت؛4 bytes ) وهو ما قيمته 32 خانة.
والآن هيا بنا للتطبيق....
الأدواة المستعملة: المفكك 9Win32Dasm ، و HexDecCharEditor .
البرنامج الضحية : ، StartcleanV1.2 حجمه: Ko 31 ، و مدته التجريبية 30 يوم .
للتحـــمـيـل من هنا ...
وظيفة البرنامج: هذا البرنامج يقوم بمسح كل الوصلات ( sraccourcis ; Short cut ) التي لا فائذة منها ولا تأدي لأي مصدر.
درجة الصعوبة: ســـــهل !.
الخطوات:
نتبع نفس خطوات الدرس الثالت : افتح البرنامج الضحية لتتعرف عليه (البرنامج محمي بكلمة سر ؛وهي عبارة عن اسم ديننا الحنيف بآخره رقم 1؛ " 1 ***** " . نافذة الضحية تظهر هكذا (الصورة):
http://dinozen.jeeran.com/starclean0.jpg
لحظ أن المدة التجريبية هي 30 يوم فقط...
حاول أن تسجل نسختك لتحصل على نسخة دائمة ؛ بإدخال المفتاح Code والإسم Name، و سوف تظهر لك نافذة هكذا ( الصورة) :
http://dinozen.jeeran.com/starclean1.jpg
إن استطعت التسجيل فأنت أكثر من محظوظ ، بل إنك مستجاب الدعوات... .
قبل كل شيئ قم بعمل نسخة إحتياطية للبرنامج الضحية .
بع هذا لنأخذه إلى المفكك 9 WinDasm و نبدئ في إستنطاقه وبحثه :twak:، إتبعوا نفس خطوات الدرس الثالت:
http://dinozen.jeeran.com/buton1.JPG ثم http://dinozen.jeeran.com/buton5.JPGثم http://dinozen.jeeran.com/buton19.JPG و سترى ما يلي:
http://dinozen.jeeran.com/windasm_messg1.jpg
نختار رسالة الخطأ التي نجدها عندما نريد التسجيل " Incorrect Code " ، ثم نصعد قليلا نحو الأعلى هكذا:
http://dinozen.jeeran.com/windasm_messg2.jpg
نذهب بعد ذلك إلى عنوان الرسالة "Code Location" رقم004027A3 ؛ كما هو موضح في الصورة، لنقع هنا :
http://dinozen.jeeran.com/windasm_messg3.jpg
إذا ما علينا إلا بعمل نوبة nop لهذه للقفزةje كما فعلنا في الدرس 3. وهذا بتعويض741C بـ 9090 (90 لـ 74 و 90 لــ1C)...وأدعكم تفعلون ذلك لوحدكم...
تذكير مهم: إستعمل المخرج CharEditor HexDec ولا تنسى أن تعمل نسخة إحتياطية للبرنامج الضحية وأحفظه بإسم مغاير (وليكن مثلا : exe. 1StratClean ) بعد أي تغيير في محتواه، وعندما تحفظه فليكن بصيغة exe ...
http://dinozen.jeeran.com/Hexdec_repl_1.jpg
لنعرف إذا كان البرنامج قد كسر بنجاح ، قم بتنفيذه وسجل إسمك وأي رقم تريد ، سوف يظهر لك هذه النافذة:
http://dinozen.jeeran.com/starclean_firstcrak.jpg
وهكذا تكون قد كــــسرت البرنامج.....:06:
هل أنت متأكد؟؟؟.صحيح البرنامج لا يقول Incorrect Code . إذا أغلق النافذة ، وحاول تنفيذه من جديد، وسترى هذه الصورة ( التي هي نفسها عندما شغلناه أول مرة)....، فما هو الفرق؟؟:02:....، أترى في الأعلى أن المدة التجريبية ما زالت 30 يوم؟؟...بالفعل. فمذا كسرنا؟؟؟:33:؛ ما كسرناه هو ظهور رسالة الخطأ لا غير...طبعا طريقتك سليمة لكن في الأمر "إن" قوية. !!!
http://dinozen.jeeran.com/starclean0.jpg
القصد من هذا الدرس هو تجنب الـــــخـــطأ الذي يقع فيه الكثير من المبتدئيين ، وسوف يعلمنا تجنب مثل هذه الأخطاء وأشياء كثيرة عندما ننجح بكسره... ولــــكن متى نكسره؟؟؟. النتيجة والطريقة أعطيها لكم غدا إن شاء الله:listen:....
............يتبع غدا إن شاء الله.........
مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
مشكور أخوي على الدروس وأنا من متابعيها وأتمنى أنك تكمل الدروس ^___^
مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
الأخ Devil Night :ciao: ، شكرا على مشاركتك، وأهلا وسهلا بك معنا...:D
مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
هنا الدرس الخامس 5 ، بإمتداد الــweb ، ( وهذا حتى نتخلص من مشكل الصور التي لا تظهر بالمنتديات....فكل شيء يظهر بوضوح.. :biggthump ) :
http://d.turboupload.com/d/86402/lesson5_web.htm.html
مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
لتحميل الدرس 5 بصيغة الوينوود ( Doc ) وبه الصور واضحة، ... من هنا:
http://www.uploadtemple.com/view.php/1128382232.doc
مشاركة: هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
بـسم الله الـرحمــن الـرحيم،
04 أكتوبر 2005؛؛؛ 01رمضان 2005
الــــــــــسلام عــــــــليكم:ciao:،
تـــــــتمة الدرس الخامس "5":
في البداية أهنئكم بشهر العبادة و المغفرة والرحمة "رمــــضان" ، ونسأل الله لنا و لجميع المسلمين المغفرة و حسن العبادة والفوز برحمة الله و العتق من النار.
وأزف إليكم النسخة الجديدة للمفكك 10 WinDasm ، وهي نسخة مطورة بها عدة ميزات، وقد بدأت بإستخدامها في هذا الدرس ، فأكتشفوها بأنفسكم...http://www.absba.org/vb/images/smilies/biggrin.gif
حمل من هنا:
http://www.uploadtemple.com/view.php/1128457068.rar
أو هنا:
http://www.sendspace.com/file/1w0hw7
http://d.turboupload.com/d/87744/W32dsmv10.rar.html
في المرة السابقة لم نتمكن من كسر البرنامج بنجاح بل هو الذي كسرنا pcguru:،.....
و الآن سوف أدلكم على نقاط أخرى يجب الإنتباه إليها عند الكسر:
فكك البرنامج الضحية StartcleanV1.2 (النسخة الأصلية ، وليس المبدلة) من جديد ، ثم كالعادة الزر
http://dinozen.jeeran.com/buton19.JPG وابحث عن كلمة Name (أو Code )، لأنهما الكلمتان اللتان نراهما بخانتي نافذة التسجيل للبرنامج الضحية. لاحظ أن الكلمتان تظهران عدة مرات في هيكل البرنامج (حوالي 3 مرات...) وذلك عندما تضغط على كلتيهما في خانة الـ String references . نكتفي بالتركيز على أول الكلمات Name ، سوف تقع على هذه الصورة:
http://dinozen.jeeran.com/wind_suit_1.jpg
إصعد قليلا نحو الأعلى ، وستقع في هذا الموضع، كما بالصورة:
http://dinozen.jeeran.com/wind_suit_2.jpg
وهكذا نلاحظ أشياء جديدة علينا:33:...، إنهما دالتي RegOpenKeyA و RegQueryValueExA ، فيا ترى لماذا هذان الدالتان هنا؟؟. إن دوريهما هو أخذ معلومات من قاعدة المسجلات. وهما متبوعتان بدالتين أخرتين هكذا: LstrLenA و LstrCmpA ، وظيفتيهما تفحص سلسلة حرفية و القيام بمقارنات ...،
http://dinozen.jeeran.com/wind_suit_3.jpg
هما : : LstrLenA و LstrCmpA :confused2، وظيفتيهما فحص طول سلسلة حرفية و القيام بمقارنات ....ولاحظ أيضا أن هاتان الدالتان تتكرران كلما وجدنا قرينتيهما RegOpenKeyA و RegQueryValueExA . فالأمر بدأ يتضح إذا؛ عندما ندخل معلومات التسجيل فإن البرنامج يقوم بفحصها ومقارنتها مع معلوماته المخزنة في المسجل...المهم في هذا كله أن كلتا الدالتان Lstr***A متبوعتان بتعليمتي مقارنة Test لقيمتي المسجل EAX ، بتعليمات قفز إلى رقم الرسالة 004001140. فما رايكم أن نعمل نوبة لكل من تعليمتي القفز هاتان؟. هذا ما أقترحه عليكم. إذا بدلوا je و jne بـ nop nop والآن هل رأيتم؟؟، هذه أول نافذة تظهر بعد تنفيذ البرنامج المكسور (وليس بها كلمة sharware ، بل نجد registred )، والبرنامج لا يطلب تسجيل ولا شيئ :
http://dinozen.jeeran.com/STARCLEAN_crack.jpg
لقد كسرت البرنامج على آخره، والحمد لله :fing02:...
يتبع بالدرس السادس إن شــــاء الله...
ولا تنسونا و صالح المسلمين بدعائكم الطيب عند الإفطــــــــار.