الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في تحليل ملف تطبيق

بدأه eng_abahar في 12 يناير 2010 · 7 رد · 899 مشاهدة · في منتدى تحليل التطبيقات البرمجية وحمايتها
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الاعضاء

السلام عليكم ورحمة الله وبركاته

في المرفقات احدى الملفات الواجب ان اقوم بتحليلها في مشروعي للتخرج

امل منكم المساعدة في ذلك

شاكرا لكم حسن التعاون مسبقاً

suspicious.rar

#2

letme

.

.

.

.

Bad hacker !

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#3

الاخ gaminhmaster

شكرا للتفاعل

ارغب في تحليل البرنامج وليس في النتائج

ولو بالامكان الطريقة التي استطيع فيها مشاهدة البرنامج ب HLL

شكرا مرة اخرى

#4

تريد التعلم ،جميل جدا :)

عليك وعلى خاصية البحث و المواضيع المثبتة في هذا القسم الفرعي وستجد ما تريد وأكثر .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#5

كيف استطيع ان ارى الكود الذي كتب به البرنامج علما بأني اعلم انه كتب ب C++

#6

انت لن ترى الكود الذي كتب به بالسي بل سترى كود الاسمبلي بعد ترجمة كود السي .

استخدم اي Disassembler او Debugger مثل IDA Pro/OllyDbg/WinDbg .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#7

عند استخدامي لبرنامج IDA pro

ومحاولاتي المضنية في التحليل ظهر لي ان الباسورد هي 6c,65,74,6d,65,69,6e

ومن خلال الملاحظة هي الاحرف المستخدة في كلمة السر زائدة ب(1)

سؤالي هو اين تم انقاص الواحد و كيف

#8

00401300 |. 0FBE00 |MOVSX EAX,BYTE PTR DS:[EAX]

00401303 |. 8D58 FF |LEA EBX,DWORD PTR DS:[EAX-1]

00401306 |. E8 75050000 |CALL <JMP.&msvcrt.getchar> ; [getchar

0040130B |. 39C3 |CMP EBX,EAX

0040130D |. 74 07 |JE SHORT suspicio.00401316

0040130F |. C745 D0 00000>|MOV [LOCAL.12],0

1. انقل الحرف من [EAX] إلى EAX

2. انقص قيمة الحرف بمقدار 1 وضع القيمة الجديدة في EBX

3. استقبل حرف من المستخدم، يتم وضعه في EAX

4. قارن بين EAX (الحرف المدخل) و EBX (الحرف الصحيح)

5. ان تطابق الحرفان يتم تجاوز السطر

0040130F |. C745 D0 00000>|MOV [LOCAL.12],0

وإلا يتم تنفيذ السطر ويتم وضع صفر في المتغير [LOCAL.12]

الخلاصة، يتم استخدام المتغير [LOCAL.12] لاحقاً لتحديد إن تم إدخال كلمة سر صحيحة أم لا بعد الانتهاء من الحلقة، إن كانت القيمة 0 هذا يعني وجود حرف واحد على الأقل غير صحيح في الكلمة، حيث أن القيمة الافتراضية هي 1.

تم تعديل هذه المشاركة بواسطة Xacker في 15 يناير 2010 في 23:45

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

مواضيع مشابهة