08-04-2021, 02:48 PM
(آخر تعديل لهذه المشاركة : 05-04-2024, 01:21 PM بواسطة ehab85.
تعديل السبب: اضافة اسم اداة
)
الدرس الثاني - ب
ما هو الفرق بين Decompiler و Disassembler ؟
يخلط الكثيرين بين كلمة decompiler و disassembler ويستخدم البعض الكلمتين بالتبادل رغم ان هناك فروق بينهما كما سنبين.
بعض الادوات او البرامج المتوفرة مثل (IDA و JEB ) بها decompiler و disassembler بمعنى تمتلك القدرة على تحويل الكود الى لغات المستوى الثاني والثالث كما تتوفر على خاصية debugging لتحليل الكود وتتبع تدفق البيانات.
ماهو المصحح Debugger ؟
debugging: هو فن البحث عن الأخطاء في البرامج ومعالجتها. تسمح مصححات الأخطاء للمستخدم بعرض حالة تشغيل البرنامج وتغييرها وتمكننا من تتبع سير تنفيذ البرنامج وتدفق البيانات داخل المعالج والذاكرة خطوة بخطوة حيث انه يمتاز بخاصية Breakpoints.
يستخدم المصحح لتحليل التعليمات البرمجية بشكل ديناميكي (dynamic) يعني أثناء عمل البرنامج، ومن امثلتها: gdb, x64dbg.
ما هو الفرق بين Decompiler و Disassembler ؟
يخلط الكثيرين بين كلمة decompiler و disassembler ويستخدم البعض الكلمتين بالتبادل رغم ان هناك فروق بينهما كما سنبين.
- Disassembler: يحول الكود البرمجي من لغة الآلة binary الى لغة Assembly والكود يكون اطول واصعب في القراءة من الكود المكتوب باللغات العالية المستوى، لان الاسمبلي لغة من الجيل الثاني ولكنها اسهل وأقصر من لغة الآلة (الجيل الاول) ويستخدم الديسمبلر لتحليل التعليمات البرمجية بشكل تابث (static) يعني بدون تشغيل البرنامج ومن امثلتها اداة: Cutter و hopper و Mocha.
- Decompiler: يحول الكود البرمجي من لغة الآلة binary الى (source code) مكتوب بأحدى اللغات العالية المستوى (الجيل الثالث) يستطيع الانسان فهمها مثل: JAVA او C++ او Delphi. ومن امثلة ادوات ديكومبايلر: Hopper و DejaVu و Mocha.
بعض الادوات او البرامج المتوفرة مثل (IDA و JEB ) بها decompiler و disassembler بمعنى تمتلك القدرة على تحويل الكود الى لغات المستوى الثاني والثالث كما تتوفر على خاصية debugging لتحليل الكود وتتبع تدفق البيانات.
ماهو المصحح Debugger ؟
debugging: هو فن البحث عن الأخطاء في البرامج ومعالجتها. تسمح مصححات الأخطاء للمستخدم بعرض حالة تشغيل البرنامج وتغييرها وتمكننا من تتبع سير تنفيذ البرنامج وتدفق البيانات داخل المعالج والذاكرة خطوة بخطوة حيث انه يمتاز بخاصية Breakpoints.
يستخدم المصحح لتحليل التعليمات البرمجية بشكل ديناميكي (dynamic) يعني أثناء عمل البرنامج، ومن امثلتها: gdb, x64dbg.