• [ يمنع ] طرح أي موضوع يحوي على كراكات أو باتشات او كيجنات من غير فحصها عبر موقع فيروس توتال [ virustotal.com ] وطرح رابط الفحص ضِمن الموضوع.

الحالة
مغلق و غير مفتوح للمزيد من الردود.

egyptian

زيزوومى فعال
إنضم
1 يونيو 2015
المشاركات
529
مستوى التفاعل
1,119
النقاط
310
غير متصل
b9bktQH.gif



pcdHpxc.png






الأخوة والأخوات الكرام أعضاء منتدي زيزوووم الكرام


أهلا وسهلا بكم جميعا




سبق وأن طرحت موضوع منذ سنوات عن سر كسر البرامج بصفة عامة وبرامج الحماية بصفة خاصة وكيفية الحصول علي سيريالات ومفاتيح البرامج هنا


الهندسة العكسية... وسر الحصول علي سيريالات برامج الحماية



اليوم نجدد سويا الموضوع لأهميته ومستجداته




VnAOKW0.gif





تعريف الهندسة العكسية



تسمي بال (Reverse Engineering) ...وهي آلية برمجية تعني بتحليل آلية عمل برنامج ما ومعرفة سلوكه وطريقته في العمل والبيئة التي يعمل بها..والهندسة العكسية فرع من فروع البرمجة المتقدمة.

كما أنها تعرف ب ...

هي عملية إكتشاف مبدأ عمل أداة أو جهاز أو برنامج بصيغة تكنولوجية محضة وذلك من خلال تحليل النظام المثبت على تلك الآلة بهدف معرفة كيفية وطريقة عمله ، وغالبا ما يتم أخد ذلك البرنامج أو الجهاز وتحليله بغية تحويله لبرنامج جديد حيث يقوم بنفس المهام الموكلة إليه دون نسخ الأصل




VnAOKW0.gif





مثال بسيط


انت شخص تعمل مبرمجا مستقلا, في يوم ما استخدمت برنامجا لضغط الملفات و اكتشفت ان الملفات الخارجة تضغط بشكل مثالي, حيث ان مساحة الملف تتقلص بشكل كبير, فاعجبتك الفكرة و قررت ان تبرمج برنامجا يتعامل مع هذا النوع من الملفات المضغوطة. الان ستتوجه مباشرة الي موقع برنامج الضغط لتبحث فيه عن أي وثيقة تسرد تفاصيل و البنية الداخلية للبيانات بداخل الملف المضغوط و اي معلومات تقنية عنه, ففوجئت ان المبرمج لم يقم بوضع أي توثيق علني لبنية الملف المضغوط. حينها ستدرك انه من الستحيل ان تجد بنية الملف المضغوط, هل ستستسلم و تقول ما باليد حيلة فصاحب البرنامج نفسه لم يفصح لي عن السر؟ الكثير يمكن ان يفعل ذلك, لكن اذا كنت شخصا فضوليا, و عندك مهارات الهندسة العكسية, فستذهب فورا و تبدأ بفتح البرنامج و تراقب آلية عمله, و تبدأ بدراسته دراسة ممعنة و دقيقة, حتى تصل للكود الخاص بكتابة الملف المضغوط, و تبدأ بفهم لوغارتمية البنية الداخلية للبيانات بداخل الملف المضغوط .


اذا صاحبنا هنا استعمل الهندسة العكسية ليفهم آلية عمل برنامج ما (او جزء منه), وبدأ بدراسته حتى وصل لنقطة مكنته من كتابة برنامج يحوي هذه الخاصية .


كما تمكننا الهندسة العكسية من التعديل -اذا اردنا- على برنامج ما, والممتع هنا ان التعديل يكون بأي شكل من الاشكال, اما حذف خاصية مزعجة لا نريد استخدامها او رؤيتها في البرنامج, او تعديل خاصية موجودة (مثل تغير لون جزء من البرنامج, تغير كلمة او جملة في البرنامج, الخ…), و ايضا اضافة خاصية كنا نتمنى وجودها في البرنامج.


