الأحد، 31 مايو، 2015

كيفيه صنع الباتشات وتحليل البرامج - الهندسه العكسيه

بسم الله الرحمن الرحيم 





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



اولا ما المقصود بالهندسه العكسيه :

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

التعريف المبسط لعملنا : هو عمليه تحليل البرنامج الى تعليمات اسمبلي لمحاوله فهمها ومعرفه كيفيه عمل البرنامج ليتم التعديل عليه او اخذ جزء منه لاستخدامها مره في برامج جديده .





ثانيا ما الفرق بين dissassembly و decompiler ؟



dissassembly تحليل البرنامج هو الحصول على تعليمات تشغيل البرنامج بلغه الاسمبلي مهما كانت اللغه الاصليه المكتوب بها البرنامج  .

decompiling هي الحصول على الكود المصدري للبرنامج بنفس اللغه التي تمت بها كتابه البرنامج ولا يوحد برنامج يعطيك الكود المصدري الاصلي 100% .


يوجد برامج لكلا النوعين لكن عملنا سيكون على برامج ال dissassembly .





ثالثا كيف يمكن تحليل البرنامج ؟

لنقوم بتحليل البرنامج الى تعليمات اسمبلي يوجد طريقتين :


1) الطريقه اليدويه بفتح ملف التشغيل الموجود مثلا بصيغه .exe عن طريق برنامج يقرا الملفات بنظام ال hex ثم نقوم بجمع كل تعليمه مع كودها في hex المعروف مسبقا , طبعا عمليه مرهقه وتتطلب وقت طويل جدا لاتمامها .


2) استخدام برامج dissassembly او debugers لتقوم بتحليل البرنامج واعطائنا القدره على التشغيل وتتبع البرنامج و امكانيه عرض ال stack و heap و حتى التعديل على التعليمات وال registers كما نشاء .



رابعا البرامج التي تحتاجها للبدأ بالعمل  :



1) ollydbg : برنامج dissassembly رائع يحوي على ادوات كثير لتساعدك على تتبع عمل البرنامج باظهار التعليمات والمسجلات و محتويات الذاكره مع امكانيه التعديل على البرنامج و البحث خلال التعليمات , يمكنك تحميله من هنا : odbg200

2) ASCI table : يمكنك تحميله من هنا : ASCII TABLE


3) قارئ الملفات بال HEX : Hex Editor

4) نظام وهمي يفضل ان يكون وندوز xp : في هذا المجال يفضل العمل على الانظمه الوهميه حتى اذا حدث اي خطأ لن يؤثر على النظام الاصلي وايضا في المستقبل عند تحليل الفيروسات يجب استخدام النظام الوهمي حتى لا يتم اصابه النظام الاصلي بالفايروس . ( يمكنكم العمل على نظامكم فقط في هذا الموضو لكن اذا اردتم الاستمرار والتعلم يجب استخدام نظام وهمي )



5) البرنامج الذي سنعمل عليه : crackme




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






هل اعجبك الموضوع وتريد الوصول الى الاحتراف لكسر حمايه اقوى البرامج او احتراف تحليل الفيروسات وكشفها ؟

ستجد هنا كل الروابط المهمه لتبدأ مشاورك في عالم الهندسه العكسيه :) 

رابط المنتدى العربي للهندسه العكسيه : www.at4re.com

رابط كتابين من اهم الكتب وافضلها على مستوى العالم العربي ويمكن على مستوى العالم باللغه العربيه حيث عند اكماله ستتمكن من اختراق اي برنامج مهما كانت قوته فهو يعطيك خبره سنيين من الهندسه العكسيه على طبق من ذهب  : كتب احترافيه

رابط دوره اكتشاف الفيروسات عن طريق الهندسه العكسيه : coursera

رابط لدوره ستبدا قريبا لاكتشاف الفيروسات عن طريق الهندسه العكسيه : cybrary

رابط برامج تحتاجها في الهندسه العكسيه : Tools

مواضيع ذات صلة

كيفيه صنع الباتشات وتحليل البرامج - الهندسه العكسيه
4 / 5
Oleh