دورات هندسية

 

 

تعلم الـ cracking

النتائج 1 إلى 6 من 6
  1. [1]
    Fawaz_syr
    Fawaz_syr غير متواجد حالياً

    عضو فعال

    تاريخ التسجيل: Jun 2006
    المشاركات: 56
    Thumbs Up
    Received: 0
    Given: 0

    تعلم الـ cracking

    Crackingتعلم الـ

    ما هو الـcracking:
    الـcracking هو عملية التخلص من الحماية الموجودة في بعض البرامج التي تتطلب كلمة سر أو التي تظهر عند بدء تشغيلها النافذة المزعجة "nag screen " لدفعك إللى الاشتراك بها أو تتطلب وجود القرص الليزري في السواقة بداعي الحماية من النسخ.

    ماذا تحتاج لعملية الـcracking:
    في الأساس ستحتاج إلى برنامجين هما برنامج تحرير الهكس “hex editor hiew” و برنامج الـ” W32DASM”windows 32 disassembler
    يمكنك استخدام أي محرر هكس hex editor أو disassembler تريده ولكنني أفضل العمل على البرنامجين المذكوران سابقا و في المستقبل ستحتاج إلى بعض البرامج الأخرى مثل File monitor و Registry monitor و لكن في المراحل المبتدئة لن تحتاج إلى غير هذان البرنامجان و هما منتشران على الأنترنت.

    ما هو الـassembler و ما هو الـhex editor :
    الـassembler هو مترجم لغة يعمل بلغة الـassembly و هي من اللغات الدنيا جدا (لا تقلق لن تحتاج إلى تعلم لغة الـassembly بكاملها لعملية الـCracking) تستطيع بواسطة الـassembly القيام بتفكيك البرامج التنفيذية "ذات اللاحقة exe أو com أو..." و التي تعجز اللغات الأخرى عن فعله .
    ما ستحتاجه في الـassembler في البداية بسيط جدا وهو عبارة عن ثلاثة أوامر و هي:

    الأمر je "jump if equal" إقفز اذا ساوى و شيفرة الهكس له: 74
    الأمر jne "jump if not equal" اقفز إذا لم يساوي و شيفرة الهكس له : 75
    الأمر Nop "No operation" لا تفعل شيء و شيفرة الهكس له: 90

    أما بالنسبة إلى الـhex editor فهو مجرد برنامج يقوم بفتح الملفات التنفيذية و تستطيع بواسطته تحريرها و إعادتها إلى النظام الثنائي (Binary) أو الست عشري.....
    ماهو النظام الثنائي ؟؟؟
    هو أدنى لغة للحواسيب و تدعى بلغة الآلة و تقوم على أساس الرقمين 0 و 1 و هي اللغة التي يقوم بها الحاسوب بمعالجة بيانات الإدخال و الأخراج و النظام الست عشري مشتق من النظام الثنائي و يشمل الأرقام 0-9 و الأحرف من A إلى F.
    لا تقلق إذا وجدت المعلومات السابقة معقدة لأنك قد لا تحتاجها كلها و ستصبح عادية عندك بعد مرور الوقت و لا تؤاخذني إن كنت أطيل في الشرح الممل لأني أريد الفائدة للمبتدئين.





    كيف تتم عملية الـCracking :
    عندما تشغل البرنامج التنفيذي فأن الحاسب يقوم بمعالجة كود البرنامج من الأعلى إلى الأسفل (كما سترى في الـw32dasm) ولكن أثناء عملية المعالجة يقوم البرنامج بعدد من القفزات هذه القفزات هي غالبا ما نريد ... فالبرنامج الذي يسألك عن كلمة السر مثلا سيقف عند نقطة معينة و ينتظر منك إدخال الكلمة و عند قيامك بضغط enter أو ok بعد إدخال الكلمة (الصحيحة) سيقفز المعالج إلى القسم الذي يظهر لك رسالة شكر لاشتراكك و يقوم بإلغاء الشاشة المزعجة مثلا
    أما إن كانت الكلمة خاطئة فيتمم المعالج البرنامج بدون القفز و بذالك سيغلق البرنامج أو يظهر لك رسالة بأن الكلمة السرية المدخلة خاطئة.
    ملاحظة:ليس من الضروري أن تكون عملية القفز عند إدخال الكلمة الصحيحة فقد تكون عند إدخال الكلمة الخاطئة (إي بالعكس)
    ما علينا فعله هو القيام بألغاء عملية القفز (القفز الذي يؤدي إلى ظهور رسالة الخطأ في إدخال كلمة السر) أو العكس لمنع البرنامج من الوصول إلى النقطة التي يمر بها البرنامج عندما يعتبر كلمة السر خاطئة و جعل جميع الكلمات الخاطئة صحيحة.
    البدء في الـCracking


    سنعمل الآن على برنامج crack me v1.0 حمله من هنا:
    http://www.geocities.com/hajfoozy/CRACKME.zip
    و هو برنامج مصنع لتعليم الـcracking ستجد أن معظم الـcracks تعمل على نفس مبدأ هذا البرنامج أي أن الخطوات التالية ضرورية عن القيام بأي عملية cracking:
    البدء:
    1) شغل البرنامج و لاحظ كيف يعمل و الرسائل التي ستظهر عند إدخال الكلمة الخاطئة في حالة برنامجنا شغل الملف crackme.exe ثم أضغط على help ثم على Register سيسألك البرنامج عن اسمك و الرقم التسلسلي أدخل أي قيمة في الخانتين ثم اضغط ok ستظهر عندك الرسالة :no luck there, mate!

    ملاحظة : إذا لم تظهر هذه الرسالة و ظهرت رسالة أخرى:Great work, mate فأنت صاحب أعظم حظ في هذا الكون (; .
    بعد أن رأيت كيفية عمل الملف انسخه أكثر من مرة لأنك فد تقوم بتعطيله أولا و لأنك لن تستطيع فتح نسخة واحدة من الملف بالـw32dasm و hiew

    2) شغل الـwin32dasm و افتح الملف بالضغط على disassembler من واجهة البرنامج ومن ثم اضغط open file to disassemble ثم اختر الملف crackme.exe و انتظر تحميله "كلما كان الملف أصغر كلما كان تحميله أسرع".









    3) أضغط على زر string data reference و هو الزر الأخير على اليمين من شريط الأدوات و سيظهر مكتوب عليه "strn ref" ستظهر لائحة بالرسائل التي من الممكن أن تظهر عند تشغيل البرنامج مثل الرسالتين السابق ذكرهما أضغط ضغطا مزدوجا على الرسالة : Great work, mate! سيذهب الــw32dasm إلى جزء البرنامج الذي سيظهر الرسالة و سترى التالي:
    * Possible StringData Ref from Data Obj ->"Great work, mate!"
    |
    :00401354 6834214000 push 00402134<سيكون المؤشر هنا>
    :00401359 FF7508 push [ebp+08]

    أصعد مع المؤشر رويدا رويدا إلى أن تصل إلى الموقع الذي يشير إلى عنوان القفزة التى أوصلت البرنامج إلى هذه النقطة و الذي سيكون :
    * Referenced by a CALL at Address:
    |:0040124C <هذا هو الرقم الذي يهمنا و الذي يدل على نقطة القفز>
    دون هذا الرقم و اضغط على زر goto code location و الذي يظهر على شريط الأدوات باسم:Goto cd loc
    أدخل عنوان القفزة "الرقم الذي دونته سابقا0040124C" ثم اضغط ok يجب أن يظهر لك التالي:
    |:00401243©
    |
    :0040124C E8FC000000 call 0040134D <سيكون المؤشر هنا>
    :00401251 EB93 jmp 004011E6

    من المهم أن لا تغير مكان المؤشر
    بكون المؤشر على العنوان نفسه أقرأ رقم الـoffset و الذي سيظهر أسفل شاشة الـW32DASM
    و الذي سيكون في حالة برنامجنا:
    Line: 449 Pg 9 and 10 of 25 code data @:0040124C @Offset 0000084Ch in file: crackme.exe
    رقم الـoffset هو هنا:84C
    لأننا سنهمل دائما الأصفار و حرف h .في النهاية هذا الرقم هو عنوان بدايه القفزة في الـhex دون هذا الرقم أيضا و انتقل إلى الخطوة التالية.
    4) شغل الـhiew hex editor و افتح نسخة الملف الراد عمل crack لها مثلا :
    “copy of crackme.exe” سيفتح لك الملف بشيفرة الـASCI "ستحصل على نفس الشيفرة إذا فتحتها بالـnote pad "المفكرة"
    #أضغط enter مرتين ليتحول عرض الـhiew إلى شيفرة الـassembler






    #أذهب إلى بداية موقع القفزة بالضغط على مفتاح f5 و أدخال رقم الموقع "رقم الـoffset” الذي هو في برنامجنا 84C
    سيظهر عندك التالي:
    .0040124C: E8FC000000 call .00040134D ----------- (1)
    أصعد إلى الأعلى رويدا حتى تصل إلى :
    .00401243: 7407 je .00040124C ----------- (1)
    ملاحظة:الرقم (1) يتغير وفق سيرك في الـhiew و ليس له أهمية الآن.
    هذا السطر هو المهم ضع المؤشر عند الرقم: 74 و هو كما ترى رقم الأمر je و هو الأمر الذي سيقوم بالقفزة إذا كانت خاطئة فعلينا أن نغيره .
    الأمر هنا هو je=jump if equal أي أن الملف سينفذ القفزة إذا كانت كلمة السر مساوية لكلمة السر التي يطلبهة البرنامج ما علينا فعله هو أن نغير هذا الأمر إلى:
    Jne=jump if not equal أي أننا نحول البرنامج لينفذ القفزة و يكمل تسجيلك فيه فقط عندما تكون كلمة السر خاطئة.
    #للقيام بذلك قف عند الرقم 74 و اضغط على مفتاح F3 لتحرير الرقم ..حول الرقم 74 إلى الرقم 75 "لاحظ أن الأمر je سيتحول إلى الأمر jne " و لحفظ التغيرات أضغط على المفتاح F9 .
    الآن تكون قد أتممت عملية الـcracking بنجاح "أتمنى هذا :S " أعد تشغيل نسخة الملف التي عالجتها بالـhiew و حاول التسجيل مرة أخرى و انظر النتيجة إذا كنت قد اتبعت الخطوات السابقة بشكل صحيح ستظهر لك الرسالة :
    Great work, mate!
    Now try the next CrackMe!
    هذه الـ next CrackME سأعرضها عليكم في ملفات نصية أخرى إن شاء الله و هي الـ:CrackMe 2
    و في النهاية أتمنى أن أكون قد حققت لكم بعض الفائدة و أرجو منك أن تنتبه إلى أنه هناك العديد و العديد من طرق الـcracking منها مولدات كلمات السر و الـ patches و ....
    كما أنه بإمكانك عمل crack لهذا الملف :crackme.exe و بنفس الأدوات و بنفس الطريقة تماما ولكن بدل أن تغير قفرة رسالة Great work, mate! غير قفزة الرسالة:
    No luck there, mate!
    حاول إيجاد هذه الطريقة .
    و عندما تحاول عمل crack لغير برامج لا تتوقع الحصول على نتيجة من المرة الأولى ولا من المرة العاشرة لأنه في كل برنامج هناك الكثير من القفزات و الأوامر كما أنه قد لا يكون فيه string data referenced .و هناك العديد من أوامر القفزغيرالـ jne,je هذه و أن كانت أغلبها تستعمل الأمران السابقان.

    من مواضيع Fawaz_syr :


    0 Not allowed!


    التعديل الأخير تم بواسطة Fawaz_syr ; 2008-01-03 الساعة 03:31 PM

  2. [2]
    م.رائد الجمّال
    م.رائد الجمّال غير متواجد حالياً
    عضو شرف
    الصورة الرمزية م.رائد الجمّال


    تاريخ التسجيل: Mar 2007
    المشاركات: 2,697

    وسام الشكر

     وسام كبار الشخصيات

    Thumbs Up
    Received: 15
    Given: 0
    مشكور اخي انا اتابع معك الموضوع
    و اسم برنامج التحرير hex editor view
    وليس برنامج تحرير الهكس “hex editor hiew

    0 Not allowed!


    تبارك الذي بيده الملك وهو على كل شيء قدير
    [SIGPIC][/SIGPIC]
    اذا غضب الله على قوم رزقهم الجدل و منعهم العمل
    اعقل الناس اعذر الناس للناس
    قوة الادراك ان تتمكن من محاسبة هواك
    لا شيء يستحق الانحناء ............لا خساره تستحق الندم

  3. [3]
    ياسر عبد اللطيف
    ياسر عبد اللطيف غير متواجد حالياً
    عضو فعال


    تاريخ التسجيل: Oct 2007
    المشاركات: 51
    Thumbs Up
    Received: 0
    Given: 0
    مشكور اخي علي الاضافة الجميلة جزاك الله خير

    0 Not allowed!



  4. [4]
    Fawaz_syr
    Fawaz_syr غير متواجد حالياً
    عضو فعال


    تاريخ التسجيل: Jun 2006
    المشاركات: 56
    Thumbs Up
    Received: 0
    Given: 0
    اقتباس المشاركة الأصلية كتبت بواسطة م.رائد الجمّال مشاهدة المشاركة
    مشكور اخي انا اتابع معك الموضوع
    و اسم برنامج التحرير hex editor view
    وليس برنامج تحرير الهكس “hex editor hiew
    البرنامجين موجودين اخي و إذا اردت الـ hiew hex editor
    هذا موقعه:

    http://www.hiew.ru/

    0 Not allowed!



  5. [5]
    احمد1970
    احمد1970 غير متواجد حالياً
    عضو فعال جداً


    تاريخ التسجيل: May 2007
    المشاركات: 224
    Thumbs Up
    Received: 0
    Given: 1
    مع انى اصعب افهم شى من اللى كتبته ولكن اقولك مشكور جدا وداوم على التآلق

    0 Not allowed!



  6. [6]
    experience_home
    experience_home غير متواجد حالياً
    عضو


    تاريخ التسجيل: Sep 2007
    المشاركات: 38
    Thumbs Up
    Received: 0
    Given: 0
    شكرا يا اخى بارك الله فيك

    0 Not allowed!


    Ahmed

  
الكلمات الدلالية لهذا الموضوع

عرض سحابة الكلمة الدلالية

RSS RSS 2.0 XML MAP HTML