أذا اعطتنا الهندسة العكسية قدرة التعديل على البرنامج, بمعني اخر اصبحنا مبرمجين, مثلنا مثل صاحب البرنامج بالضبط.


والهندسة العكسية مستخدمة فعليا في غالب جوانب البرمجة, فالمعربين (اللذين يعربون البرامج الاجنبية) يستخدمون الهندسة العكسية في تغيير قيم الجمل و العبارات و الكلمات من لغة البرنامج الاصلية الي العربية, معدلين بذلك على البرنامج نفسه. كما يستخدمها المخترقون في فهم آلية عمل برنامج ما ليجدوا ثغرة أمنية فيه تمكنهم من تخطي نوع معين من الحمايات الرقمية او خرق خاصية (مثل خاصية ادفع ثم استخدم البرنامج) المنتشرة في كثير من الالعاب و البرامج.




VnAOKW0.gif






طيب ممكن تبسط لي الموضوع أخي أسامة أكثر ؟


حاضر سأفعل :)


في الواقع الهندسة العكسية هي في حد ذاتها علم يستخدم من طرف علماء متخصصين في البرمجيات وإستخراج الكود سورس سواء كان لبرنامج أو أداة معينة ، بحيث يمكنك إيجاد مفهوم الهندسة العكسية في العديد من المجالات المتقدمة مثل علم الاحياء و الفيزياء حيث تعتبر هندسة عكسية للآلات البيولوجية او آلات العالم المادي ، لكن في علوم الحاسوب تعتبر الهندسة العكسية مدخلك لعلم بناء الحواسيب وهندستها .

يمكنك كذلك عمل هندسة عكسية لبرنامج معين بهدف إستخراج الكود سورس الخاص بذلك البرنامج ، مع العلم أن هذا الكود يكون سري من طرف الشركة المصنعة للبرنامج لكن يمكنك استخراجه عن طريق عكس الأكواد المبرمجة داخل البرنامج وبالتالي الحصول على مبتغاك


VnAOKW0.gif





طيب سؤال أخي أسامة

هل يقتصر هذا العلم على البرمجة فقط ؟



قطعا لا, فالهندسة العكسية تستخدم في علم الميكانيكا, كان اليابانيون قديما يشترون المحركات الانجليزية و يقومون بفكها و فهم و دراسة اجزائها بانفسهم, ثم يعيدوا تجميعها و صنع محركات محلية مشابهة لنظيراتها الاوروبية.
كما تستخدم ايضا في علم الالكترونيات, و في هذا العلم بالذات, معظم المهندسين يستخدمون الهندسة العكسية لفهم آلية بنية متحكم ما ليقوموا بالاتصال و البرمجة عليه, كما تستخدم في التعرف على الاجزاء الغير معلومة من دائرة كهربائية او الكترونية و معظم استخداماتها هنا تكمن في فهم ارجل الدوائر المتكاملة, لان كثيرا من الشركات لا تقوم بنشر وثيقة تقنية لتلك الدائرة المتكالمة, فتأتي هنا الحاجة للهندسة العكسية لفك غموض تلك الدائرة و التعرف على سبل للتخاطب معها.






VnAOKW0.gif






طيب ما مصلحات الهندسة العكسية والمصطللحات المستخدمة بها أخي أسامة ؟



أقول لحضرتك ... :):)

Compiler : مترجم

Assembler : مجمع

Documentation : وثيقة

Reverse Engineering : هندسة عكسية

Processor : معالج

Controller : متحكم

Integrated Circuit: دائرة متكاملة

WinAsm _ Masm32 _ PE _ PEedit .....وغيرها الكثييييير
:D:D






VnAOKW0.gif






طيب بعد ما عرفتنا أخي أسامة فكرة عن الهندسة العكسية .. كيف نستخدمها ؟ وماذا نحتاج لإستخدامها ؟؟



أقول لحضرتك ...



الموضوع يعتمد بدرجة كبيرة على هدفك النهائي.


