
مصحح أوامر و بايثون لأدوات وتعديل سلوك البرمجيات الأصلية على ويندوز ولينكس.
flare-qdb هي أداة سطر أوامر وقابلة للبرمجة مبنية على بايثون لتقييم ومعالجة حالة البرنامج الأصلية. تستخدم Vivisect لتعيين نقطة توقف على كل تعليمة يتم الاستعلام عنها وتنفيذ كود بايثون عند الوصول إليها.
تحرر flare-qdb المحلل من اتباع نهج خطي في التحليل الديناميكي ليتناسب مع الأسئلة التي تنشأ أثناء التصحيح العادي والتحليل الثابت. تجيب flare-qdb على هذه الأسئلة دون حاجة المحلل إلى إعداد جلسة تصحيح تفاعلية يدويًا والتنقل بعداد البرنامج إلى موقع الكود ذلك.
فيما يلي بعض الأمثلة على الأسئلة الفورية التي يمكن لـ flare-qdb الإجابة عليها:
argv[1]؟يمكن أيضًا استخدام flare-qdb لتسهيل التلاعب الآلي والقابل للتكرار بتنفيذ البرنامج. فيما يلي بعض الأمثلة على التطبيقات المفيدة:
Sleep() للسماح بالاختبار التكراري السريع لخادم تحكم وقيادة (C2) مخصص.MANDATORY_LOW_RID) لدفعها إلى تنفيذ كود استغلال الثغرات.تقبل flare-qdb استعلامات متعددة تأخذ شكل عداد برنامج أو تعبير Vivisect مقترنًا بنص بايثون لتقييمه في بيئة البرمجة النصية لـ flare-qdb. يمكن استخدام تعبيرات Vivisect لتحديد قيم عداد برنامج ثابتة بسيطة مثل "0x401000"، وتعبيرات رمزية مثل "kernel32.Sleep"، والمزيد. يمكن لتعبيرات Vivisect أيضًا دمج حالة السجلات والذاكرة لصياغة شروط متقدمة، مثل "not eax or (( edx > 3) and (poi(ebp-8) < 5))".
تنسيق وسيطة سطر الأوامر لذلك هو:
-at <vexpr-pc> <pythontext>
تدعم flare-qdb أيضًا التقييم الشرطي بناءً على قيمة الصحة لتعبير Vivisect:
-at-if <vexpr-pc> <vexpr-conds> <pythontext>
توفر flare-qdb عدة دوال مدمجة لتصحيح الأخطاء بشكل ملائم، وهي متاحة من سطر الأوامر وكطرق من المثيلات لفئة Qdb الخاصة بها.
تم اختبار flare-qdb بشكل أساسي على Windows، لكنه يعمل على Linux. لسوء الحظ، فإن نقل Darwin لفئة vtrace.Trace الخاصة بـ Vivisect غير مكتمل، لذلك لا تدعم flare-qdb نظام OSX.
تأتي flare-qdb مع De-DOSfuscator، وهي أداة لفك تشفير ملفات الدُفعة المبهمة عن طريق تشغيلها. يمكن العثور على التفاصيل في دليل De-DOSfuscator أو من خلال قراءة المدونة Cmd and Conquer: De-DOSfuscation with flare-qdb.
Qdb الخاصة بالبرمجة النصية في مرجع الطرق.flareqdb --help-builtins بعد تثبيت flare-qdb.