التعريف الأكاديمي للهندسة العكسية:
الهندسة العكسية : هي عملية إكتشاف المبدأ التكنولوجي لأداة او نظام من
خلال تحليل هيكله او وظيفته او طريقة عمله.
وغالبا ما يشمل أخذ شيء ( جهاز ميكا***ي, آلية جهاز إلكتروني او
عنصر برنامج حاسوبي ) وتفكيكه إلى قطع وتحليل طريقة عمله بالتفصيل بغية
انشاء جهاز جديد او برنامج جديد يقوم بنفس العمل من دون نسخ الاصل.
الهندسة العكسية هي في الاساس علم وتستخدم الاسلوب العلمي.
علوم مثل علم الاحياء و الفيزياء يمكن اعتبارها هندسة عكسية للآلات البيولوجية او آلات العالم المادي.
في علوم الحاسوب
الهندسة العكسية تعتبر
حقل علمي ثانوي لان علم الحاسوب يعتبر علم بناء اي هندسة امامية او الى الامام.
في بعض البلدان لو كان المنتج او طريقة صنع المنتج محمي باعتباره سراً تجارياً فإن اجراء
الهندسة العكسية عليه هي عملية قانونية طالما تم الحصول عليه/عليها بطريقة شرعية.
براءات الاختراع من الناحية الاخرى
تتطلب
الكشف عن الاختراع حتى يتم تسجيلها, لذلك ليس هنالك اي ضرورة لاجراء
هندسة عكسية على اختراع من اجل دراستها. هنالك دافع واحد مشترك
لإجراء الهندسية العكسية وهو لتحديد ما اذا كان المنتج المنافس يتضمن
انتهاكات لحقوق الطبع او انتهاكات لحقوق النشر.
والهندسة العكسية هي بحر كبير ونحن سوف نركز في هذا القسم علي
الهندسة العكسية للبرمجيات.
اي عملية تحليل البرامج وفهم طريقة عملها و التعديل عليها بإضافة خواص جديدة لها(دون ان تمتلك السورس كود)
او صناعة الكراك (Crack) و الكي جين (Keygen).
ايضا ستحتاج في مشوار
الهندسة العكسية الي معرفة بعض التعريفات الهامة
هذة التعريفات هي:
RCE = Reverse Code Engineering
الهندسة العكسية للكود - اي للبرمجيات / البرامج
-
PID = Process ID
كل برنامج يعمل في الذاكرة له رقم ID يميزه عن غيره من البرامج التي تنفذ في
الذاكرة في نفس الوقت.
-
IDA =Interactive DisAssembler
برنامج صاحبة يستحق جائزة نوبل عبارة عن Disassembler و منقح في نفس الوقت.
-
Disassembler
برنامج يعطيك الملف المصدري بلغة التجميع لاي برنامج انطلاقا من الملف التنفيذي.
-
loader
بريمج صغير يستدعى / ينفذ / يحمل برنامج اخر ويغير به بالذاكرة.
-
Attach
لديك برنامج ما يعمل بالذاكرة و تريد ان تنقحه، تقوم بعمل Attach له لكي تستطيع تنقيحه.
-
Hex
هو نظام عد مثل ال decimal (ميزان ستة عشر) اي يتكون من 16 رقم
وهم 0 1 2 3 4 5 6 7 8 9 A B C D E F
-
Debugger
هي برامج تسمي ببرامج التنقيح وهي تحول اي برنامج الي لغة الأسمبلي وتسمح
لنا بالتعديل في كود البرنامج الأصلي.
-
UnPackers
برامج تستخدم في فك تشفير البرامج المشفرة اوتوماتيكيا.
-
Packers
هي البرامج التي تستخدم في تشفير البرامج ووضع حماية عليها.
-
FileMonitor
برنامج يقوم بمراقبة اي برنامج أخر يقوم بأنشاء ملف.
-
RegMonitor
برنامج يستخدم في مراقبة الريجستر ومراقبة اي تعديل فية.
-
PE
هي البرامج التي تعمل في بيئة الويندوز ويكون لها واجهة مستخدم .
-
PE edit
برامج تستخدم للتعديل في ال PE وفحص جميع اقسمها.
-
Import REConstructor
برنامج هام جدا ويستخدم في اصلاح ال import table ويستخدم في عملية فك التشفير اليدوي.
-
ResTuner
برنامج يستخدم مثلا في تعريب البرامج او تغيير صورة البرنامج بصورة اخري وله إستعمالات أخري مفيدة جدا.
-
WinAsm
برنامج يستخدم لكتابة البرامج بلغة الأسمبلي.
-
MASM32
برنامج لا غني عنه للبرمجة بالأسمبلي.
-
اما عن فك الضغط يدويا اي فك تشفير البرامج المشفرة بنفسك دون استخدام برامج
الـ ( unpackers )
لأنك سوف تواجه برامج تشفير لا يمكن فكها الا يدويا.
في الختام ارجو ان تكونو استفدتم
AYMAN2010