ملاحظة: التعليمات التالية مخصصة لـ Python3.
إذا كنت بحاجة إلى تثبيت Flashmingo على Python2.7 ، فيمكنك الخروج من الإصدار 1.0 ضمن علامة التبويب Redease . خطوات التثبيت هي نفسها.
تثبيت حزم Python3 المدرجة في requirements.txt .
يمكنك استخدام الأمر التالي: pip3 install -r requirements.txt
إذا كنت ترغب في استخدام وظائف فك الإلغاء ، فأنت بحاجة إلى تثبيت Jython. يمكن لمستخدمي Ubuntu/Debian إصدار apt install jython
استنساخ المشروع أو قم بتنزيل ملف zip.
Flashmingo هو إطار تحليل لملفات SWF. تقوم الأداة تلقائيًا بعرض ملفات فلاش مشبوهة وتوجه عملية التحليل الإضافية ، مما يحرر الموارد الثمينة في فريقك. يمكنك بسهولة دمج وحدات تحليل Flashmingo في سير العمل الخاص بك.
حتى يومنا هذا يجب على المحققين الجنائيين ومحللي البرامج الضارة التعامل مع ملفات SWF المشبوهة. إذا كان التاريخ يعيد نفسه ، فقد يصبح تهديد الأمن أكبر بعد نهاية حياة فلاش في عام 2020. ستستمر الأنظمة في دعم تنسيق الملف القديم الذي لن يتم تحديثه باستخدام تصحيحات الأمان بعد الآن. الأتمتة هي أفضل طريقة للتعامل مع هذه المشكلة وهذا هو المكان الذي يمكن أن يساعدك فيه Flashmingo. Flashmingo هو إطار تحليل لمعالجة ملفات SWF تلقائيًا تمكنك من تحديد عينات الفلاش المشبوهة وتحليلها بأقل جهد. يدمج في سير عمل التحليل المختلفة كتطبيق مستقل أو مكتبة قوية. يمكن للمستخدمين بسهولة تمديد وظيفة الأداة عبر مكونات Python المخصصة.
تم تصميم Flashmingo مع وضع البساطة في الاعتبار. يقرأ ملف SWF ويقوم بإنشاء كائن ( SWFObject ) يمثل محتوياته وهيكله. بعد ذلك ، يقوم Flashmingo بتشغيل سلسلة من الإضافات التي تعمل على هذا SWFObject وإعادة قيمها إلى البرنامج الرئيسي.
أسفل مخطط تدفق الفن الإلزامي ASCII:
+----------+
| |
+------------+----------->+ PLUGIN 1 +------------+
| | | | |
| | +----------+ |
| | |
| | +----------+ |
| | | | |
+---------+ | +----------->+ PLUGIN 2 +--------+ |
|SWF FILE +----------->+ FLASHMINGO | | | | |
+---------+ | | +----------+ | |
| | | |
| | | |
| | | |
| | +-----v---v-+
| | | |
| | | |
+-----+------+------------------------->+ SWFOBJECT |
^ | |
| | |
| +-----+-----+
| |
| |
| |
+---------------------------------------+
عند استخدام Flashmingo كمكتبة في مشاريعك الخاصة ، تحتاج فقط إلى رعاية نوعين من الكائنات:
SWFObject (s) ، يمثل العينة (العينة)Flashmingo . هذا يعمل بشكل أساسي كإضافات توصيل تسخير و SWFObject (s). يتم تخزين ملحقات Flashmingo في الدلائل الخاصة بهم تحت ... لقد خمنت ذلك: plugins عند إنشاء كائن Flashmingo ، فإنه يمر عبر هذا الدليل ويعالج جميع أدوات الإضافات. إذا كان هذا يشير إلى أن المكون الإضافي نشط ، فسيتم تسجيله للاستخدام لاحقًا. على مستوى الكود ، هذا يعني أنه يتم إضافة قاموس plugin_info صغير إلى قائمة plugins .
يتم استدعاء المكونات الإضافية عبر API run_plugin مع وسيطين:
SWFObject اختياريا ، تسمح لك معظم الإضافات بتمرير بيانات المستخدم الخاصة بك. يعتمد هذا المكون الإضافي (اقرأ الوثائق) ويمكن تفسيره بسهولة أكبر بمثال. سوف يبحث المكون SuspiciousNames في جميع المجمعات الثابتة عن السلاسل التي تحتوي على فرعية مشبوهة (على سبيل المثال: "الفائض" ، "الرش" ، "شل" ، إلخ) ، هناك قائمة بالفروس الأساسي الشائعة بالفعل في المكون الإضافي بحيث يمكن استخدامها as-is . ومع ذلك ، يمكنك تمرير قائمة بفروساتك المحددة ، في هذه الحالة عبر معلمة names .
مثال رمز:
fm = Flashmingo ()
print fm . run_plugin ( 'DangerousAPIs' , swf = swf )
print fm . run_plugin ( 'SuspiciousNames' , swf = swf , names = [ 'spooky' ])سفن Flashmingo مع بعض الإضافات المفيدة خارج الصندوق:
يتم توفير مكون إضافي قالب لسهولة التطوير. تمديد Flashmingo واضح إلى حد ما. اتبع هذه الخطوات البسيطة:
runأنت مستعد للذهاب :)
docs للوثائق المزروعة تلقائيًا $ pip install sphinxcontrib-napoleon
بعد إعداد sphinx لإنشاء مستنداتك ، قم بتمكين نابليون في ملف sphinx conf.py:
في conf.py ، أضف نابليون إلى قائمة الامتدادات
extensions = ['sphinxcontrib.napoleon']
استخدم sphinx-apidoc لإنشاء وثائق API الخاصة بك:
$ sphinx-apidoc -f -o docs/source projectdir
هذا يخلق ملفات .rst
$ make html
هذا كل شيء! سائدا