سؤال

باختصار:أريد أن رصد المكالمات مختارة من تطبيق DLL.

لدينا قديمة VB6 التطبيق الذي فقدنا رمز المصدر (الشركة لا تستخدم عنصر تحكم مصدر ثم العودة..).يستخدم هذا التطبيق 3rd الطرف DLL.

أريد أن استخدام هذه DLL في C++ التطبيق.للأسف DLL API جزئيا فقط التوثيق, لذلك أنا لا أعرف كيفية استدعاء بعض الوظائف.لدي مهام التوقيع.

منذ VB6 التطبيق يستخدم هذا DLL, أريد أن أرى كيف مكالمات عدة وظائف.حتى الآن لقد حاولت أو نظرت -

  1. APIHijack - يتطلب مني أن أكتب رمز C++ لكل وظيفة.منذ أن كنت تحتاج فقط إلى تسجيل القيم ، يبدو مبالغة.
  2. EasyHook - نفس 1 ، ولكن يسمح الكتابة في المدونة .صافي اللغة.
  3. OllyDbg مع uHooker - يجب كتابة رمز لكل وظيفة ، هذه المرة في بيثون.أيضا, يجب أن تفعل العديد من التحويلات في بيثون باستخدام struct وحدة, لأن معظم الوظائف تمرير القيم باستخدام المؤشرات.

منذ أن كنت تحتاج فقط إلى تسجيل وظائف معلمات أريد حل بسيط.هل هناك أي الآلي أداة التي يمكنني أن أقول الذي يعمل على رصد و التوقيع ومن ثم الحصول على سجل مفصل الملف ؟

هل كانت مفيدة؟

المحلول 2

المزيد من جوجل البحث وجدت ما كنت أبحث عنه: WinAPIOverride32.فإنه يسمح كتابة الملفات النصية مثل:

CustomApi.dll|void NameOfFunction(long param1, double& param2);

في وقت لاحق, هذه الملفات يمكن استخدامها داخل برنامج لتسجيل جميع المكالمات إلى NameOfFunction.الآن أنا فقط بحاجة إلى معرفة كيفية الدخول المصفوفات و البنيات المعلمات.

نصائح أخرى

و "ثابت" الحل (بمعنى أنه يمكن التقاط تتبع مكدس على الطلب) سيكون مراقبة عملية.

Process Monitor

أكثر ديناميكية حل ApiMonitor, ولكن قد تكون قديمة جدا لتكون متوافقة مع التطبيقات إلى الشاشة.يستحق المحاولة على الرغم من.

http://www.rohitab.com/gallery/api-monitor-2-0/main-window.png

Visual Studio الدين وقت التشغيل التدفق هنا:

وقت التشغيل التدفق في الوقت الحقيقي الشاشات وسجلات المكالمات وظيفة المعلمات وظيفة في الجري .صافي التطبيق ويظهر كومة تتبع شجرة.لا الأجهزة أو شفرة المصدر اللازمة للرصد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top