
من مدة ليست ببعيدة بدأت أهتم بالهندسة العكسية وطرق كسر البرامج والتعديل عليها.. عالم ممتع جدا بصراحة وزاد اهتمامي به بشكل كبير في الآونة الأخيرة! تكلمت سابقا عن بعض البرامج والأدوات البسيطة وطريقة استخدامها يمكنكم أن تجدوها في التصنيف Reverse Engineering. اليوم سأتكلم عن برنامج رائع بكل معنى الكلمة يمكّننا من استعراض الكود المصدري وتعديل البرامج التي تمت برمجتها بلغة C# , Visual Basic.Net أو أي لغة برمجة أخرى تعمل باستخدام Microsoft .NET Framework!
شخصيا أرى أن القدرة على تعديل عمل برنامج ما والتغيير فيه دون وجود الكود المصدري يعتبر تحدي بحد ذاته لا يختلف كثيرا عن الاختراق والتحدي باختراق شبكة أو سيرفر ما على سبيل المثال. لكن ليس لكسر البرامج وصناعة الكركات فكما قلت سابقا هذه ليست غايتي من تعلّم الهندسة العكسية لأني أؤمن أن استخدام البرامج المفتوحة المصدر أو المجانية وشراء البرامج التجارية في حال لم يتوفر بديل قوي أفضل بكثير من استعمال البرامج المكسورة الحماية! الأمر ليس صعب والبرامج المجانية/المفتوحة المصدر ليست سيئة كما يعتقد البعض كل ماهنالك أنك ستحتاج لبعض الوقت حتى تنتقل من البرامج التي تستخدمها الى أخرى مجانية بدأً من أصغر برنامج تستخدمه وصولا لنظام التشغيل! (شخصيا مازلت أحاول ذلك بالنسبة للبرامج التي أستخدمها أثناء عملي على نظام Windows وأفكر جدّيا باعداة تنصيب النظام واعتماد البرامج الحرّة بشكل نهائي!)
شرحت البرنامج بالفيديو هذه المرة وتم الطبيق على برنامج بسيط قمت ببرمجته بلغة C#:

