تعليمات VBKiller للاستخدام
Killer هي أداة تحليل عكسي بمساعدة VB. أولاً، اسمحوا لي أن أشير إلى أنه لا يمكن أن يساعدك في فك ترجمة برنامج VB إلى كود مصدر VB، بل يمكنه فقط أن يجعل تفكيك برنامج VB يبدو أقرب إلى كود VB.
باستخدام IDA، يمكنك إنشاء جميع بنيات الفئات تقريبًا وجداول الأساليب والأجسام الوظيفية لبرامج VB وإنشاء بنيات جدول الطريقة؛ ويمكنك تحديد CLSID الخاص بـ COM المشار إليه في برنامج VB واستخدام ProgID لتسميته؛ يمكن لأي برنامج COM (غير VB أيضًا تجميع جداول الطريقة والأجسام الوظيفية وإنشاء هياكل جدول الطريقة. يمكن استخدام هذه الهياكل في برنامج VB لتحليلها. بعد هذه العمليات، قام برنامج VB الذي سيتم تحليله بتشكيل عدد من الفئات والأساليب القياسية للغاية في IDA، وهو ليس بعيدًا عن الهندسة العكسية للكود المصدر.
كيفية استخدامه:
انقر فوق زر الاستعراض لتحديد برنامج COM أو DLL أو Exe أو ocx. إذا لم يكن برنامج VB، فحدد "برنامج غير VB" وانقر للعرض. يسرد المربع الموجود على اليسار جميع واجهات COM الخاصة بالبرنامج المحدد. إذا كنت تريد أيضًا رؤية الفئات والتعدادات، فيمكنك تحديد "إظهار كافة الفئات باستثناء الواجهات". انقر على أي واجهة، وسيتم عرض جميع أساليب الواجهة على اليمين، بما في ذلك العنوان الموجود في جدول الطريقة والعنوان الحقيقي لجسم الطريقة. إذا كنت تريد عرض الطرق الأساسية السبعة الأولى، فأنت بحاجة إلى تحديد "إظهار طرق الواجهات الأساسية". إذا كان برنامجًا غير VB، فهناك عنوان أساسي للصورة وعنوان أساسي افتراضي على اليمين. العنوان الأساسي للصورة هو ImageBase للبرنامج، والعنوان الأساسي الظاهري هو عنوان البداية المخصص لمساحة ذاكرة البرنامج ربما يحسب هذا العنوان افتراضيًا، وإذا كان غير صحيح، فيجب تعديله يدويًا، لأن عنوان جدول الطريقة الذي حصل عليه البرنامج موجود في مساحة التشغيل، ويجب معرفة هذين العنوانين الأساسيين ليتم تحويلهما إلى عنوان في ملف ثابت، لذلك فهو مهم جدًا ولا يمكن تعبئته، وإلا سيتم التعرف على خطأ. انقر فوق إنشاء IDC لإنشاء ملف IDC المتوافق مع الواجهة المحددة حاليًا. لا يمكن للفئات والتعدادات إنشاء IDC هذا في IDA ويمكن تحديد عنوان الطريقة المقابل ومعالجته تلقائيًا. انقر فوق "إنشاء الكل" لإنشاء ملفات IDC لجميع الواجهات (ضعها في نفس الملف). حدد "إنشاء بنية" واستخدم زري إنشاء لإنشاء البرنامج النصي لإنشاء البنية المطابق لـ COM هذا. قم بتحميل هذا الهيكل IDC إلى IDA وسيتم إنشاء مجموعة من الهياكل المقابلة في IDA، مثل: يستخدم أحد البرامج التي تم تحليلها عمليات قاعدة البيانات. وعمليات التشفير وفك التشفير بشكل عام، يجب تحميل البرامج النصية لبنية ADO وCAPICOM.
لدى VBKiller أيضًا وظيفة مسح وتحديد COM التي لم تكتمل بعد.
يوجد في نفس الدليل العديد من ملفات c الأخرى.
من بينها، تم تضمين header.c في ملف IDC أعلاه، وهو ملف وظيفة عامة؛
vb.c هو نسخة معدلة من vb.idc يتم تداولها على الإنترنت ولم يتم تغييرها كثيرًا. يبدو أن العديد من الأماكن لا تعمل. يمكن استخدام هذا البرنامج النصي لإنشاء بنية الفئة وجدول الأحداث لبرنامج VB؛
vboop.c هو برنامج نصي مصمم خصيصًا للمساعدة في تحليل الوظائف الموجهة للكائنات في VB.
تعتمد طريقة Do_BasicOOP في الداخل بشكل أساسي على جدول الأحداث الذي تم إنشاؤه في vb.c، ومعالجة نص الوظيفة المقابلة. إذا لم يتم إنشاء الوظيفة، فقم بإنشاء الوظيفة، وأعد تسمية الوظيفة لتتوافق مع اسم جدول الأحداث، ثم قم بإنشائها سيتم تحليل بنية جدول الطريقة لاحقًا.
يتم استخدام ParseAPI لمعالجة وظائف VB الداخلية، حيث سيقوم بمسح المراجع الترافقية لجميع الوظائف المحددة، وإضافة تعليقات متكررة إلى الوظيفة، ومحاولة تحديد المعلمات، وإضافة تعليقات إلى كل معلمة. إذا كانت المعلمة عبارة عن سجل، فابحث أكثر مصدر بيانات السجل مع التعليقات. يتم تحديد الوظائف والتعليقات الممسوحة ضوئيًا في الكود حاليًا، ويمكنك إضافة وظائف جديدة وفقًا لاحتياجاتك.
يتم استخدام أسلوب ParseNew لفحص كافة المراجع الترافقية _vbaNew و_vbaNew2 ومحاولة التعرف على CLSID المقابل، إذا كان من الممكن التعرف عليه، فسيتم تعديله إلى اسم البرنامج المقابل لسهولة العرض. يتم تنفيذ الاعتراف بشكل مدمج. لا يوجد العديد من العناصر المضمنة في الوقت الحالي. يمكنك إضافة التعرف الخاص بك حسب الحاجة. المسح هو أنه إذا تم العثور على CLSID غير معروف، فسيقوم البرنامج بكتابة CLSID إلى UnKnown.txt في نفس الدليل. بعد تحليله، يمكنك التحقق من الملف. إذا تم العثور على CLSID غير معروف، فانتقل إلى السجل CLSID وبعد الحصول على اسم البرنامج قم بإضافته إلى المكان المناسب في البرنامج.