Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
go_parser — محلل ثنائي آخر للغة Golang لـ IDAPro | Kitploit
أدوات/GitHubGitHub/0xjiayu/go_parser
الهندسة العكسيةمصممي الأخطاءتحليل البرمجيات الخبيثةتحليل الملفات الثنائية
GitHub0xjiayu/go_parser

go_parser

محلل ثنائي آخر للغة Golang لـ IDAPro

عرض المستودع
1.3k1403منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

محلل ثنائيات Go آخر لـ IDAPro

English | 中文


ملاحظة:

الفرع الرئيسي الحالي (master) هو إصدار Python3. تم تغيير الفرع الرئيسي القديم إلى فرع py2، وهو غير مدعوم مؤقتًا.

تعليمات لفرع Python3

تم تطوير هذا الإصدار واختباره على macOS/Windows و IDA7.4+ و Python3.8.x. إذا كانت هناك مشاكل على منصات أو إصدارات أخرى، نرحب بتقديم تقرير خطأ (issue) أو طلب سحب (Pull Request).

بالإضافة إلى ذلك، يجب ملاحظة أن IDA7.4 على macOS تستخدم Python3 المثبتة افتراضيًا، مما قد يتسبب في فشل تحميل المكتبات الخارجية التي قمت بتثبيتها بنفسك. تحتاج إلى التبديل إلى Python المثبتة عبر brew. يرجى الرجوع إلى هذا السكريبت لمعرفة طريقة التبديل المحددة.


مستوحى من golang_loader_assist و jeb-golang-analyzer، قمت بكتابة أداة تحليل أكثر اكتمالاً لملفات Go الثنائية لبرنامج IDAPro.

الميزات الرئيسية:

  1. تحديد وتحليل هيكل firstmoduledata في ملف Go الثنائي، وإضافة تعليق لكل حقل؛
  2. تحديد pclntab (جدول خطوط PC) بناءً على firstmoduledata وتحليله. ثم البحث عن أسماء الدوال ومسارات ملفات المصدر في pclntab وتحليلها واستعادتها. سيتم طباعة مسارات ملفات المصدر في نافذة الإخراج في IDAPro؛
  3. تحليل السلاسل النصية ومؤشرات السلاسل، وإضافة تعليق لكل سلسلة نصية، وإنشاء dref (مرجع بيانات) لكل مؤشر سلسلة؛
  4. وفقًا لـ firstmoduledata، البحث عن كل type وتحليله، وإضافة تعليق لكل سمة من سمات type، مما سيكون مفيدًا جدًا لباحثي البرامج الضارة لتحليل تعريف نوع معقد أو هيكل بيانات؛
  5. تحليل itab (جدول الواجهات).

معلومات مفيدة لعمل الهندسة العكسية لملفات Go الثنائية:

وهناك ميزتان مفيدتان في go_parser:

  1. تعمل بشكل جيد أيضًا مع الملفات الثنائية التي تحتوي على معلومات رأس ملف (File Header) غير صحيحة، خاصة معلومات رؤوس الأقسام (Section Headers) غير الصحيحة؛
  2. جميع الميزات المذكورة أعلاه صالحة للملفات الثنائية التي تم بناؤها باستخدام buildmode=pie.

نتيجة تحليل هيكل بيانات تكوين (config data structure) في DDGMiner v5029 (MD5: 95199e8f1ab987cd8179a60834644663) كما هو موضح أدناه:

وقائمة مسارات ملفات المصدر المعرفة من قبل المستخدم:

ملفات المشروع:

  • go_parser.py: ملف الإدخال، اضغط [Alt+F7]، واختر هذا الملف وقم بتنفيذه؛
  • common.py: تعريف المتغيرات والدوال المشتركة؛
  • pclntbl.py: تحليل pclntab (جدول خطوط PC)؛
  • strings.py: تحليل السلاسل النصية ومؤشرات السلاسل؛
  • moduldata.py: تحليل firstmoduledata؛
  • types_builder.py: تحليل types؛
  • itab.py: تحليل itab (جدول الواجهات)؛

بالإضافة إلى ذلك، سيقوم str_ptr.py بتحليل مؤشرات السلاسل عن طريق تحديد عنوان البداية وعنوان النهاية لمؤشرات السلاسل يدويًا.

ملاحظة

  1. هذه الأداة مكتوبة بلغة Python3، وتم اختبارها على IDA7.4+؛
  2. تم ترحيل وحدة تحليل السلاسل النصية من golang_loader_assist، وأضفت ميزة تحليل مؤشرات السلاسل. وهي تدعم فقط بنية x86 (32 بت و 64 بت) في الوقت الحالي.

مراجع

  1. Analyzing Golang Executables
  2. Reversing GO binaries like a pro
  3. Reconstructing Program Semantics from Go binaries.pdf
  4. Go二进制文件逆向分析从基础到进阶——综述
  5. Go二进制文件逆向分析从基础到进阶——MetaInfo、函数符号和源码文件路径列表
  6. Go二进制文件逆向分析从基础到进阶——数据类型
  7. Go二进制文件逆向分析从基础到进阶——itab与strings
  8. Go二进制文件逆向分析从基础到进阶——Tips与实战案例
تنزيل الأداة