اتباعا لفكرة
قسم التحديات، اضع امامكم بنفس المبدأ تحدي
برمجي...
تمرين "
حللني ان استطعت 2" هو عبارة عن
تطبيق يقوم بانجاز مهمة بسيطة.
المطلوب:
- تحليله و فهم ما يقوم به...
ملاحظة:
المشاركة في محاولة حل التمرين مفتوحة، يمكنكم طرح الاستسفارات و كل الأعضاء يمكنهم الاجابة بدون تقييدات...
http://www.solidfiles.com/v/DePVP8rwQBm43/dl
عاشت ايدك لاعب لعب بال PE HEADE مخربط كل شي(الحل ارجاع بايتات الPE HEADER
) ولو ما حاولت كثير لكن الي فهمته يوجد نص
Arab Team 4 Reverse Engineering
يتم مقارنتة وبالاخير اعتقد يطبع AT4RE
(30-08-2021, 11:21 PM)the9am3 كتب : [ -> ]لاعب لعب بال PE HEADE مخربط كل شي(الحل ارجاع بايتات الPE HEADER ) ولو ما حاولت كثير
لم يتم التعديل على اي جزء في التطبيق...
يحتاج معرفة رأس الخيط
للتمكن من تحليله...
(30-08-2021, 11:21 PM)the9am3 كتب : [ -> ]يتم مقارنتة وبالاخير اعتقد يطبع AT4RE
للأسف، تخمين بعيد عن ما ينجزه التطبيق...
خانة ال machine في ال file header هي 0x1C4 وهي تشير لتعلميات arm كما في الرابط
https://docs.microsoft.com/en-us/windows.../pe-format
بالنظر بسرعة يبدو أن البرنامج يقوم بالتالي:
1- تحميل النص "Arab Team 4 Reverse Engineering" إلى المكدس وبعض المسجلات.
2- إيجاد العنوان الذي يحتوي "4" في النص السابق.
3 - طباعة العنوان.
أي يمكن تلخصيه بالتالي
char* s = "Arab Team 4 Reverse Engineering";
char* c = strchr(s,'4');
printf("%u", c);
ملاحظات:
1- مع أنه يمكننا أن نعامل "4" كالحرف '4' إلا أن الدالة المستخدمة في البرنامج تبحث عن النصوص الجزئية، وليس الحروف فقط.
2- العنوان طبع بتمرير "%u" إلى دالة الطباعة وليس "%p". ولا فرق طبعا ما داما يطبعان نفس الحجم.
(31-08-2021, 10:16 AM)overlap كتب : [ -> ]للأسف، تخمين بعيد عن ما ينجزه التطبيق...
هذه الي بكولون عليها بمنتصف الجبهه هههههه
ان شاء الله احاول مرة ثانية بغير وقت
(31-08-2021, 12:35 PM)siddigss كتب : [ -> ]خانة ال machine في ال file header هي 0x1C4 وهي تشير لتعلميات arm كما في الرابط
https://docs.microsoft.com/en-us/windows.../pe-format
بالنظر بسرعة يبدو أن البرنامج يقوم بالتالي:
1- تحميل النص "Arab Team 4 Reverse Engineering" إلى المكدس وبعض المسجلات.
2- إيجاد العنوان الذي يحتوي "4" في النص السابق.
3 - طباعة العنوان.
أي يمكن تلخصيه بالتالي
char* s = "Arab Team 4 Reverse Engineering";char* c = strchr(s,'4');
printf("%u", c);
بارك الله فيك على اثراء الموضوع...
تحليل صحيح 100%
هل لك اخي ان تذكر الأدوات التي استعملتها في عملية التحليل ؟
(31-08-2021, 01:43 PM)the9am3 كتب : [ -> ]هذه الي بكولون عليها بمنتصف الجبهه هههههه ان شاء الله احاول مرة ثانية بغير وقت
في انتظار المحاولة، تحياتي الخالصة...
(31-08-2021, 03:50 PM)overlap كتب : [ -> ]هل لك اخي ان تذكر الأدوات التي استعملتها في عملية التحليل ؟
CFF Explorer لفحص ال PE Header
Ida للترجمة إلى تعليمات arm
و google طبعا للبحث عن مهام التعليمات التي لا أعرفها.
والباقي تتبع/قراءة التعليمات خطوة خطوة
(31-08-2021, 04:47 PM)siddigss كتب : [ -> ]CFF Explorer لفحص ال PE Header
Ida للترجمة إلى تعليمات arm
و google طبعا للبحث عن مهام التعليمات التي لا أعرفها.
والباقي تتبع/قراءة التعليمات خطوة خطوة
جميل جدا...
كمحاولة اثراء الموضوع، اسمحلي اخي ان اطرح عليك هذا السؤال ؟
هل يمكنك اخي ان "تأكد" ما اظن انه ساعدك كثيرا و هو اعتماد
Decompiler الموجود مع
IDA للحصول على شبه اوامر "السي" مع الخلفية التي تتمتع بها في معرفتك للغة البرمجة...
ما اريد ان اشير اليه من خلال هذا التمرين، ان معرفة اوامر الأسمبلي
فقط لن تكفي في تحليل البرمجيات بشكل عملي...
(31-08-2021, 05:21 PM)overlap كتب : [ -> ]هل يمكنك اخي ان "تأكد" ما اظن انه ساعدك كثيرا و هو اعتماد Decompiler الموجود مع IDA للحصول على شبه اوامر "السي" مع الخلفية التي تتمتع بها في معرفتك للغة البرمجة...
لم أستعمل ال decompiler، نسيت أمره تماما ! تتبعت الأسمبلي خطوة خطوة مع بعض التخمين، وهذا كان ممكنا لأن البرنامج كان قصيرا.
(31-08-2021, 05:21 PM)overlap كتب : [ -> ]ما اريد ان اشير اليه من خلال هذا التمرين، ان معرفة اوامر الأسمبلي فقط لن تكفي في تحليل البرمجيات بشكل عملي...
بالتأكيد، أتفق معك! هذه المشكلة تواجهني بكثرة، وحاولت الإشارة إليها في منشور قبل فترة.
هل من طرق أخرى للتعامل مع هذا البرنامج؟
https://www.at4re.net/f/thread-2668.html