ان كنا نتحدث على المستوى البرمجي, فنحتاج ان نكون على دراية كبيرة بلغة المجمع, هذا لانك لن ترى البرنامج المراد فهم خصائصه على صورته الاصلية التى برمج بها اي بلغة عالية المستوى (الا بعض البرامج التي يمكن ان نعيد تجميع لغة المجمع من الملف التنفيذي الخاص بها, و نرجعها لكود عالي المستوى مثل الجافا او السي شارب, ولكن في معظم الحالات للأسف هذا غير ممكن ), فلهذا نقوم بمعظم التغييرات و الدراسات على الملف التنفيذي للبرنامج نفسه, فنقوم بدراسة و قراءة كود المجمع الذي بداخله, و نبدأ بتحليله حتى نصل الي هدفنا, سواء تعديل او فهم خصيصة ما.

للأسف, الدراية بلغة المجمع وحدها لن تكفي, فجزء كبير من كود المجمع في اي برنامج يكون خاص بنظام التشغيل و المترجم الذي قام صاحب البرنامج بترجمة البرنامج عليه. فهنا نحتاج لفهم على الاقل بعض المفاهيم و الاساسيات في علم المترجمات و علم نظم التشغيل, و كلما كان العلم موجه لنظام تشغيل بعينه, كان افضل, لان نظام التشغيل ويندوز يختلف عن نظام التشغيل لينكس, وهما بدورهما يختلفان على غيرهما في كثير من الامور التقنية, فلابد من فهم الفروقات او على الاقل التركيز على احداهما, حسب نظام تشغيل البرنامج المراد دراسته و فهمه.


طبعا هناك برامج نستخدمها يمكن ان تسهل علينا بعض من تلك العمليات, لكن و على غير العادة, لن نجد برنامج ابدا تدخله الملف التنفيذي و يخرجلك تقرير يشرح آلية عمله, بل انت الذي ستقوم بالتحليل و القراءة و الدراسة لتتمكن من فهم البرنامج المراد دراسته, و هنا تكمن متعة هذا العلم.


وهنا نذكر أنه


أشهر برامج الهندسة العكسية هو برنامج OLLYDBG





VnAOKW0.gif






طيب السؤال المهم أخي أسامة... هل الهندسة العكسية أمر قانوني أم لا ؟



مممممم :D:D


حقيقة, لا أحد يستطيع الجزم بأنه أمر قانوني أو لا, لأن هذا يعتمد على ماذا ستفعل بعد أن تقوم بفهم البرنامج أو التمكن من كسر حمايته. فبعض الناس يمكن أن تستخدم تلك المعلومات في صناعة برنامج آخر يملك نفس المواصفات و المميزات, و غيرهم سيقوم بأخذ الجزء الذي كان مهتم بفهمه ليقوم بتحسينه و وضع النسخة المحسنة في برنامجه, و البعض الاخر يمكن ان يستفيد بتلك المعلومات لاكتشاف ثغرة امنية تمكنه من اختراق مستخدمي البرنامج بدون ابلاغ الشركة المبرمجة للبرنامج. الامثلة كثيرة و النوايا غير معلومة, فلهذا الموضوع يحوي الكثير من الجدال, و لكن اختصارا كل شئ يتوقف على استخدامك للمعلومات التي قمت بمعرفتها بعد كسرك لحماية البرنامج و دراسته.


واحدة من أشهر القضايا في الهندسة العكسية, بين شركتي سيجا اليابانية المشهورة بصناعة أجهزة الالعاب و ألعاب الفيديو, و شركة أكولاد الأمريكية المبرمجة للألعاب. في عام 1990 قامت شركة سيجا بصناعة جهاز ألعاب الفيديو الحديث حينئذ (جينسيس) و لم تفصح عن أي وثيقة تقنية عن معالج هذا الجهاز حتى لا يمكن لأي شركة أخرى برمجة ألعاب للجهاز الا هي. فقامت شركة أكولاد بعمل هندسة عكسية على معالج الجهاز الحديث جينسيس و قامت بفهم بل و طباعة اول وثيقة تقنية تتحدث عن آلية البرمجة على هذا المعالج, و بدأت بصناعة و بيع ألعاب خاصة بها تعمل على جهاز جينسيس, ولكن سرعان ما أكتشفت سيجا ذلك و قامت برفع قضية دولية على شركة أكولاد, بسبب نشرها وثيقة تفصح فيها عن اسرار و تفاصيل تقنية من شأنها أن تتسبب في خسائر كبيرة للشركة, فأنتهت القضية لصالح شركة أكولاد الامريكية بحجة أن أكولاد لم تهتك أي قانون دولي, بل قامت ببرمجة ربحية للمعالج جينسيس و انتهى الأمر على ذلك.





