
مصحح أخطاء قابل للبرمجة لـ Android Dalvik VM باستخدام واجهات JDWP/DDM لربط الطرق، فحص حالة العملية، وتعديل سلوك وقت التشغيل دون الحاجة إلى كود المصدر.
AndBug هي أداة تصحيح تستهدف آلة دالفيك الافتراضية (Dalvik virtual machine) في منصة أندرويد، والمصممة لمهندسي التحليل العكسي والمطورين. تستخدم نفس الواجهات التي يستخدمها ملحق التصحيح في Eclipse لمنصة أندرويد، وبروتوكول تصحيح جافا السلكي (JDWP) ومراقب تصحيح دالفيك (DDM) للسماح للمستخدمين بربط دوال دالفيك، وفحص حالة العملية، وحتى إجراء التعديلات.
على عكس أدوات تصحيح حزمة تطوير برمجيات أندرويد الخاصة بجوجل، لا يتطلب AndBug أو يتوقع وجود الكود المصدري. ومع ذلك، فإنه يتطلب مستوى معينًا من الإلمام بلغة بايثون، حيث يستخدم مفهوم نقاط التوقف النصية، المسماة "hooks"، لمعظم المهام غير التافهة. (إذا كنت تريد فقط تفريغ الفئات أو الدوال أو الخيوط المحملة، فهناك نصوص أمثلة لذلك.)
-- Scott Dunlop [email protected]
AndBug هو برنامج في حالة تغير مستمر، حيث أفصل النصوص البرمجية الفردية التي كتبتها في IOActive لمهام مختلفة عن السياقات الخاصة بالعميل أو IOActive. لا أوصي بالتثبيت في الوقت الحالي، حيث ستحتاج إلى تحديثه بشكل متكرر بعده. يعمل AndBug بشكل جيد جدًا من دليل المصدر الخاص به مع إعداد بسيط جدًا.
قم بتثبيت حزمة تطوير برمجيات أندرويد من https://developer.android.com/sdk/index.html
تأكد من أن جسر تصحيح أندرويد (Android Debugging Bridge) موجود في $PATH وقابل للاستخدام. ::
which adb adb devices
تأكد من أن لديك بيئة بايثون وأدوات GNU جيدة لمنصتك. ستحتاج إلى GCC و Make. قد ترغب أيضًا في Pyrex إذا كنت تريد إجراء تغييرات على الطبقة البدائية.
اسحب أحدث كود AndBug من https://github.com/swdunlop/AndBug.git ::
git clone https://github.com/swdunlop/AndBug.git
ابنِ باستخدام Make ::
make
اضبط $PYTHONPATH ::
export PYTHONPATH=pwd/lib
يمكن العثور على الأمثلة في دليل sample، ولكن أسهل طريقة للوصول إلى الوظائف المجمعة مسبقًا في AndBug هي استخدام الأمر "andbug" مباشرة. ::
./andbug
لا يمتلك هذا الأمر حاليًا الذكاء لاكتشاف تلقائيًا عند تشغيله من دليل المصدر وتحديث PYTHONPATH أثناء التشغيل ليتوافق. ستحتاج إلى التأكد من أن PYTHONPATH يتضمن دليل andbug/lib الخاص بك.
س: أحصل على "Permission Denied" عند محاولة استخدام AndBug، ولكن "adb shell" يعمل.
ج: من المحتمل أن يكون adbd الخاص بك قيد التشغيل كمستخدم آخر، مما يمنع الاستخدام الفعال لإعادة التوجيه عبر ADB. استخدم "adb kill-server" ثم "adb start-server" مع المستخدم الفعال الصحيح.
س: أحصل على "Shell Exception" عند محاولة استخدام AndBug.
ج: تحقق من أن إعداد ADB الخاص بك يعمل باستخدام "adb devices" -- يعتمد AndBug على ADB لنقل JDWP.
س: هل يعمل AndBug على ويندوز؟
ج: أعتقد ذلك؛ ولكن نظرًا لأن AndBug برنامج غير مدعوم، فقد تواجه دعمًا أقل مما اعتاد عليه مستخدمو ويندوز. التصحيحات مرحب بها.
س: هل يعمل AndBug على نظام Mac OS X؟
ج: نعم، ولكن انظر إلى الملاحظة الساخرة حول مستخدمي ويندوز. لم تجد هذا في متجر تطبيقات..
س: يعطيني Navi خطأ RequestError 13.
ج: لقد استأنفت العملية؛ يمكن لـ Navi التفاعل بأمان فقط مع العمليات المعلقة. استخدم "suspend" مرة أخرى.
س: أحصل على "EOF in read" عند إرسال أمر.
ج: تأكد من عدم اتصال مصححات أخرى، مثل DDMS.
حقوق النشر 2011، IOActive جميع الحقوق محفوظة.
AndBug هو برنامج حر: يمكنك إعادة توزيعه و/أو تعديله بموجب شروط الإصدار 3 من رخصة GNU Lesser General Public License كما نشرتها مؤسسة البرمجيات الحرة.
يتم توزيع AndBug على أمل أن يكون مفيدًا، ولكن دون أي ضمان؛ حتى بدون الضمان الضمني للتسويق أو الملاءمة لغرض معين. راجع رخصة GNU Lesser General Public License لمزيد من التفاصيل.
يجب أن تكون قد تلقيت نسخة من رخصة GNU Lesser General Public License مع AndBug. إذا لم يكن الأمر كذلك، فراجع http://www.gnu.org/licenses/.