
binsync v5.15.4
مكوّن إضافي للهندسة العكسية يتيح التعاون بين أدوات فك الترجمة، مبني على git.
BinSync
BinSync هي أداة تعاون لمفككات الترجمة مبنية على نظام إصدارات Git لتمكين التعاون في الهندسة العكسية بدقة عالية بغض النظر عن مفكك الترجمة. تم بناء BinSync بواسطة mahaloz، وفريق angr، ومختبر الأبحاث SEFCOM. ويعود الفضل أيضًا إلى حد كبير إلى استخدامها من قبل فريق القرصنة Shellphish.
جميع مفككات الترجمة الجيدة تشترك في كائنات شائعة تسمى Reverse Engineering Artifacts (REAs). هذه الـ REAs هي مركز قدرة المزامنة في BinSync. فيما يلي الـ REAs المدعومة:
- ترويسات الدوال (الرمز، الوسائط، النوع)
- متغيرات المكدس (الرمز، النوع)
- الهياكل
- التعدادات
- التعليقات
ملاحظة: تدعم جميع الأنواع الأنواع التي ينشئها المستخدم مثل الهياكل.
انضم إلى ديسكوردنا أدناه لمزيد من المساعدة عبر الإنترنت:
بدء سريع
لجميع عمليات التثبيت، من الأفضل استخدام المثبّت ثنائي الأجزاء الخاص بنا مع Python:
pip3 install binsync && binsync --install
تتوفر BinSync أيضًا في مدير إضافات Binary Ninja.
إذا كنت تخطط لاستخدام BS مع Ghidra، فيجب عليك تشغيله في وضع PyGhidra.
إذا كنت تخطط لاستخدام ميزات BS الإضافية، مثل ChatGPT User، فثبّت الحزمة بهذه الطريقة: pip3 install binsync[extras]، والتي ستقوم بتثبيت حزم إضافية للدعم.
للحصول على معلومات التثبيت الكاملة، يرجى قراءة مستندات البدء السريع.
للمطورين، قم بتثبيت الحزمة لتكون قابلة للتحرير (-e) وتأكد من pip>=23.0.0.
المنصات المدعومة
- IDA Pro: >= 8.4 (إذا كان لديك إصدار أقدم، استخدم BinSync v4.10.1)
- Binary Ninja: >= 2.4
- angr-management: >= 9.0
- Ghidra: >= 12.0 (وضع PyGhidra)
تتطلب جميع الإصدارات تثبيت Python >= 3.10 وGit على نظامك. لا يزال دعم Ghidra في مرحلة مبكرة جدًا، لذا توقع فقط الميزات الأساسية مثل مزامنة أسماء الأدوات والتعليقات.
تقدم دعم مفككات الترجمة
على الرغم من أننا ندعم مفككات الترجمة المذكورة في القسم السابق، إلا أنه ليس كل مفكك ترجمة مدعوم بنفس مستوى المزامنة. لفهم الفرق بين دعم الأدوات، والسحب، والدفع، والدفع التلقائي، اقرأ مقدمة استخدام مفككات الترجمة.
IDA Pro
| العمليات | ترويسات الدوال | متغيرات المكدس | المتغيرات العامة | الهياكل | التعدادات | التعليقات |
|---|---|---|---|---|---|---|
| الرموز | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| الأنواع | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| سحب | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| دفع | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| دفع تلقائي | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Binary Ninja
| العمليات | ترويسات الدوال | متغيرات المكدس | المتغيرات العامة | الهياكل | التعدادات | التعليقات |
|---|---|---|---|---|---|---|
| الرموز | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| الأنواع | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| سحب | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| دفع | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| دفع تلقائي | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Ghidra
| العمليات | ترويسات الدوال | متغيرات المكدس | المتغيرات العامة | الهياكل | التعدادات | التعليقات |
|---|---|---|---|---|---|---|
| الرموز | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| الأنواع | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| سحب | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| دفع | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| دفع تلقائي | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
angr-management
| العمليات | ترويسات الدوال | متغيرات المكدس | المتغيرات العامة | الهياكل | التعدادات | التعليقات |
|---|---|---|---|---|---|---|
| الرموز | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ |
| الأنواع | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ |
| سحب | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ |
| دفع | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ |
| دفع تلقائي | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ |
البرمجة النصية
للسكربتات، يرجى الاطلاع على DecLib، الذي يتيح لك القيام بجميع عمليات الرفع (lifting) ومعالجة البيانات في Python.
الرعاة
لم يكن بإمكان BinSync ومشاريعها المرتبطة أن تكون ممكنة بدون الرعاية. دون ترتيب معين، نود أن نشكر جميع المنظمات التي رعت سابقًا أو ترعى حاليًا أحد مشاريع BinSync العديدة.