VnAOKW0.gif






طيب نصل الي أهم سؤال أخي أسامة .. وما علاقة هذا بالسيريالات؟



ان لكل برنامج مفتاح وهذا المفتاح أو السيريال يحتوي علي وظيفة مقارنة ما بين المفتاح والخرج منه..
يقوم المبرمج بتتبع البرنامج من لحظة عمله (عن طريق برامج الهندسة العكسية) وحتي حدوث الخطأ الذي يكون طبعا في المفتاح او السيريال المدخل للبرنامج..
بمجرد حدوث الخطأ...يقوم المبرمج بالرجوع عكسيا حتي يصل الي المعادلة التي تمكنه من انتاج السيريال عن طريق برامج معينة.






VnAOKW0.gif






إلي هنا أكون قد انتهيت من إعطاء فكرة مبسطة عن الهندسة العكسية وطبيعة عملها واستخداماتها


الموضوع مجمع من مصادر عديدة لتبسيطه للأخوة



أتمني من الله أن أكون وفقت قي إفادة الأخوة والأخوات

إن أصبت فمن الله وإن أخطأت فمنى ومن الشيطان

إحترامي ،،،



VnAOKW0.gif






3eAo3EQ.gif











 

التعديل الأخير بواسطة المشرف:
توقيع : egyptian
شكرا لك يا خبير الهندسة العكسية الأستاذ اسامة كمبية كبير من المعلومات المفيدة
 
توقيع : Mr. Abdul Bari
رائع وجميل اخي وصديقي المخضرم ;)


موضوع وتجميعه متكامله تشكر عليها

دمت بخير
 
توقيع : التميمي14
موضوعك هذا يحتاج الى كوب من القهوة ;);)
و ينقرأ بمزاج عالى :sneaky::sneaky:
تسلم يا غاااااااااااااااااااااااااالى o_Oo_O
 
توقيع : nasa3
موضوع رائع اخى الكريم

فقد قرائته كله سريعا

على الرغم من انك لم تدخل فى كثير من التفاصيل التى تحتاج الى توضيح الا انك بسط الامور بشكل رائع

كما ذكرت ان الهندسه العكسيه تختلف بنوايه الذى يريد الاعمل بها

فمنها من يستخدمها فى عمل كراك لبرنامج ما

ومنها من يستخدمها لسحب اكواد السورس كود للبرنامج نفسه بشكل كامل وسرقته

وهنا الحاجه الى برنامج تحمى الاكواد من السرقه وظهرت كثير من البرامج على هذا الشكل

وايضا منها من يستخدمها فى استخراج سريال لبرنامج ما

ومنها من يستخدمها فى البحث عن ثغرات فى البرامج

ومنها من يستخدمها فى التحليل بشكل عام

وهناك الكثير والكثير

علم الحاسب الالى نفسه علم كبير وواسع جدا وستجد ان كل شى مترابط ببعضه البعض

تحياتى لشخصك الرائع
 
توقيع : black007
توقيع : egyptian
توقيع : egyptian

يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي



خد وقتك واعمل لي فنجان زيادة معاك :D
تحياتي ،،،
 
توقيع : egyptian
يارك الله فيك يالغالي موضوع رائع ومفيد جزاك الله كل خير
 

يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي



الأروع هو ردك الرقيق أخي وتشريفك للموضوع
كل عام وأنت بخير
 
توقيع : egyptian
جزاك الله خيرا
 
بارك الله فيك يالغالي
طرح مهم
 
توقيع : mha1m
موضوع كبيييير ... والشرح بسيط وجميل
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.
عودة
أعلى