تقييم الموضوع :
  • 4 أصوات - بمعدل 3
  • 1
  • 2
  • 3
  • 4
  • 5
كيف نقوم بالربط remote على openwrt x86 باستخدام idapro ?
#7
إقتباس :لذا كنت فكرت في حاجتين .. اما اني اعيد وضع روابط ال package resources مرة ثانية و اضع روابط نسخة مماثله من openwrt مباشرة ,وده لانها بتكون نفس الباكدجات ipk وبالتالي ممكن تقبل التحديث من موقع openwrt مباشرة وفقا ل arc الخاص بيها
او تنقل الملف عبر ssh من ويندوز الى openwrt  عبر WinSCP
إقتباس :    ولكن مع مناقشتي لاحد الاصدقاء قال
    gbd + ida is bad pair... it is buggy when target uses pthreads (vibe uses a lot)

لا اعتقد  ان هذا الكلام صحيح فـ GDB هو منقح مشهور ومستخدم على نطاق واسع من انظمة السيرفرات والحواسيب الشخصية وحتى الانظمة المضمنه ويدعم العديد العديد من الميزات وله عدد مطويرين هائل، كما ان ida له دعم ممتاز من قبل مطوري البرانامج ويستخدم بكثر في تحليل الانظمة المضمنة. قبل قليل ولكي اتأكد قرأت مقالة عن تحليل Bot يستخدم معالج MIPS باستخدام  openwrt + qemu + ida pro ولم يواجه كاتب المقالة اي مشكلة مع الـpthreads
وهذا يثبت كلامي https://sourceware.org/gdb/onlinedocs/gdb/Threads.html   وكذلك https://access.redhat.com/documentation/...reads.html
فالتوثيق الرسمي يقول ان GDB  يمكنه التعامل مع الامر (و ida pro عندما يستخدم linux_server فهو يدمج قدرات منقح GDB مع المحلل الخاص بـ ida pro)
ولكن بشكل عام لو البرنامج استخدم multithreaded  اي اكثر من thread واحد فالمنقح سيراقب الكل ولكن سيركز اهتمامة على thread واحد والذي يسمى بـ current thread او الـthread الحالي. ولكنه بشكل عام قادر على اتمام المهمة.

 
إقتباس :ورغم اني مش فاهم معنى pthreads (ياليت توضح معناها )

سأقوم بشرح الامر بشكل مبسط حسب فهمي للامر، عندما تقوم بتشغيل برنامج ستنشأ عملية  او process  (افتح task manager في ويندوز وسيتوضح لك الامر) وهذه العملية او process تحوي مجموعة خيوط او threads
والخيوط (threads) هي عبارة عن مجموعة من التعليمات البرمجية التي تكون مسار معين للعملية، فيبدو البرنامج كأنه يقوم بأكثر من وظيفة في نفس الوقت. ( اقرأ ردي هنا  
pid3434 حيث ستجد مثال على برنامج عملت dump لجميع
الـ threads تبعه حيث ان كل thread يقوم بمهمة يقوم بتنفيذها وكل مهمة له قيم مسجلات خاصة وذاكرة خاصة تتشارك بها مع بقية الـthreads في ذاكرة البرنامج الواحد)

الان هذا الـthreads  هو مبدأ و تاريخيا كانوا المصنعين يقومون ببرمجة نسختهم الخاصة من هذه المبدأ لذلك ظهرت مشكلة عدم التوافقية لان كل مصنع يبرمج  نسختة الخاصة ويصنع API لها لذلك تقرر برمجة programming interface لهذا المبدأ يستخدم بشكل واسع كـstandard اي جعلة الستاندارد او القياسي لحل مشكلة عدم التوافقية والان المصنعين اما يستخدمون نسختهم الخاصة مع النسخة القياسية PThreads او يستخدمون PThreads حصراً وانظمة لينكس ويونكس وماك (نظام ابل) هو من النوع الاخير.
PThreads: وهي اختصار للـ POSIX Threads

إقتباس :    وكمان هل هناك اي فرصة لتشغيل linux_server الخاص ب ida_pro

نعم توجد فرصة وحتى لو لم تتمكن من تشغيل السيرفر الذي يأتي مع IDA يمكنك استخادم السيرفر الذي ياتي مع GDB لانه حسب الكتاب الخاص بـ IDA يمكنك التواصل مع سيرفر gdb 
إقتباس :Remote Debugging with IDA
All versions of IDA ship with server components designed to facilitate remote debugging sessions. In addition, IDA is capable of interfacing with remote gdb sessions that make use of gdb_server or built-in gdb stubs. One of the principal advantages of remote debugging is the ability to use the GUI debugger interface as a frontend for any debugging session. For the most part, other than initial setup and establishing the connection to the remote debugging server, remote debugging sessions differ little from local debugging sessions.

-----------
انا حاولت ان استخدم WinSCP لنقل الملف ولكن لدي مشكلة مع الايبيات والاتصال بالنت وابى openwrt ان يتصل وبالتالي لم اتمكن من نقل الملف.
سبحان الله وبحمده، سبحان الله العظيم
أعضاء أعجبوا بهذه المشاركة : alaa2003


الردود في هذا الموضوع
RE: كيف نقوم بالربط remote على openwrt x86 باستخدام idapro ? - بواسطة Gu-sung18 - 24-10-2019, 06:15 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 7 ) ضيف كريم