apiscout
يهدف هذا المشروع إلى تبسيط استرداد استيراد API Windows. كمدخلات ، يمكن معالجة مقالب الذاكرة التعسفية لبيئة معروفة (يرجى ملاحظة: يجب بناء مرجع DB أولاً ، باستخدام APISCOUT/DB_BUILDER).
الإخراج عبارة عن قائمة مرجعية من مراجع Windows API المحددة مع بعض معلومات التعريف ، وبصمة ApiVector.
- Scout.py - يجب أن يعطي مخططًا جيدًا حول كيفية العمل مع المكتبة.
- ida_scout.py - هو غلاف واجهة المستخدم الرسومية للاستخدام في Ida Pro.
- Ghidrascout.java-هو مكون إضافي لـ Ghidra لـ Apiscout (الذي ساهم به @Mari-Mari).
- Match.py - يوضح كيف يمكن مطابقة apivectors ضد بعضهم البعض ومجموعات من بصمات الأصابع.
- Collect.py - يقوم بإنشاء قاعدة بيانات لبصمات Winapi (Apivectors) التي يمكن استخدامها للمطابقة.
- export.py - يولد مخططات APIQR التي تصور apivectors.
- update.py - اسحب أحدث إصدار من Apivector من Malpedia (يتطلب حساب Malpedia / API الرمز المميز).
يجب أن يكون الكود متوافقًا تمامًا مع Python 2 و 3.
هناك منشور مدونة تصف Apiscout بمزيد من التفاصيل: http://byte-atlas.blogspot.com/2017/04/apiscout.html.
أيضًا ، منشور آخر في المدونة يشرح كيفية إنشاء المدونة المسبقة وتخزينها: https://byte-atlas.blogspot.com/2018/04/apivectors.html.
قدمنا أيضًا ورقة في Botconf 2018 تصف منهجية Apiscout في التعمق ، بما في ذلك التقييم على Malpedia: https://journal.cecyf.fr/ojs/index.php/cybin/article/view/20/23
تاريخ الإصدار
- 2023-03-27: v2.0.2-bugfix لـ idascout والتعامل مع المجموعات ، التي ساهمت بها @7a6570 (thx !!)
- 2023-01-02: v2.0.1-Bugfix لجدول الاستيراد المستند إلى Lief مع Python 3.10 ، التي ساهمت بها @malware-kitten (THX !!)
- 2022-08-01: v1.2.0-إضافيا المكون الإضافي ل ghidra ، ساهمت من قبل @Mari-Mari (Thx !!)
- 2022-09-20: v2.0.0-(يحتمل أن تكون كسر) ، لديها الآن حقل إخراج إضافي واحد مع مجموعة من المراجع للاتصال لـ winapi معين. تم تضمين هذا أيضًا في إخراج JSON من
scout.py ، التي ساهمت بها @rrenzhexigua (thx !!) - 2022-08-01: v1.2.0-إضافيا المكون الإضافي ل ghidra ، ساهمت من قبل @Mari-Mari (Thx !!)
- 2022-01-17: V1.1.9-ثابت
ida_scout.py للعمل مع IDA 7.5+ عندما يتم تثبيت APISCOUT أيضًا كحزمة Python. - 2021-10-04: v1.1.8-تمديد سياقات WinAPI بناءً على الملاحظات التي توفرها blattm (THX!).
- 2021-08-30: v1.1.7-تحذير من الإهمال الثابت في APIQR كما أثارها Numpy.
- 2021-07-31: v1.1.6-لم يعد مطلوبًا للحفاظ على إصدار Lief ثابت. (thx إلى @cccs-rs!)
- 2021-01-10: v1.1.5-Python3 Lief Package تم إصلاحه على الإصدار 0.10.1 (thx to @adkhribfarouk!)
- 2020-12-09: v1.1.4-إصلاحات Python3 على DatabaseBuilder (thx to @dump-guy!)
- 2020-07-13: v1.1.3-تمت إضافة "install_requires" إلى setup.py لضمان تثبيت التبعيات.
- 2020-06-30: v1.1.0-الآن باستخدام LIEF لتحليل جدول الاستيراد. علة ثابتة لا تنتج أجهزة المحفوظات عند استخدام تحليل جدول الاستيراد. Apiscout متوفر الآن أيضًا من خلال PYPI.
- 2020-03-03: أضاف نصًا لسحب أحدث Apivector DB من Malpedia (يتطلب حساب Malpedia / API الرمز المميز).
- 2020-03-02: تم نقله إلى IDA 7.4 (THX إلى Jenfrie).
- 2020-02-18: DB Builder متوافق الآن مع Python 3.7 (thx to eLanfer).
- 2019-10-08: حل بديل للتصفية المكسورة لعرض API في IDA 7.3 (thx to Enzok لتوجيه هذا إلى الخارج).
- 2019-08-22: إصلاح خطأ حيث تؤدي معلومات النوع المفقود في IDA إلى تحطم (يعطي الآن رسالة خطأ بدلاً من ذلك).
- 2019-08-20: تمت إضافة مرشح ذاتي لإزالة المؤشرات لامتلاك صورة الذاكرة التي يمكن معاملتها عن طريق الخطأ كمراجع API.
- 2019-06-06: دعم إضافي لإعادة بناء النوع الصحيح لواجهة برمجة التطبيقات المشروحة في IDA Pro (THX إلى @FLXP0C)
- 2019-05-15: إضافة دعم numpy لحسابات المتجهات (استنادًا إلى التنفيذ المقدم من Garanews-THX!)
- 2019-05-15: إصلاح خطأ في PE Mapper حيث سيتم تقصير المخزن المؤقت بسبب سوء تفسير أحجام الأقسام.
- 2019-01-23: تحسينات QOL: نشر مجلد البيانات الآلي عند استخدامه كوحدة ، تهيئة المسجل (THX إلى JDVAL)
- 2018-08-23: تم إصلاح خلل في PE Mapper حيث سيتم كتابة رأس PE بواسطة بيانات القسم (الفارغة).
- 2018-08-21: الوظائف المضافة التي تسمح باستخدام معلومات جدول الاستيراد بدلاً من الزحف للمراجع.
- 2018-07-31: وظائف الراحة الثابتة لإنشاء/تصدير ناقلات من/إلى القوائم والديكتات ، تغطية الاختبار المضافة.
- 2018-07-23: تحذير: تغيير في تنسيق ApiVector-تم تقديم أدوات محددة مصنفة والتي تتمتع بكفاءة أكبر في المساحة (20 ٪+).
- 2018-06-25: عدم التوافق الثابت مع IDA Pro 7.0+ (thx tonazywam!)
- 2018-05-23: أضيفت المزيد من مجموعات السياق الدلالي (thx إلى Quoscient.io)
- 2018-03-27: تم إضافة التقدير الإرشادي لعدد مرجعات واجهة برمجة تطبيقات Windows
- 2018-03-06: APIQR تصور نتائج المتجهات (C-1024)
- 2017-11-28: تم إضافة محلل جدول الاستيراد الخاص بإثراء معلومات النتائج
- 2017-08-24: دعم متعدد القطاعات في IDA Pro (thx tonazywam!)
- 2017-05-31: تمت إضافة Windows 7 SP1 64bit Import DB (متوافق مع Malpedia)
الاعتمادات
سبق أن مرت الفكرة من خلال تكرارات متعددة حتى الوصول إلى هذا الإصدار الذي تم إعادة تمهيده.
بفضل Thorsten Jenke و Steffen Enders على مساعيهما السابقة وتقييم إثبات المفهوم لهذه الطريقة.
المزيد بفضل Steffen Enders على عمله على تصور مخططات APIQR.
أيضا بفضل Ero Carrera على Pefile و Elias Bachaalany لقالب Askusingform Ida Python. سائدا
بالإضافة إلى ذلك ، شكرًا جزيلاً لأندريا جارافاجليا على معايير أدائه التي تؤدي إلى سرعات جذرية في المطابقة التطبيقية!
سحب طلبات الترحيب! سائدا