مشاهدة النسخة كاملة : هنا دروس كسر البرامج Cracking ،ولأول مرة في المنتدى... -خاص بمنتدى المنتدى فقط.
dinozen
28-08-2005, 09:17 PM
السلام عليكم،:ciao:
إسمي هو dinozen . وسوف نبدئ بحول الله وقوته في شرح دروس "الكــــــــــــــسر"؛CRACKING للبرامج المحمية بكلمات السر والتي تطلب الرقم التسلسلي أو المفتاح. وبإختصار فعلم الكسر هو عملية قراءة متأنية للبرنامج بصيغته الآلية الأصلية ،وتعديله حتى نتمكن من استعماله .:bigeyes:
الطريقة سوف تكون بالمرحلية والتدرج من السهل إلى الصعب نوعا ما.
أود أن أذكركم أن كسر البرامج ليس ممنوعا في حد ذاته، وإنما كسر برامج مسوقة ومحمية بقوانين وضعية هو الممنوع، لأن ذلك ينقص من أرباح أصحابها.....
مدخـــــــــل ل عـــــــــــــــــام:
الأدواة اللازمة:
لكي تكسر البرامج لا بد لك من برامج خاصة، و هذه قائمة لنوعية البرامج بإختلاف خواصها وأهميتها وكذلك فاعليتها:
0) عقل نيَـــــــــر:....... http://www.muslm.net/vb/images/smilies/bngo4.gif
1)المفكـــــك" أو ما يسمى بالأعجميات "désassembleur; desassembly":
وتعريفه، أنه يمكن من كشف الـإشارة أو الكودcode الأصلي للبرنامج بلغة الـassembleur;assembly ،وبذلك نتعرف على كيفية عمل البرنامج ، وما يجب كسره،وفي أي مكان يجب الكسر والتغيير، حتى يشتغل بدون حاجز.
وهذا لعمري وسيلة لابد منها.من هذه البرامج نجد مثلا:
"Windasm,IDA,... "
2)المنفد أو بالأعجمية débuggeur;debogger::ويمكن من تحليل البرنامج عند تنفيذه وتشغيله، والإطلاع على قيمة المسجلات
registres;registries ،والعمليات التي يقوم بها البرنامج. وهو ما قد نحتاجه للحصول على الرقم التسلسلي مثلا.من هذه البرامج نجد مثلا:
"Ollydbg, Softice,...".
3)مخرج (كاتب) في النظام السداسي،و عجمته؛ ُ"Editeur Hexadécimal; Hexadecimal Editor":
ويقوم بإظهار محتوى البرنامج في النظام السداسي و نضام الـ آ س ك ي؛ ASCII .ويستعمل لإحداث تغيير في لغة البرنامج لكسره.من أمثلة ذلك نجد:
HexDecCharEditor, Hex WorkShop, WinHex, Hiew, ....
4) محلل؛ Analyseur;Analyser:
يمكن من معرفة اللغة الأصلية التي كتب بها البرنامج لأول مرة،والتي عن طريقها تم ضغطه compression ،وكذلك ترميزه crypté;crypted .
مثال:
StudPe, Peid,...
5)المشــــــفر Patcheur;Patcher:
يقوم بمقارنة الملف الأصل والمنكسر ،ومن تم ينجز الشفرة Patch.
مثال:
Graphical-PatchMaker, CodeFusion, WinPatchEngine.
6) الـــممدد Unpackeur;Unpacker:
وظيفته بفك الضغط أو الترميز آليا. وكل نوع من الضغط يتطلب ممدد أو مفكك معين.
مثال:
UPX, AsPackDie.
ولا تنسوننا بصـــــــــــالح دعائكم،....
إلى لقاء آخر إن شاء الله، لنخوض الدرس التطبيقي الأول...:ciao:
باتمان2004
29-08-2005, 12:31 AM
جميل جداً يا أخي..أرجووووك تابع لأن هذا الموضوع يهمني ويهم الكثير من الإخوة..
شكراً..
dinozen
29-08-2005, 05:52 AM
شكرا لك أخي باتمان2004 (http://www.montada.com/member.php?u=116205) "Battman" على مرورك.:ciao: وأهلا بك....سوف اتابع ان شاء الله ولن أبخل عليكم، وسوف أحولكم إلى صقور كواســـــــــــــــــر:biggthump .
PC.MAX
29-08-2005, 10:35 AM
رائع جدا
أتمنى أن تكمل هذا الدرس :)
هل يجب أن أتعلم لغة assembly حتى أتمكن من كسر البرامج؟
dinozen
29-08-2005, 09:17 PM
اخي PC MAX شكرا على مرورك. لا يجب تعلم الـأسونبلي assembly لتعلم الكسر، لأننا سوف نتعرض لذلك ونأخذ ما نحتاجه فقط وهو سهل ميسر. ولكن يستحسن أن تكون لدينا معلومات قاعدية عنه. كل ما يلزم هو متابعة الدروس ففيها كل ما نحتاجه:ciao: .
PC.MAX
29-08-2005, 10:01 PM
شوقتني ^^
أتمنى أن تكمل الدرس في أسرع وقت ^_^
PC.MAX
29-08-2005, 10:06 PM
السلام عليكم،:ciao:
إسمي هو dinozen . وسوف نبدئ بحول الله وقوته في شرح دروس "الكــــــــــــــسر"؛CRACKING للبرامج المحمية بكلمات السر والتي تطلب الرقم التسلسلي أو المفتاح. وبإختصار فعلم الكسر هو عملية قراءة متأنية للبرنامج بصيغته الآلية الأصلية ،وتعديله حتى نتمكن من استعماله .:bigeyes:
الطريقة سوف تكون بالمرحلية والتدرج من السهل إلى الصعب نوعا ما.
أود أن أذكركم أن كسر البرامج ليس ممنوعا في حد ذاته، وإنما كسر برامج مسوقة ومحمية بقوانين وضعية هو الممنوع، لأن ذلك ينقص من أرباح أصحابها.....
مدخـــــــــل ل عـــــــــــــــــام:
الأدواة اللازمة:
لكي تكسر البرامج لا بد لك من برامج خاصة، و هذه قائمة لنوعية البرامج بإختلاف خواصها وأهميتها وكذلك فاعليتها:
0) عقل نيَـــــــــر:....... http://www.muslm.net/vb/images/smilies/bngo4.gif
1)المفكـــــك" أو ما يسمى بالأعجميات "désassembleur; desassembly":
وتعريفه، أنه يمكن من كشف الـإشارة أو الكودcode الأصلي للبرنامج بلغة الـassembleur;assembly ،وبذلك نتعرف على كيفية عمل البرنامج ، وما يجب كسره،وفي أي مكان يجب الكسر والتغيير، حتى يشتغل بدون حاجز.
وهذا لعمري وسيلة لابد منها.من هذه البرامج نجد مثلا:
"Windasm,IDA,... "
2)المنفد أو بالأعجمية débuggeur;debogger::ويمكن من تحليل البرنامج عند تنفيذه وتشغيله، والإطلاع على قيمة المسجلات
registres;registries ،والعمليات التي يقوم بها البرنامج. وهو ما قد نحتاجه للحصول على الرقم التسلسلي مثلا.من هذه البرامج نجد مثلا:
"Ollydbg, Softice,...".
3)مخرج (كاتب) في النظام السداسي،و عجمته؛ ُ"Editeur Hexadécimal; Hexadecimal Editor":
ويقوم بإظهار محتوى البرنامج في النظام السداسي و نضام الـ آ س ك ي؛ ASCII .ويستعمل لإحداث تغيير في لغة البرنامج لكسره.من أمثلة ذلك نجد:
HexDecCharEditor, Hex WorkShop, WinHex, Hiew, ....
4) محلل؛ Analyseur;Analyser:
يمكن من معرفة اللغة الأصلية التي كتب بها البرنامج لأول مرة،والتي عن طريقها تم ضغطه compression ،وكذلك ترميزه crypté;crypted .
مثال:
StudPe, Peid,...
5)المشــــــفر Patcheur;Patcher:
يقوم بمقارنة الملف الأصل والمنكسر ،ومن تم ينجز الشفرة Patch.
مثال:
Graphical-PatchMaker, CodeFusion, WinPatchEngine.
6) الـــممدد Unpackeur;Unpacker:
وظيفته بفك الضغط أو الترميز آليا. وكل نوع من الضغط يتطلب ممدد أو مفكك معين.
مثال:
UPX, AsPackDie.
ولا تنسوننا بصـــــــــــالح دعائكم،....
إلى لقاء آخر إن شاء الله، لنخوض الدرس التطبيقي الأول...:ciao:
على فكرة...
لمن يريد هذه البرامج هـــــنـــــا (http://www.exetools.com)
rashwa
30-08-2005, 12:17 AM
مــــــــــــــــــــشـــــــــــــــــــكـــــــــــــــــــــور
أخــــــــــــــــــــي
dinozen
07-09-2005, 06:52 AM
الدرس الثاني "2": مدخـــل للكسر وأدواته
لكي نبدئ ، يجب معرفة ما معنى الكاسر "الكراك؛ crack "؟؟ :33: .بإختصار، الكسر هو تغيير بعض القيم
Octets المنطقية أو التعليمات في برنامج ما نسميه " البرنامج الأصلي" لكي يتسنى لنا استغلاله كما نريد، كأن نشغل قرص مجانا أو نشغل برنامج من دون الرقم التسلسلي Serial number
ماذا يتطلب الكسر من أدوات عملية:؟
1- برنامج للتفكيك (مهم)كـــ WinDasm9 ؛وهو آخر إصدار ------->حمل من هنا::biggthump
http://www.megaupload.com/?d=40526B1N
2- مخرج في النظام السداسي (مهم) كـــ Hexadecimal editor ------->حمل من هنا::biggthump
http://www.megaupload.com/?d=407GJM69 (http://www.megaupload.com/?d=407GJM69)
3- مشفر أو" باتشور" Patcher ;Patcheur ، إذا أردت توزيع كواسرك للأصدقاء.
4-عقل نير وذكي بعض الشيئ،.... (مهم).:D
5- الصبر والتأني(مهم).:D
كيفية استعمال الأدوات الرئيسة "1 و 2":
أ) WinDasm :في البداية سوف نتطرق لنمط التفكيك فقط Desassembling mode .
تستعمل هذه الأداة المهــــتمة جدا للكشف عن تعليمات الملفات ذات الصيغ: *.exe , *.dll,
والآن قم بفتح ملف يحمل إحدى الصيغتان المذكورتان، ولاحظ....سوف ترى نصا محررا بلغة الحاسب الأصلية تسمى لغة الأسمبلور ويرمز لما هكذا ASM،...
تنبيه: WinDasm يرفض فتح الملفات الموجودة في مكان معقد أو بعيد،....لذلك إذا حدث وأن رفض فتح ملف فحاول تقريبه إلى مكان أقرب من الـــقرص "س" C:\
وهذه صورة واجهة البرنامج بعد تحميله وتشغيله:
http://dinozen.jeeran.com/image1_wasm.gif
ولنعرض وظيفة كل زر في القائمة الرئيسية:
http://dinozen.jeeran.com/image1aa_wasm.gif
1° يفتح ملف للتفكيك
2° يحفظ صفحات البرنامج المفكك ، مما يساعد على اعادة فتحه بسرعة اكبر،لذلك استعمل تعليمة
"Project" à"Open Project File...".
3° للبحث عن جمل أو كلمات.
4° يمكننا من نسخ " Copy" سطر، ولكن يجب الضغط على يسار السطروالحصول على نقطة حمراء اللون ؛ استعملوا الزر MAJ لتحديد عدة سطور مرة واحدة.
5° اذهب مباشرة الى نقطة بداية الترميز "الكود"؛هناك قبل البداية معلومات لا نحتاجها،....
7° اذهب إلىلصفحة معينة؛ رقم الصفحة يمكن رؤيته في أسفل نافذة البرنامج يسارا.
8°إذهب إلى الــ offset التي تريد.
9° يقفز بنا إلى المكان المحدد بتعليمة jmp.
10° يسمح لنا بالعودة والرجوع بعد إنجاز القفز المبين في التعليمة رقم 9،
11° يسمح لنا بالدخول في تعليمة المنادات أو الإستدعاء " CALL
°12 يسمح لنا بالخروج من تعليمة الإستدعاء السابقة
13° يبحث ويعرض قائمة الـ APIs للملف المفكك؛وهي عبارة عن دوال تطبيقية تساعدنا على فهم البرنامج.
14° يعرض ويبحث عن الوظائف المرسلة Exported functions
°15يمكننا من رؤية معطيات الملف المفكك في صيغة الـنظام السداسي أو الأسكي hexa & ascii
16° يسمح برؤية معطيات مقطع الـ File code منشورة.
17° يمكننا من الحصول على عناصر القوائم؛ مثل ( "copier", "coller", "nouveau"...).
18° يمكننا من العثورعلى محادثات ومخاطبات البرنامج.
19° هذا الزر مهم جدا؛ ويسمح عن طريقه برؤية مراجع المعلومات الحرفية أو ما عجمته؛
Strings Data References
وهو ما يعني إظهار نصوص نوافد المخاطبات للبرنامج او الملف المفكك، مثل:
Ivalid code, error registation,…
20° لطباعة الصفحات؛مما يساعد على دراسة البرامج بكثير من الدقة والإطمئنان...
ب) HexDecCarEditorh
هو أداة تمكننا من تغيير قيم المعطيات لأي برامج أو ملف. إذا فبرنامج الـوينداسم WinDasm
يسمح بحديد مكان المعطيات التي يجب تغييرها لكسر البرنامج، وأما HexDecCharEditor
فهو لتنفيذ التغيير المراد.
وهذه صورة البرنامج عندفتحه:
http://dinozen.jeeran.com/hex1.gif
قم بفتح برنامج معين (واحرص على أن تنسخه قبل تغيير أي شيئ....)، وسوف يظهر لك هكذا:
http://dinozen.jeeran.com/hex2.gif
الجهة اليمنى يظهر لنا المعلومات بصيغة النص واليسرى تظهر ما يكافئ ذلك بلغة الآلة ؛نظام سداسي او ثنائي،...
قم بالضغط على الزر ابحث و عوض ، و سيظهر لك هكذا:
http://dinozen.jeeran.com/hex3.gif
وهو ما يمكننا من البحث على قيمة أي خانة ثم تعويضها كما نريد....وهذا هو المراد من هذا الدرس.
نكتفي بهذا القدر في هذه المرة، وأترككم تتأقلمون وتتمرنون على الوسيلتان الممنوحتان في هذا الدرس. والسلام عليكم إلى درس آخر إن شاء الله.:ciao:
الدرس القادم سوف نباشر كسر أول برنامج .......
iam abdulla
08-09-2005, 07:08 AM
مشكووووور
وانا على انتظار شديييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييد لللدرس القادم
dinozen
09-09-2005, 02:46 AM
أخي " iam abdulla " شكرا على مرورك، ونلتقي في الدرس القدم بحول الله....
HAZEM GB
09-09-2005, 04:08 AM
مشكووور جدا اخي وجعلك الله عونا لنا والي جميع المسليمين
ahm4000
09-09-2005, 12:34 PM
جزاك الله خير على الموضوع الطيب هذا و النفع للجميع ونتمنى لك التقدم للامام
dinozen
17-09-2005, 09:53 PM
بـسم الله الـرحمــن الـرحيم،
الدرس الثالت "3": الـكسر بطريقة "النشر الــميت"
مقدمة: في هذا الدرس سوف نتعلم طريقة الكسر بـ"النشر الــميت؛ أو الساكن "، ومعناه تفحص البرنامج وهو في حالة عدم إشتغال (ساكن؛ميت)، فيكون كالميت بين يدي غاسله (بين يدي كـــاسره..). ذلك يكون بإستعمال أحد برامج التفكيك، وهو عندنا "Win32dasm9 " .
الأدواة المستعملة: المفكك Win32Dasm9 ، و HexDecCharEditor .
البرنامج الضحية: CrackMe1.exe ، و ِِحجمه: Ko 8 . حـــمــل من هنا:
http://www.megaupload.com/?d=30U88ELS (http://www.megaupload.com/?d=30U88ELS)
درجة الصعوبة: سهل جدا !!.
الخطوات:
1) نقوم بفتح البرنامج الضحية CrackMe1.exe لنرى كيف يعمل وما يحدثنا به (لن أعلمكم كيف تفتحون برنامج وتنفيده، أليس كذلك ؛ حسنا...؛.إذا اضغط على نافذة البرنامج مرة أو مرتين...). أول نافذة للبرنامج الضحية موضحة في الصورة التالية:
http://dinozen.jeeran.com/crackm1_messg1.JPG
وهي تخبرنا أن بالبرنامج حماية يجب البحث عنها وكسرها لإظهار رسالة تهنئة، وإلا....فالتوبيخ من نصيبنا...
عندما نضغط في النافذة الأولى على الزر " ok " تظهر لنا النافذة التالية:
http://dinozen.jeeran.com/crackm1_messg2.JPG
وهي طبعا للتوبيخ لأننا لم نستطع كسره....إستفزاز...أيها القراصنــــة...وا عجباه .
2) نشغل مفككنا Win32Dasm9 ، ثم نفتح البرنامج الضحية داخله؛ وذلك بالضغط على زر
Open File to Desassemble ، الممثل في القائمة الرئيسة هكذا: http://dinozen.jeeran.com/buton1.JPG
( انصحكم دائما بجعل الملف المراد فتحه في المفكك في مكان قــــــريب من القرص الصلب c:\ .).
ربما تتسائل: ما هذه الأرقام والرموز؟؟... ،في الحقيقة إنه هيكل البرنامج الضحية مكتوب بلغة الآلة ، أو لغة الأسونبلر Assemler ، و استعرابه هو "التركيب" (اللغة الأم التي يفهمها الحاسب و يعمل بها؛ وإن شئت فسمها اللغة التركيبية للحاسب....)، فكل ما يتلقاه الحاسب من أوامر و برمجيات يفهمها بلغته الأم هذه، وفي الحقيقة هي لغة سهلة وميسرة كلغة الأطفال... .
أول شيئ نفعله هو حفظ هذا المشروع ، وذلك بالضغط على الزر رقم 2 "Save disassembly textfile" في القائمة الرئيسة لـــWin32Dasm .
نقوم الآن بالضغط على الزر Goto Code Start وهو الخانة رقم 5 http://dinozen.jeeran.com/buton5.JPG (كما بيناه في الدرس السابق) ، وذلك بغرض الذهاب مباشرة إلى نقطة الدخول الرئيسة للبرنامج.
***الآن نبدأ العمل و التفحص:
أول ما يجب التفكير به هو المحادثات التي كلمنا بها البرنامج الضحية في النافذتين أعلاه ، ....ما رأيكم بالبحث على كلماته التي هي أوامر تعطى له لتنفيدها؟؟....حسنا..... نضغط على زر مفتاح مهم جدا في القائمة الرئيسة لـ win32Dasm_9 وهو الزر رقم 19 http://dinozen.jeeran.com/buton19.JPG( String Data References ؛ ) ، تظهر لنا هذه النافذة؛ كما في الصورة:
http://dinozen.jeeran.com/windasm_1.JPG
أمعن النظر. أليس هذه عبارات من الجمل الموجودة في نافذتي البرنامج الضحية؟؟؟..نعم إنها كذلك. فهذا الزر الأخير يمكننا إذا من إظهار حوارات البرنامج؛ وهو شيئ مهم إن أردنا معرفة كيف يعمل البرنامج و كيف ينتقل من حال إلى حال،.....
نقوم بالضغط مرات متتالية ومراقبة إنفعالات البرنامج داخل شاشة الـــ Win32Dasm_9 ، سوف تلاحظ -إن كنت صاحب نظر كما بالصورة الأتية:
http://dinozen.jeeran.com/windasm_2.JPG
فمجرد الضغط على جملة من الجمل يذهب بك إلى سطر معين. فكأنك ألقيت القبض على متهم لتحقق معه، وبعد إستجوابه يبدئ بالبوح فورا بدون تهديد أو تخويف ، ...إنه بالفعل برنامج بليد وخائن، بل إنه ضعيف جدا ....وهذا راجع لمهاراتك وطرق إستجوابك...
هنا المؤشر عين لنا السطر باللون الأزرق الفاتح ؛الرقم يسارا هو ما نسميه رقم الرسالة (الذي أعطاه لك المتهم الذي استجوبته..) Addres ، ومحتوى الرسالة هو"أمر بالتنفيد" push 004021c8 ؛(معناه: حرك أو ضع ما في الرسالة 004021c8)، يا سلام كل شيئ بالترميز....المهم push كلمة انجليزية كما تعلمون ومعناه إدفع وأنا إخترت ألا أترجم حرفيا ، ولكن أترجم بالمفهوم في كلام العرب (فأرجو أن يكون إستعرابي للكلمة واضحا.... ).
ربما يكون البعض بدئ فهم الحكاية؟... نغلق نافذة String Data References ،و ننتقل نحو الأعلى من هذا السطر ، سوف تلاحظ جمل الإخفاق والشتائم التي يظهرها البرنامج الضحية، نصعد قليلا إلى هذا المكان:
http://dinozen.jeeran.com/windasm_3.JPG
وهنا بيت القصيد: فالرسالة تقول أن هنا: " مرجع بـــــــــقــفــز (مشروط) أو (غير مشروط) إلى العنوان 00401016(U)؛وهذا هو الترميز "كود" في النظام السداي " Hexadecimal" .
و ما دام الأمر هو قفز ، فهيا بنا نقفز وبسرعة إلى العنوان المسمى، لأجل ذلك نقوم بالضغط على الزر رقم 8 للمفكك ( Goto Code Location ) ، ندخل بالكتابة رقم عنوان الرسالة المراد الوصول إليها -كما بالصورة-، ثم نأكد بـok .
http://dinozen.jeeran.com/windasm_4.JPG (http://dinozen.jeeran.com/windasm_5.JPG)
نصل إلى السطر 00401016 - لاحظ أنه يتلون بالأخضر - . الرسالة تأكد لنا أن الأمر "أمر بالقفز: jmp" إلى رقم العنوان 00401032 . إذا كان السطر شريطا أخضر فلاحظ أن الزر رقم 9 يشتغل ويجهز بالزرق، إذا لم يكن كذلك فقم بتحديد السطر الموجد به تعليمة القفز بالضغط عليه مرتين. ثم انقر الزر رقم 9 " ُExecute Jump" لنقوم بعملية القفز والوصول إلى السطر الذي وجهنا إليه؛ لو أردنا استدراك و رجوع الى سطر تعليمة الـــ jmp فيكفي الضغط على الزر رقم 10 "Return From Last Jump". والآن لاحظ أين وصلنا .... إنه السطر الذي قبل جملتي الإخفاق:
" !!Fatal Error " ، و " Ahhh! You can't...". أتمنى أن يكون بصيص من الضوء بدأ يتضح لديكم...
اضغط على الزر رقم 10 "Return From Last Jump" للعودة مرة ثانية إلى مكان القفز. ثم لاحظ أسفل السطر...
http://dinozen.jeeran.com/windasm_5.JPG
الأمر قد إتضح، وملخصه: أن البرنامج الضحية حين تنفيده يخبرك في النافدة الأولى بدوره، وبعد ذلك بمجرد أن تضغط على الزر ok ينتقل إلى إعطائك رسالة الإخفاق مباشرة. وهذا يكون عن طريق أمر بالقفز مباشرة إلى السطر 00401032 ، دون أن يمر برسالة التهنئة الموضحة في الدائرة المؤشر عليها بالسهم -الصورة أعلاه...
فما العمل إذا لتجنب رسائل الإخفاق هذه؟؟؟....
حسنــا... ، الجواب هو إزالة القــــــــفزة (لكي نمر برسالة التهنئة دون رسائل الإخفاق)، لأجل ذلك يكفي أن نغير ونكسر تعليمة jmp تعليمة أخرى -شرط أن تكون ضمن لغة الحاسب الأم التي يفهمها- ، ولتكن تعليمة "لا تقم بأي عملية؛ nop =no operation" أو غيرهــــا ،....لكن تكفينا هذه لحد الساعة . وإن شاء الله سوف أعلمكم التعليمات الممكنة و شيئ من لغة الحاسوب التركيبية اللازم معرفتها...."فمن عرف لغة قوم أمن شرهم..."، ونحن نتعلمها لنأمن كسرهم . كيف ذلك؟... لاحظ معي سطر القفزة:
إن رقم العنوان هو 00401016 ، والأمر المنفذ هو jmp، لكن قيمة هذا الرقم الحـــــقــيقـــة عند الحاسب هي EB " في النظام السداسي" وهي إذا تمثل jmp. فعندما تقول للحاسب " jmp "فيحسبهـــــاعنده بقيمة EB . كما أن EB هي من الـــــقـــفـزات الــقـــصيرة . وهذا ما يجب تبديله في النظام السداسي.
وأما الرقم 1A بالجانب فيمثل عدد الـوحدات" octets" المقفوزة (دائما في النظام السداسي) وهو رقم بعددين .
------------------------------------.يـــــتــــبع بسرعة إن شاء الله-------------------------------
dinozen
17-09-2005, 11:15 PM
تــــــــابع ... الدرس الثالت "3":
3) لتغيير jmp = EB إلى 90= nop نستعمل المخرج في النظام السداسي وليكن مثلا " HexDecCharEditor " الذي حملتموه سابقا. قم بفتح البرنامج الضحية واحفظه بإسم مغاير (مثلا Crackme11.exe ) ولا تنسى الإمتداد (*.exe)، سوف تمثل أمامك الصورة التالية:
http://dinozen.jeeran.com/hexaedit1.JPG
للبحث عن A1 EB ، أنصحكم أن تأخذوا أرقام ما قبله وما بعده وذلك لإحتمال وجود العديد من مواضيعه المتكررة ‘ أي83F807EB1A6A40 ،لذلك اتبع الخطوات الموضحة في الصورة ثم أكد بالإيجاب :
http://dinozen.jeeran.com/hexaedit2.JPG
اضغط على الزر المبين (للتعويض)، ثم عوض كما هو مبين (انتبه ؛احذف ما قبل EB1A وما بعده ):
http://dinozen.jeeran.com/hexedit3.JPG
عندما تأكد بالخطوة 3 كما في الصورة أعلاه، النتيجة تظهر هكذا:
http://dinozen.jeeran.com/hexedit4.JPG
سوف تتغير قيمة EB1A كما هو مطلوب إلى 9090 ، هكذا:
قم بحفظ الملف (بإسم مخالف للأصل ؛حتى لا يضيع لك البرنامج الضحية) ثم اغلق HexDecCharEditor .
الآن قم بتنفيذ وتشغيل البرنامج الذي قمت بتغييره ( Crackme11.exe) ، سوف تظهر لك في النهاية نافدة النجاح ، هكذا:
http://dinozen.jeeran.com/hexedit5.JPG
مــــــبــــــــــروك لقـــد نـــــجحت في كـــــسر البرنامج الضحية :biggthump ...وأصبحت كاسرا ، فأهلا بك أيها القرصان الجديد ...و إلى المزيد المزيد.....
أرجو أن تستفيدوا من هذا الدرس التطبيقي. وأدعكم للتمرين أكثر ومعاودة الخطوات للتمرين والتقوي. وباب النقاش والأسئلة مفتوح..... .
ولا تنسوني وصالح المسلمين من دعائكم بالخير... :D
إلى الدرس القادم إن شاء الله. أستودعكم اللــــــه.
bilind
18-09-2005, 09:04 AM
شكرا على الموضوع الرائع
:ciao: :ciao: :ciao: :ciao: :ciao: :ciao:
الامير الفارس
19-09-2005, 04:40 PM
مشكووووووووووووووور ونتمني الاستمرار في القاء الدروس
وتقبل تحياتي
Big Blue
19-09-2005, 05:38 PM
يسلموا على هذا الدرس القيم
S.E.V.P
20-09-2005, 04:51 PM
مشكور والله موضوع يستحق التثبيت
dinozen
22-09-2005, 06:23 AM
الإخوة الأعزاء: S.E.V.P, Big Blue, الامير الفارس,bilind:ciao: شكرا على مروركم الكريم، وأهلا بكم .... :shakehand (http://www.montada.com/)
dinozen
23-09-2005, 10:32 PM
الســــــلام عليكم إخوانـــي :ciao: (http://www.montada.com/)
الـــــدرس الــــــرابع:
الــــجزء الأول:
مدخـــل إلى لغة التجميع-التكوين- للــكـــــاسرين ; Assembler Language for Crackers
التجميع أو التكوين ،ترجمة للكلمة الأعجمية assembly ويرمز لها عند الكاسرين بـــ ASM .
كما رأيتم في الدرس الثالت فإن تعلم الكسر يتطلب منا تعلم لغة التـــــجميع بالضرورة، ذلك أن من تعلم لغة قوم أمن شرهم ، وعرف طريقة تفكيرهم و طرق عملهم ... وطبعا ليس كل ما في هذا المجال يجب الأخذ به. سوف نركز على ما به يحصل الفهم و القصد، وما يحتاجه المبتدئ وكل كاسر خلال عمله....لا تنزعجوا، فسنبسط الأمر بقدر المستطاع، وتعلم هذه المبدئيات يساعدك في فهم كل تقنيات وأدوات المعلوماتية، وفهم حاسبك وكل ما يتعلق بالبرمجة والمعلوماتية، ولك أن تتعمق بعد ذلك إلى أن تثلم من العلم وتصير كجهاز حاسب....
1) الـــــمعــــالج "CPU" Processor :
هو دائرة الكترونية من" السيلسيوم selicium" ، تعد الوحدة المركزية للحاسب ،و هوقلبه النابض وعقله المشغل (أنظر الصورة). المعالج (وليس العلج) :uicon10: (http://www.montada.com/) مكون أساسا من عناصر تسمى العوابر 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: (http://www.montada.com/) .... ومن هنا إلزامية دراسة لغة هذا المعالج .
أ) نظام الحساب والعد لدى المعالج :
قدم العرب خدمة عظيمة للبشرية في مجال الحسابات...وتمكن الإنسان إنطلاقا من الحضارة الإسلامية بأن يحسب بطريقة عبقرية و صحيحة...فعندما نكتب ما نعده فإننا نكتب: 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: (http://www.montada.com/). الأمر بسيط؛ لأن العدد المكون من خانتين يخلط على المعالج الأمور ويكلف مساحة كبيرة من الذاكرة، لهذا جاءت فكرة تمثيل كل "عدد برقمين" بواسطة أحرف حتى نوافق نظام الخانات....
وهذا هو نظام العد السداسي أو قاعدة السادس عشر 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 (http://www.montada.com/)....طبعا لأنه يمنحنا ربح عدد الخانات، وبذلك ربح الذاكرة والسرعة في الحساب... و هل عرفت لماذا نقول معالج من نوع bits4 (Octet 2/1 ) ، bits8 (Octet 1 ) ، bits16(Octets 2 ) ، bits32، bits64 ....؟؟؟. وأيضا "ذكرة بـــ256ميغا أوكتي ، و512 ميغا أوكتي،....؟؟؟:irked: (http://www.montada.com/) . أتمنى أن يكون الرد بنعم... http://www.absba.org/vb/images/smilies/biggrin.gif
نكتفي بهذا القدر حتى ادعكم تستوعبوا. وإلى تكملة هذا الدرس قريبا إن شاء الله....أستودعـــــكم الله:bigok: (http://www.montada.com/)...
------------------------------- يــــــتبع....----------------------------
hani992
24-09-2005, 08:57 AM
موقع MegaUpload محجوب عندنا في السعودية
dinozen
24-09-2005, 08:11 PM
السلام عليكم:ciao:
للإخوة الذين لم يستطيعوا تحميل الأدواة ، هذا رابط لموقع تحميل آخر.....أتمنى أن لا يكون محجوب لديكم...:
http://d.turboupload.com/d/74001/Toolscrackme1.rar.html (http://d.turboupload.com/d/74001/Toolscrackme1.rar.html)
:D
dinozen
28-09-2005, 12:15 AM
...... تكــــــملة الـــــدرس 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
dinozen
03-10-2005, 03:05 AM
بـسم الله الـرحمــن الـرحيم،
الدرس الخامس "5":
السلام عليكم، :ciao: (http://www.montada.com/)
مقدمة:
رأينا في الدروس السابقة تعليمات القفز ، وكيف نكسر البرنامج بمجرد تغيير القفزة. وقلنا أنها غالبا ما نجدها بعد المقارنة "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 يوم .
للتحـــمـيـل من هنا (http://d.turboupload.com/d/84189/StartClean_V1.2.rar.html) ...
وظيفة البرنامج: هذا البرنامج يقوم بمسح كل الوصلات ( sraccourcis ; Short cut ) التي لا فائذة منها ولا تأدي لأي مصدر.
درجة الصعوبة: ســـــهل !.
الخطوات:
نتبع نفس خطوات الدرس الثالت : افتح البرنامج الضحية لتتعرف عليه (البرنامج محمي بكلمة سر ؛وهي عبارة عن اسم ديننا الحنيف بآخره رقم 1؛ " 1 ***** " . نافذة الضحية تظهر هكذا (الصورة):
http://dinozen.jeeran.com/starclean0.jpg
لحظ أن المدة التجريبية هي 30 يوم فقط...
حاول أن تسجل نسختك لتحصل على نسخة دائمة ؛ بإدخال المفتاح Code والإسم Name، و سوف تظهر لك نافذة هكذا ( الصورة) :
http://dinozen.jeeran.com/starclean1.jpg
إن استطعت التسجيل فأنت أكثر من محظوظ ، بل إنك مستجاب الدعوات... .
قبل كل شيئ قم بعمل نسخة إحتياطية للبرنامج الضحية .
بع هذا لنأخذه إلى المفكك 9 WinDasm و نبدئ في إستنطاقه وبحثه :twak: (http://www.montada.com/)، إتبعوا نفس خطوات الدرس الثالت:
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: (http://www.montada.com/)
هل أنت متأكد؟؟؟.صحيح البرنامج لا يقول Incorrect Code [/url]. إذا أغلق النافذة ، وحاول تنفيذه من جديد، وسترى هذه الصورة ( التي هي نفسها عندما شغلناه أول مرة)....، فما هو الفرق؟؟:02: (http://www.montada.com/)....، أترى في الأعلى أن المدة التجريبية ما زالت 30 يوم؟؟...بالفعل. فمذا كسرنا؟؟؟:33: (http://www.montada.com/)؛ ما كسرناه هو ظهور رسالة الخطأ لا غير...طبعا طريقتك سليمة لكن في الأمر "إن" قوية. !!!
http://dinozen.jeeran.com/starclean0.jpg
القصد من هذا الدرس هو تجنب الـــــخـــطأ الذي يقع فيه الكثير من المبتدئيين ، وسوف يعلمنا تجنب مثل هذه الأخطاء وأشياء كثيرة عندما ننجح بكسره... ولــــكن متى نكسره؟؟؟. النتيجة والطريقة أعطيها لكم غدا إن شاء الله[url="http://www.montada.com/"]:listen: (http://www.montada.com/)....
............يتبع غدا إن شاء الله.........
مشكور أخوي على الدروس وأنا من متابعيها وأتمنى أنك تكمل الدروس ^___^
dinozen
03-10-2005, 09:26 PM
الأخ Devil Night :ciao: ، شكرا على مشاركتك، وأهلا وسهلا بك معنا...:D
dinozen
04-10-2005, 12:12 AM
هنا الدرس الخامس 5 ، بإمتداد الــweb ، ( وهذا حتى نتخلص من مشكل الصور التي لا تظهر بالمنتديات....فكل شيء يظهر بوضوح.. :biggthump ) :
http://d.turboupload.com/d/86402/lesson5_web.htm.html (http://d.turboupload.com/d/86402/lesson5_web.htm.html)
dinozen
04-10-2005, 02:40 AM
لتحميل الدرس 5 بصيغة الوينوود ( Doc ) وبه الصور واضحة، ... من هنا:
http://www.uploadtemple.com/view.php/1128382232.doc
dinozen
12-10-2005, 07:30 AM
بـسم الله الـرحمــن الـرحيم،
04 أكتوبر 2005؛؛؛ 01رمضان 2005
الــــــــــسلام عــــــــليكم:ciao: (http://www.montada.com/)،
تـــــــتمة الدرس الخامس "5":
في البداية أهنئكم بشهر العبادة و المغفرة والرحمة "رمــــضان" ، ونسأل الله لنا و لجميع المسلمين المغفرة و حسن العبادة والفوز برحمة الله و العتق من النار.
وأزف إليكم النسخة الجديدة للمفكك 10 WinDasm ، وهي نسخة مطورة بها عدة ميزات، وقد بدأت بإستخدامها في هذا الدرس ، فأكتشفوها بأنفسكم...http://www.absba.org/vb/images/smilies/biggrin.gif
حمل من هنا:
http://www.uploadtemple.com/view.php/1128457068.rar (http://www.uploadtemple.com/view.php/1128457068.rar)
أو هنا:
http://www.sendspace.com/file/1w0hw7 (http://www.sendspace.com/file/1w0hw7)
http://d.turboupload.com/d/87744/W32dsmv10.rar.html (http://d.turboupload.com/d/87744/W32dsmv10.rar.html)
في المرة السابقة لم نتمكن من كسر البرنامج بنجاح بل هو الذي كسرنا pcguru: (http://www.montada.com/)،.....
و الآن سوف أدلكم على نقاط أخرى يجب الإنتباه إليها عند الكسر:
فكك البرنامج الضحية 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: (http://www.montada.com/)...، إنهما دالتي RegOpenKeyA و RegQueryValueExA ، فيا ترى لماذا هذان الدالتان هنا؟؟. إن دوريهما هو أخذ معلومات من قاعدة المسجلات. وهما متبوعتان بدالتين أخرتين هكذا: LstrLenA و LstrCmpA ، وظيفتيهما تفحص سلسلة حرفية و القيام بمقارنات ...،
http://dinozen.jeeran.com/wind_suit_3.jpg
هما : : LstrLenA و LstrCmpA :confused2 (http://www.montada.com/)، وظيفتيهما فحص طول سلسلة حرفية و القيام بمقارنات ....ولاحظ أيضا أن هاتان الدالتان تتكرران كلما وجدنا قرينتيهما RegOpenKeyA و RegQueryValueExA . فالأمر بدأ يتضح إذا؛ عندما ندخل معلومات التسجيل فإن البرنامج يقوم بفحصها ومقارنتها مع معلوماته المخزنة في المسجل...المهم في هذا كله أن كلتا الدالتان Lstr***A متبوعتان بتعليمتي مقارنة Test لقيمتي المسجل EAX ، بتعليمات قفز إلى رقم الرسالة 004001140. فما رايكم أن نعمل نوبة لكل من تعليمتي القفز هاتان؟. هذا ما أقترحه عليكم. إذا بدلوا je و jne بـ nop nop والآن هل رأيتم؟؟، هذه أول نافذة تظهر بعد تنفيذ البرنامج المكسور (وليس بها كلمة sharware ، بل نجد registred )، والبرنامج لا يطلب تسجيل ولا شيئ :
http://dinozen.jeeran.com/STARCLEAN_crack.jpg
لقد كسرت البرنامج على آخره، والحمد لله :fing02: (http://www.montada.com/)...
يتبع بالدرس السادس إن شــــاء الله...
ولا تنسونا و صالح المسلمين بدعائكم الطيب عند الإفطــــــــار.
dinozen
12-10-2005, 07:35 AM
الدرس السادس "06":
طريقة الكسر الحي –المتحرك-؛ "إصطياد المفتاح؛ استنشاق المفتاح"
Serial (Key) Fishing ;Serial Snifing
الـــــــسلام عليـــــــكم:ciao: (http://www.montada.com/)
مـــــقدمة:
رأينا من خلال الدروس السابقة كيف نكسر البرامج بطريقة النشر الميت(الساكن)، وذلك بتغيير القفزات من نوع الــJmp .
الطريقة الثانية التي سوف ندرسها هي النشر الحي ، وغالبا ما تستعمل للبحث عن المفتاح السري Password عندما يكون مخزن من طرف البرنامج في مكان ما. وهذه الطريقة وسابقتها متكاملتان تماما.
تعتمد طريقة إصطياد المفتاح على دراسة البرنامج الضحية من خلال تشغيله مرحليا وبالتدريج ، لمعرفة منطق و طريقة عمله، حيث نحدد المؤشرات والنقاط المهمة المراد تسليط الضوء عليها ، وذلك من خلال مراحل العمل للضحية، إلى غاية وصولنا إلى المفتاح السري، أو طريقة نزيل بها الحماية.
طرق الحماية في البرامج:
عموما تختلف طرق الحماية في البرامج، وقد تطورت هذه الطرق تبعا لظهور القراصنة الكاسرين، وذلك لتجنب كسرها من طرف هؤلاء الكاسرين الذين يصطادون البرامج ويتربصون بها. من أنواع الحماية للبرامج نجد مثلا:
1- كلمة السر (المفتاح) أو معلومات تسجيل موجودة بداخل البرنامج . يقوم الضحية بمقارنتها مع معلومات تسجيله الجديدة.
2- كلمة السر (المفتاح) أو معلومات تسجيل تعطى عن طريق التسجيل من خلال الأنترنات بطريق اتصال البرنامج بدار إنتاجه وطلب الترخيص.
وكل أنواع الحماية قابلة للكسر، ولكن بعضها يكون التعامل معه أسهل من البعض الآخر.
تنبيه : الرجاء أن تحتفظوا بالنسخ الأصلية للبرامج الضحية التي نستعملها، لأننا ربما احتجناها لكسرها بطرق أخرى.
الأدواة المستعملة: المفكك 9 Win32Dasm ، و المخرج المبدِل HexDecCharEditor .
ملاحظة: الــ 9 Win32Dasm به عدة هفوات في التحريك debugging والتصريف (والبافي فلا بأس به) .
البرنامج الضحية : CkrakMe2 ، حجمه: 20Ko .
و صف البرنامج: هذا البرنامج الصغير للتمرن فقط. يحتوي على الرقم التسلسلي بداخله.
للتحـــمـيـل من هنا (http://d.turboupload.com/d/93827/CrackMe2.rar.html):
http://d.turboupload.com/d/93827/CrackMe2.rar.html (http://d.turboupload.com/d/93827/CrackMe2.rar.html)
أو من هنا (http://www.uploadtemple.com/view.php/1128834225.rar):
http://www.uploadtemple.com/view.php/1128834225.rar (http://www.uploadtemple.com/view.php/1128834225.rar)
http://www.up4arab.net/uploads/8102077439.rar (http://www.up4arab.net/uploads/8102077439.rar)
http://s53.yousendit.com/d.aspx?id=...ZO2BZ8RT1MMUUQZ (http://s53.yousendit.com/d.aspx?id=3M46MJQTNICZO2BZ8RT1MMUUQZ)
درجة الصعوبة: ســـــهل جد!.
الخطوات:
نتبع نفس خطوات الدرس الثالت : افتح البرنامج الضحية CkrakMe2 لتتعرف عليه. نافذة الضحية تظهر هكذا (الصورة):
http://dinozen.jeeran.com/crackme2_image1.jpg
أدخل رقم تسجيل ما، أو أي رقم تريد ، لترى رد فعل الضحية و رسائله التي يجيبنا بها. وهذا جوابه إذا كان رقم التسجيل غير صحيح (أنظر الصورة):
http://dinozen.jeeran.com/crackme2_image2.jpg
فهو يقولIncorrect try again ، إذا المفتاح غير صحيح http://www.absba.org/vb/images/smilies/frown.gif . قم بتسجيل هذه العبارة أو خزنها في ذاكرتك . إياك أن تريد إعادة التجربة مرات عديدة لتقع بالصدفة على الرقم السري http://www.absba.org/vb/images/smilies/biggrin.gif. فهذا لا يؤمن به العقلاء (لا يؤمن به إلا القائلين بالصدفة ؛ من أصحاب الجاهل "دارويين")، وإن شئت ذلك فربما تفني عمرك كله من دون أن تجده... إن استطعت التسجيل فأنت أكثر من محظوظ ، بل إنك مستجاب الدعوات... .http://www.absba.org/vb/images/smilies/rolleyes.gif
المطلوب هو : - كسر الضحية ، بحيث تحصل على الإجابة التالية(انظر الصورة) :
http://dinozen.jeeran.com/crackme2_image3.jpg
- البحث عن المفتاح الأصل و الصحيح الذي يسمح بكسر الحماية و ظهور نافذة النجاح أعلاه.
تنبيه :
قبل كل شيئ قم بعمل نسخة إحتياطية للبرنامج الضحية، واحفظها في مكان آمن. .
فــهيا بنا إلى القرصنة والكــــسر،....
بعد هذا لنأخذه إلى "غرفة الإستنطاق" المفكك 9 Win32Dasm ، و نبدئ في إستنطاقه وبحثه (http://www.montada.com/):twak: (http://www.montada.com/) . إتبعوا نفس خطوات الدروس السابقة (3 و 5)، ولا بأس بالتذكير بها مرة أخرى:
إفتح البرنامج الضحية داخل الـمفكك 9 Win32Dasm بالضغط على الزر "OpenFile to Desassemble " http://dinozen.jeeran.com/buton1.JPG ،إحفظ المشروع بالضغط على الزر " Save Desassembly Text File and Creat Project "، وهذا حتى يتسنى لك اعادة فتح الملف مرة أخرى بسرعة. . ثم الزر http://dinozen.jeeran.com/buton5.JPG،ثم http://dinozen.jeeran.com/buton19.JPG،أنظر إلى نافذة " List of String Data items " و سترى قائمة النصوص لرسائل الضحية كما يلي:
http://dinozen.jeeran.com/windasm_image0_A.jpg
نختار نص الرسالة التي ظهرت لنا عندما طلب منا المفتاح"Enter Registration Number"،أو رسالة أخرى تتناسب وحالة إدخال المفتاح. . إصعد قليلا ، وستقع هنا:
http://dinozen.jeeran.com/windasm_image0_B.jpg
من هنا انزل نحو الأسفل قليلا، سوف تقع هنا:
http://dinozen.jeeran.com/windasm_image0_C.jpg
مفاجئة، أنظر ماذا وجدنا http://www.absba.org/vb/images/smilies/eek.gif ...إنهما الدالتان lstrlenA و lstrcmpA ، التي رأيناهما في الدرس السابق. وقلنا عنهما ما يلي: (...وظيفتيهما هما فحص طول سلسلة حرفية و القيام بمقارنات .... كلتا الدالتين Lstr***A متبوعتان بتعليمتي مقارنة Test لقيمتي المسجل EAX ، وتعليمات قفز... ) . رائع جدا.
لاحظ أن نص الرسالة "Enter Registration Number" يقع بين هاتين التعليمتين.
إذا ما نفهمه هو: أن البرنامج بعد ما يطلب منك التسجيل وتدخل مفتاح تسجيلك فإنه يقوم بإستدعاء Call ، ويقارن المفتاح الذي أدخلته مع قيمة المفتاح المسجل لديه.
بعد المقارنة نجد تعليمة الــــقفز الشرطية بعدم المساواة jne . وهذا مفاده ؛ إذا كانت مقارنة المفتاحين سلبية (أي أن المفتاح المدخل لا يطابق المفتاح المخزن ) فإن البرنامج يقفز إلى رقم التعليمة 004015AD . لننفذ القفزة ونرى ماذا بعد وهذا بالضغط على الزر رقم 9 " Jump to " ، ستقع هنا (كما بالصورة):
http://dinozen.jeeran.com/windasm_image1.jpg
فـــــ ( 004015AD (c هي تابعة لقفز مشروط وهي تحمل مرجع Conditionel ، بعدها يأتي نص الرسالة:"Incorrect try again!!" ، وقبلها نجد نص الرسالة التي تقول أن المفتاح صحيح، أي أن القفزة تكون فوقها.
إذا ممكن أن تقول لي: إنتهى الأمر http://www.absba.org/vb/images/smilies/biggrin.gif ، لأننا نكسر البرنامج بوضع نوبة 9090 =nopnop ( أو بــ 7416 =JE ) بدل القفزة 7516=JNE . و هذا صحيح . إذا نقوم بالتبديل كما تعلمنا سابقا:
بواسطة المخرج HexDecCharEditor ، ابحث عن 85C0 7516 6A40 ، ثم عوض 7516 بـ (في حالة النوبة) 9090. احفظ الضحية بإسم مغاير مثل Crackme2_A.exe . شغل الضحية المكسور لترى إن كان كسر... نــــعم إنه كذلك..
--ابتداء من الآن سوف نتعلم طريقة الـــ OFFSET ، للبحث عن موقع التعليمة، بدل الطريقة السابقة التي قد تكون مملة:
ما هو الــ Offset؟؟http://www.absba.org/vb/images/smilies/confused.gif . هو العنوان (في القاعدة السادس العشرية ) للبيت "Byte" أو ما أسميناه 8خانات (الدرس 4) .
لماذا نهتم به؟؟ . لنفس السبب الذي نستعمله في الطريقة القديمة (لتحديد التعليمة بالضبط، وتجنب الخطأ لتكرارها).
أين نجد هذا الــ Offset؟؟ . لحسن الحظ هو معطى في محيط نافذة المفكك ، في الأسفل، كما في الصورة التالية:
http://dinozen.jeeran.com/windasm_image3_Offset.jpg
فنرى مثلا أن رقم الــ Offset عندما نضغط على سطر القفزة 7516 ، يعطينا00001595h . حرف الـh ؛هو أول حرف في كلمة سادس عشري بالأعجمية، والأصفار في اليسار لا تهمنا ولا نعتبرها.
إذا هل 1595 هذا هو رقم الـ Offset لــ 7516؟؟؟. أقول لك لا..... لأن الــ Offset هو العنوان (في القاعدة السادس العشرية ) للبيت "Byte". بمعنى : أن 1595 هو رقم الـ Offset لـ 75 وحدها و وحدها فقط ( 7 و 5 تشغلان 4 خانات كلتيهما). فيتبع كلامنا بأن رقم الـ Offset لـ 16 هو 1596.
لتتأكد من ذلك إرجع للمفكك، اضغط على سطر القفزة : 004015957516 jne 004015AD سوف ترى الـ Offset 1595 لـ 75، ثم اضغط على السطر الذي يليه، سوف ترى الـ Offset يتغير إلى 1597 ، وهكذا....http://www.absba.org/vb/images/smilies/rolleyes.gif
بعد أن عرفنا ماهية رقم الـ Offset، لنجربه. نفتح الضحية من جديد في المخرج HexDecCharEditor ونضغط على التركيبة Ctrl+T . للبحث ، ثم أدخل 1595 للبحث عنjne ، ولاحظ أنك تقع تماا على 75. قم مباشرة بتغيير 7516 (jne ) بعاكستها 7416 (je )، واحفظ الضحية بإسم مغاير...
وهكذا نكون قد كسرنا الضحية بطريقتين. -- لكن أين هو المفتاح الحقيقي؟؟؟. لماذا نريد المفتاح الحقيقي؟، لأن بعض البرامج تحرر لنا خاصيات option جديدة، أو تعطينا التسجيل الكامل بكل فوائده، وقد يوفر علينا مشقة دراسة البرنامج بالنشر الميت...
------------------------------------يتبع قريب جدا----------------------------
dinozen
12-10-2005, 07:36 AM
------------------------------تكملة الدرس 6-------------
لمعرفة المفتاح الحقيقي، سوف نحاول التدقيق في الفقرة التي بعد lstrcmpA ؛ أي عند حدوث المقارنة بين المفتاحين. فمن المفروض أن المفتاح السري الحقيقي مخزن في مكان ما في المسجل Eax .
ما رأيكــم بأن نتحكم ونراقب إشتغال الضحية، ثم نتوقف عند تعليمة الإستدعاء Call ، و نرى ما بداخلها؟؟ا.
لأجل هذا سوف نستعمل خاصية أخرى تتوفر في المفكك وهي نمط التحريك Debuggingبمعنى أن محرك الـــمفكك Debugger
يقوم بإظهار حالة إشتغال البرنامج الضحية، وينفذه أو يصرفه خطوة بخطوة.
الفكرة هي تفحص الضحية وتوقيفه عند تعليمة الإستدعاء call ، وهو ما يسمى نقطة إنقطاع أو توقفBreak Point . لهذا قم بالضغط على Ctrl+L ،(أو استعمل الخانة Debug ثم Load Process في نافذة القائمة الرئيسة للــمفكك، ثم اضغط على Load ) . سوف تظهر لك نافذة هكذا:
http://dinozen.jeeran.com/windasm_image2_loadproc.jpg
إضغط على الزر Load ، دون أن تكتب شيئ في خانة النافذة. سوف تظهر لك نافذتان هكذا:
(http://dinozen.jeeran.com/windasm_image4_debug1.jpg)
http://dinozen.jeeran.com/windasm_image4_debug1.jpg
نحن الأن في المحرك (المصرف) للمفكك Win32Dasm ،قم بتعليم الخانات الـ 5 في النافذة الصغيرة (كما هو موضح باللون الأصفر). دع النافذتان كما هما بدون إغلاق، ابعدهما قليلا نحو الأسفل، ثم عد إلى المفككWin32Dasm ،لذلك قه بتكبير نافذته( التي صغرت من قبل) عن طريق سحب زاوية النافذة نحو الأسفل. اذهب إلى سطر الإستدعاء المقصود الذي هو [ 0040158D FF1500204000 call dword ptr [00402000: ، قم بتعيينه بالضغط عليه. ثم اضغط على الزر 2 F حتى تحدد نقطة الإنقطاع والتوقف، لاحظ أن بجانب السطر يظهر مربع صغير أصفر اللون. إترك المفكك وعد إلى نافذتي المحرك. اضغط على الزر 9 F ( أو على خانة debug ، run process ، في المفكك ) لتشغيل البرنامج خطوة خطوة. ربما تطلب الضغط على 9 F مرات عديدة، إلى غاية ظهور نافذة البرنامج الضحية و طلبه لتسجيلك....قم بإدخال أي رقم أو كلمة تريدها ( بالنسبة لي هي Elkasser http://www.absba.org/vb/images/smilies/biggrin.gif ) سوف يظهر لك كما بالصورة :
http://dinozen.jeeran.com/windasm_image5_debug2.jpg
اضغط على Chek للضحية، وشاهدhttp://www.absba.org/vb/images/smilies/eek.gif ....:
http://dinozen.jeeran.com/windasm_image6_debug3.jpg
هنا الضحية يخرج ما في ذاكرته ليبدء المقارنة. فالإعتماد الأول لديه هو ما تدخله أنت ( 01 Arg ) ، والإعتماد الثاني هو ما لديه هو كمرجع (02 Arg ).اضغط على الزر Get api result ، سترى النتيجة ما يلي:
http://dinozen.jeeran.com/windasm_image7_debug3.jpg
والآن هل عرفت كلمة السر؟؟؟http://www.absba.org/vb/images/smilies/confused.gif ، طبعاhttp://www.absba.org/vb/images/smilies/cool.gif ....إذا مبروك لقد قمت بإصطياد المفتاح الحقيقي :viking: (http://www.montada.com/) ... . اغلق نافذتي المحرك بالضغط على الزر close ، واغلق كذلك المفكك.
مرة أخرى شغل الضحية و ادخل المفتاح الحقيقي الذي هو " .99_ Allah " ، ومعناها "أسماء الله الحسنى عددها 99 اسم" كما جاء في الحديث الشريف للنبي صلى الله عليه وسلم... حسنا لا تسمع كل اصدقائك بأنك أصبحت كاسرا مبدعhttp://www.absba.org/vb/images/smilies/biggrin.gif ، صحيح أنت الآن مبتدى غير عادي، وسوف تكون من أكبر الكاسرين الخبراء إن شاء اللهhttp://www.absba.org/vb/images/smilies/rolleyes.gif . و بهذا نكون قد انهينا الدرس.
ملــــخـص:
تعلمنا في هذا الدرس: كيف نكسر البرامج بطرق مختلفة، وفائدة رقم الـ Offset ، ثم كيف نصطاد المفتاح السري عن طريق المحرك و نقطة الإنقطاع .
يتبع بالدرس السا بع إن شاء الله....
ولا تنسونا و صالح المسلمين بدعائكم الطيب عند الإفطــــــــار.
dinozen
13-10-2005, 12:45 AM
هذا جوابي للإخوة الذين يطلبون مني كسر البرامج لهم:
يا أخي، يعز علي أن أرجعك سفر اليدينhttp://www.absba.org/vb/images/smilies/frown.gif . لأن فلسفتي أني أعلمك كيف تكسر ، ولكن لا أكسر لك البرامج، وإلا تحولت إلا عبد من العبيد. أنا أصنع كراكات من دون طلب وأمنحها من دون مقابل، ولكن كما يحلو لي.http://www.absba.org/vb/images/smilies/biggrin.gif
لقد كنت مثلك في يوم من الأيام. والحمد لله على نعمه. http://www.absba.org/vb/images/smilies/smile.gif
أتمنى ألا يكون ردي قاسيا عليك. وبالتوفيق إن شاء الله.
maverick2004
14-10-2005, 11:57 PM
موضوع جميل فعلا نرجو المتابعة فى هذا الموضوع
السيف البارز
15-10-2005, 05:21 AM
رائع جدا جدا جزاك الله خير لكن الصور في الصفحة واحد وبعض الصور في الصفحة 3 لا تفتح يا ريت تعيد تحميلها من جديد وكذلك احد البرنامجين الاول او الثاني نسيت
يقول not available يا ريت تعيد تحميله من جديد
شكرا لك
dinozen
16-10-2005, 12:09 AM
الإخوة maverick و السيف البارز ، شكرا على مشاركتكما ، وأهلا بكما.:biggthump
بالنسبة للرواب ط والصور التي لا تظهر فأنا آسف ...
نفس الدروس أبثها في منتدى "المشاغب" بكنية الكاسر_corssan
http://www.absba.org/vb/showthread.php?t=218560&page=1&pp=15
، وفي منتدى "أنا المسلم" بكنية الجنيد1 .
http://www.muslm.net/vb/showthread.php?t=137487
حاولا أن تكونا في الموعد وأن تحملا الدرس عندما اضعه، فأغلب الروابط تمسح بعد 7 أيام. قريبا إن شاء الله سوف أجمعها تحت ملف واحد بصيغة pdf....ان ل متجدوا الدرس هنا ابحثوا عنه في الأماكن المذكورة (هنا التجاوب ضئيل جدا...:02: .)...:ciao:
جميع حقوق برمجة vBulletin محفوظة ©2025 ,لدى مؤسسة Jelsoft المحدودة.
جميع المواضيع و المشاركات المطروحة من الاعضاء لا تعبر بالضرورة عن رأي أصحاب شبكة المنتدى .