يطلب منا البرنامج ادخال الرقم السري كما هو موضح بالصورة السابقة. اذا كان الرقم الذي قمنا بادخاله صحيح ستظهر العبارة TRUE باللون الأخضر أما اذا كان الرقم خاطئ ستظهر العبارة WRONG باللون الأحمر! المثال بسيط جدا لكنه يظهر فكرة عمل البرنامج وهذا هو المهم أما ما يجب علينا عمله هو معرفة الرقم السري أو جعل البرنامج يأخذ جميع الاحتمالات! سأستخدم مع البرنامج اضافة تدعى Reflexil لتمكننا من التعديل على البرنامج الذي نريد لأن البرنامج الأساسي يمكّننا من رؤية الكود المصدري فقط.
تحميل BH-dotNet Crack Me | الاصدار الذي تم تعديله
بكل تأكيد الفيديو لا يوضح جميع امكانيات وميزات البرنامج ويمكننا عمل وتعديل الكثير من الخيارات في البرنامج لم أتطرق لها بالاضافة لوجود العديد من الاضافات الأخرى يمكننا تحميلها وتجربتها فكل اضافة تضيف امكانيات وميزات جديدة للبرنامج.
موقع البرنامج | صفحة التحميل | تحميل الاضافات | اضافة Reflexil
أتمنى أن يكون الشرح قد نال اعجابكم واستخدام موفق ان شاء الله
دمتم بود.. أخوكم Br4v3-H34r7.
سلمت يداك يا عبده
عالم الهندسة الهكسية جميل و يجب أن نبحث فيه عن الجانب الجيد .. قد يكون موضوعا للنقاش لاحقا
بصراحة عندما نويت أن أدخل هذا المجال نزلت دورة عنها لكن للأسف تراجعت لثلاث أسباب
1/ إنشغالي بعالم الشبكات و الأنظمة حيث متعتي تكمن هناك
2/حصل خطأ أدى إلى مسح البارتشن اللذي أمتلك كل معلوماتي عليه (160جيجا)
3/إحتكاكي بأكد الأشخاص المعروفين في منتديات البرمجة العكسية و وجدت منه طريقة كلام لا تليق بأهل العلم فعرفت أنه في الشبر الأول من العلم.
سلمت يداك يا عبده
يعطييك الف عافيه
وجإأزك الله الف خير
لمحبتك للخير ونشر العلم
نفع الله بك المسلمين
زأإدك الله علم
موفق !
بارك الله فيك أخي عبدو :D
موضوع رائع في القمة كما عودتنا دائما ، وبرنامج مفيد جدا خصوصا لمن يريد أن يطور مهاراته في البرمجة ويطوع البرامج لتناسب ما يحتاج إليه ، ولكن البرامج المفتوحة المصدر تبقى الحل المتكامل لنا جميعا فلا تحتاج لا لبرنامج و لا لأي شيء فالكود المصدري أمامك ، عدل ما تريد .
دمت بود أخي عبدو و السلام عليكم ورحمة الله تعالى وبركاته . :yes:
فعلا برنامج قوي وتجربة ممتعة ومفيدة
ولك جزيل الشكر
السلام عليكم ورحمة الله وبركاته
هذا الأمر فكرت فيه فعلياً … عندما صدرت mono-project فتستطيع تشغيل برنامج عليها وكشف كل الأمور التي يستدعيها .. هذا بالنسبة للـ.net وبالطبع،، البرنامج أصلاً كله يعمل بواسطه mono-project فبذلك تستطيع تتبع حتى جملة For وIF! لكن هذه كانت مجرد فكرة ولأن خبرتي صفر بهذا المجال فلم أحاول التعمق به ^^.
والظاهر هنا أن البرنامج حل الأمر كله!
:^^:
مشكور ما قصرت :D
ان شاء الله لا فضيت اجربه
السلام عليكم.
بارك الله فيك اخي على هذه المواضيع التي تساهم في رفع المستوى العربي الذي اصبح كما نراه اليوم *** .
لدي ملاحظة فقط فيما يخص معنى كلمة الهندسة العكسية،قبل ان أبدأ الحديث فأنا اتحدث هنا عن المفهوم العام لدى الكثيرين ولست اقصد الموضوع بأي نقطة من النقاط.
الكثير من الناس يظن ان الهندسة العكسية هي عمل كراكات لبرامج وهي انتهاك لخصوصية المبرمجين ويعتبرونها عملية غير شرعية وهنالك طرف آخر غلب جانب كسر البرامج وايجاد الأرقام التسلسلية الخاصة بها على معنى كلمة الهندسة العكسية.
لذلك اقول ان “Software Cracking” هو جزأ يسير من الهندسة العكسية فهنالك من يستخدم الهندسة العكسية في تطوير افكار وهنالك من يستعملها اثناء تنقيح برامجه اذا صادفه خطأ ولم يجد له تفسير ، وهنالك من يستعملها في فتح المصادر ;) , والأمر الذي اعتبره جانب مهم في مجال الهندسة العكسية و الذي يأخذ نصيب الأسد عند الغرب ،هو تحليل البرامج الضارة و إكتشاف الثغرات فتخيلوا صعوبة التعامل مع الفيروسات اذ لم يتم هندستها عكسيا ومعرفتها من الداخل،وما يثبت هذا القول مجمعات Recon .
ومن هذا المنطلق نجد ان الهندسة العكسية سلاح في يد Security professional ،وأنها لا تنحصر في معنى ضيق جدا وهو كسر البرمجيات.
آسف اخي على مداخلتي الطويلة.
ارجو الانتباه لتعليقي..
يوجد شيء ناقص بالمواضيع ولا نراه اطلاقا… الا و هو التشفير من الحمايات … ليس بطرق العامة اخي عبدو بل بالطرق الاحترافية و طبعا الهندسة العكسية جزئ منه
تحياتي
شرح جميل وواضح
بالتوفيق يا اخي
السلام عليكم
اشكرك على ما لهذا الموضوع من اهمية وبعد قراءة الموضوع ظهر فى نفسى سؤال
هل لا يوجد طريقة تحمى الكود اذا كتبته فى احد لغات الدوت نت؟؟
اعتقد لو هناك طريقة للحماية يكون الموضوع حقق هدف اكبر
شكرا
جزاك الله خير
عملو برامج لكسر ملفات .classللجافا ثم آأخر لكسر ال.net وتبقت السي++ ربنا يستر
أفضل شيء لحماية برامجك من هذه البرامج أستخدام الدنغل وبأحتراف بحيث تعقد من يريد كسر البرنامج وتجعل مهمة كسره أعقد من كتابته كاملاً
وربنا يوفقك
أهلا بالجميع :^^: قرأت جميع التعليقات ويسعدني وجودكم.. سأرد على البعض فقط اختصارا للوقت.
@DATA_SNIPER: كلامك صحيح أخي :) ولقد وضحت بعض من هذه الأمور في المواضيع السابقة لكن شيء لاخلاف عليه هو أن الهندسة العكسية للبرامج عملية غير شرعية ان كانت بغرض تعديل عمل البرنامج أو صنع كراك له (كلامي على البرامج المغلقة المصدر طبعا!!) لكن كما قلت يمكننا استخدمها بشكل مفيد في تحليل الفايروسات وبرامج التجسس!
@محمد: عفوا لكن ماعلاقة تشفير الباتش من الحمايات في هذا الموضوع!! يا أخي الهندسة العكسية مثل الاختراق عالم كبير وماتتكلم عنه هو تغيير الـ EP الخاص بالباتش لكي لا يكتشفه الأنتي فايروس أما نحن نتكلم عن كسر وتعديل البرامج المبرمجة باحدى لغات الـ .Net!!
@د/أحمد شولح: وعليكم السلام.. الهندسة العكسية موجودة من مدة طويلة ويمكن تنفذها على أغلب البرامج لكن في لغات البرمجة مثل الـ .NET ولغة الـ JAVA أصبح الأمر أسهل وأكثر فعالية بسبب وجود وسيط (ان صح التعبير) بين البرنامج والنظام. أما الحلول فهي موجودة لكني بالعادة لا أحب طرح الاثنين معا.. أضع المشكلة مثلا ثم نناقشها ونبحث عن حلول بعد نضع الحلول وطريقة الحماية هذا يحقق الفائدة للجميع على كل حال يكفي أن تبحث في Google عن .Net Obfuscator لترى العديد من البرامج التي تقوم بحماية البرنامج.. لا أعلم مدى فعاليتها بصراحة لكن حسب ماقرأت لا يوجد حل نهائي!
@abuoof: أخي وضحت السبب في ردي على الأخ د/أحمد شلوح مع العلم أن حتى لغة الـ CPP أو أي لغة برمجة أحرى يمكننا عمل هندسة عكسية لها لكن باستخدام أدوات مختلفة وبالاعتماد على لغة Assembly أما الحماية باستخدم دنغل لا أتوقع أنها فعالة أضف الا ذلك عدم قدرة الجميع على تنفيذه.. الأفضل من ذلك برمجة الأجزاء الحساسة من البرنامج باستخدام لغة CPP مثلا ودمجها مع برنامج .Net بشكل مكتبات DLLهذا سيصعب الأمر أكثر لكن في الهندسة العكسية لايوجد شيء مستحيل فأكبر البرامج والأنظمة تم كسر حمايتها وصناعة كراك لها!
يعطيك الف عافيه عبدو
ولله يوفقك ويحميك لأهلك
بصراحة الهندسة العكسية روعة ومتعة بحد ذاته
بس بدها شوية صبر
مشكور عالبرنامج والشرح
مدونة ولا اروع :D
أخي لماذا الدنغل غير فعال !
لو قمت بأستخدام الدنغل بالطرق القياسية فسيصبح فاشل أما أن جعل البرانامج مربوط به وأجزاء منه عليه أعتقد أنه سيصعب كسره بصراحة لم استخدمه ولكن قرات وشرح لي عنه
هناك طريقة أقوي هي ربط البرنامج بالهاردوير الخاص بالجهاز كرقم البروسيسور قام بها أحد زملائي لا ادري كيف مشكلتها أنك ترغم المستخدم علي أستخدام جهاز معين :sad:
بالنسبىة للسي++ ما أقصده أنتاج برنامج يرينا اكود المصدري للبرنامج كما يحدث مع .net
وأخيراً كلما تعددت نقط الحماية قوية الحماية يعني لو الحماية في الباسورد فقط تبقي فاشلة
وآسف علي الأطالة
السلام عليكم ،،
شكرا على هدا الدرس الرائع ،،
لدي سؤال ! ،، انا قررت البدأ بتعلم الهندسه العكسيه ،، هل بامكانك ان تقول لي البدايه الصحيحه لبدأ في تعلمه ،،
مثلا ابدأ بتعلم الـassembley مثلا .
مشكووووووور
و انا لي خبرة بسيطه في الهندسه العكسيه
لكن بعض البرامج محميه
ياليت تكتب موضووع عن طريقت فك حماية البرامج
أنا عندي برامج لكن بعضها مو بالقوة المطلوبه ,,, :D
@abuoof: أخي استخدام دنغل لبرامج ليس أمر سهل كما تعتقد ومن الممكن كسره أضف الى ذلك أنها ليست عملية وتستخدم في البرامج الكبيرة ولو كانت عكس ذلك لاستخدمتها أكبر الشركات مثل أدوبي ومايكروميديا وغيرهم لكن اضافتها سيكلفك أشياء كثيرة أنت بغنى عنها (وجود شركة تصنعها لك, وجود موزعين بالدول التي ستبيع برنامج بها أو يقتصر البرنامج محليا فقط, المشاكل التي قد تصيبها كونها قطعة هاردوير, تحتاج لتحديثها مع كل تحديث للبرنامج, ليس الجميع مستعد أن يوصلها بجهازه كلما أراد استخدام برنامجك مثلا) والكثير من الأمور والمشاكل الأخرى! وشخصيا أرى أن مساؤها أكثر بكثير من قوة حمايتها. أما ربط البرنامج مع الرقم التسلسلي للهارد أو أي قطعة هاردوير ثانية أمر ممكن لكن أيضا يمكن كسرها بعد عمل هندسة عكسية للبرنامج وجعله يتخطى مرحلة التأكد أو تغيير الرقم من أساس بالبرنامج بعد صنع باتش أو حتى اكتشاف الخوارزمية المستخدمة في حال كان البرنامج يطلب رقم سري بالاعتماد على الرقم التسلسلي لقطعة الهاردوير التي اخترتها.
@GreyZer0: وعليكم السلام أخي.. اذا أردت احتراف الهندسة العكسية ستحتاج معرفة بالبرمجة بشكل عام ولغة Assembly بلا شك فهي الأساس بهذه الأمور ويجب أن تتعلم استخدام برامج الـ Debugging مثل IDA Pro و OllyDBG بالاضافة لمعرفة بالتشفير وخوارزمياته.. الأمر ممتع لكنه ليس سهل والطريق طويل خصوصا أن كل شركة تبتكر طرق جديدة في حماية برامجها.
@CuTtHrOaT: العفو أخي.. كما وضحت في الموضوع والمواضيع السابقة هدفي ليس صنع الكركات لفك حماية البرامج بل فقط القدرة على تحليل البرامج والتغيير فيها دون وجود الكود المصدري للبرنامج.. نوع من التحدي فقط :)
الف شكر لك اخي….
شرح جميل….
لكن لم افهم “جدوائية” السيريال او الرقم السري مادام القصد من استخدام البرنامج كسر البرنامج نفسه…..
يعني انا اريد صنع كراك للبرنامج ولا يوجد لدي الرقم السري طيب اروح لمين..’’’’؟؟؟ :D
الف شكر لك
اخي اعرف عما اتكلم و معك حق على ان تعليقي خارج الموضوع
لكن التشفير بالهيكس و له علاقة كبيرة بالهندسة العكسية
و شكرا
موضوع جميل
انا عايز اقول ان عالم ال REVERSE ENGINEERING كبير جدا جدا
البرنامج اللى فوق ده بيقدر يتعامل مع ال .NET لانى على معلوماتى الضئيله انه بيستعمل INTERMEDIATE LANGUAGE ومش بيحول لل NATIVE
ومشكور اخى على المجهوود
سلام
ماشاء الله عليك ، ربي يحميك ويوفقك لكل خير . هندسة عكسية أظنه الأمر يحتاج كثيراً
من الصبر
السلام عليكم و رحمة الله و بركاته
بعد انقطاع دام فترة ليست قليلة و ذلك بسبب انشغالي بالامتحانات
كنت عارف اني راجع و رح لاقي الكتير من المواضيع الشيقة كما عودتنا خيي عبد
عندي سؤال بسيط اذا كان البرنامج مكتوب بلغة Delphi
فما هيه الطريقة لمعرفة السورس كود ؟
بحييك على انك ما بتوضع موضوع كامل لعدم استخدامه في شيء سيئ
و بحييك اكتر بقسم الهندسة العكسية انك ما عم تحصر المواضيع بالكراك
و عم تتعامل معها و عم توعي الشباب على التعامل معها على غير هذه النظرية
و للاسف فانا اول دخولي في عالم الهندسة العكسية كانت هذه نظرتي قبل الاطلاع
لانه هيك وصلتني الفكرة من بعض الاشخاص قبل ما اكتشف لحالي و اسبح شوي بهالعالم
تقبل مني كل التحية و التقدير
@موريتاني,محمد,3ABED,شخص: أهلا بكم جميعا :)
@HaCk-AnGel: وعليكم السلام أخي.. يمكنك استعمال برنامج شرحته سابقا بالمدونة يدعى ResHack فهو قادر على تعديل البرامج المبرمجة بلغة Delphi بشكل كبير ومن ثم حفظ التغييرات بطريقة شبيهة جدا بالبرنامج السابق لكني لا أذكر ان كان يظهر السورس كود أم لا.
السلام عليكم
شكرا على ردك خيي و اهتمامك لكن برنامج ResHack ما عطاني النتيجة اللي كنت عم
دور عليها
مشكور مرة تانية رح كمل بحثي بالموضوع
“إحتكاكي بأكد الأشخاص المعروفين في منتديات البرمجة العكسية و وجدت منه طريقة كلام لا تليق بأهل العلم فعرفت أنه في الشبر الأول من العلم”
ممكن اخي توضح ما هي طريقة الكلام التي وجدتها من الاشخاص المعروفين بالهندسة العكسية !!!! :think:
ايضا عالم الهندسة العكسية عالم كبير جدا ولن ازيد علي كلام الاخ Data_Sniper
ايضا كسر البرامج ليس عيب او عمل غير اخلاقي كل شخص حر فيما يفعل طالما انك لن تضر احد اخوانك المسلمين او حتي العرب. بالضبط مثل اختراق المواقع الامريكية و الاسرائيلية.
:OK: جزاك الله خيرا
اوﻻ انا احب الاثارة و الوصول الى حد ادنى من تكنولوجيا بشكل عام و هدا هو حلمي
و انا اتابع مدونتك و لقد اندهشت كثيرا من شخص مثلك يعرف كل هده الامور ما شاء الله عليك
بدون اجمال
ثانيا لدي طلب اريد نصيحة منك
انا كنت اعمل ب الوينداوز كثيرا و ابرمج و اعدل وووو
و لكني ماعدت اتحمله و لقد ركبت الينيكس عندي توزيعتان ابتينو و ماندريفا
اريد برنامج يشغل برامج وينداوز على الينيكس
ادا امكن
تحياتي لك
@Mustapha−BR−Hex: برنامج Wine في لينوكس يقوم بهذه المهمة لكني لا أنصحك بذلك ففي لينوكس يوجد العديد من البدائل بعضها يتفوق على البرامج الخاصة بويندوز! كل ماهنالك أنك ستحتاج بعض الوقت لتعتاد عليها, اذا أردت مزيد من المعلومات راجع مجتمع لينوكس العربي.
يعطيك العافيه ياغالي على الشرح وان شاء الله يكون
بميزآن حسنآتك ولآ هنت على الموضوع والشرح الوافي ايضاً
تحياتي لك
اخوك / الوافي
اريد افضل البرامج في الينيكس
1 برنامج التعديل
2 برنامج التصميم
3 برنامج لصنع الاسطوانات
توزيعة ايبتينو
تحياتي لك
فعلا أداة قوية
قبل كنت استعملها لكن لم اعرف استخدمها
لكن الآن بعد الفيديو يلي شفته من شرحك تعرفت على قدرات هذي الأداة
الباحث
شرح اكثر من رائع تسلم ايدك على هالشرح الممتاز واتمنالك التقدم والموفقيه يا طيب الاصل
الله يعطيك ألف عافيه . أنا ياطويل العمر كراكر من 4 سنوات وذاك الوقت كان القليل من الناس الذين يعرفون عن الهندسه العكسيه لكن الان الحمدلله فالمصادر العربيه بدأت تتطور في هذا المجال
مرحبا خوي
ربي يعطيك العافية ويوفقك
بس عندي برنامج وليا مدة وانا احاول كسره ولما تابعت خطواتك خطوة خطوة صارتلي مشكلة وماقدرت انكمل
ياريت تساعدني لو ممكن