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

كيف يتم فك برنامج لا يعطي رسالة ان الكود خطا

بدأه rafi في 24 مايو 2011 · 8 رد · 1,847 مشاهدة · في منتدى تحليل التطبيقات البرمجية وحمايتها
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني تجنابا لفك البرامج وتتبعها يوجد بعض البرامج لا تعطي ان الكود الذي ادخل خاطئ وخاصة انه بعد عدة مرات من التشغيل ولعدد معين يتوقف البرنامج عن العمل

هل من طريقة لحل مثل هذه المشكلة

واذا كان في امثلة محلولة عن مثل هذه البرامج

وهل ممكن ان اضع رابط لمثل هذه البرامج ليتم حلها ام انه مخالف

تحياتي

#2

بشكل عام،

الأمر يتبع للغة التي كتب بواسطتها البرنامج، إن كانت مثل C++, Delphi, VB6, ...

فهناك توابع API معروفة لاستقبال (قراءة) الرقم الذي يتم إدخاله في نافذة البرنامج من قبل المستخدم.

يمكنك أن تبدأ من تلك النقطة وتتابع التنقيح بشكل دوي وستمر بالطبع على الجزء الذي يقوم بالتحقق من الرقم المدخل.

إن لم يكن البرنامج الذي تتكلم عنه "تجاري" مخصص للبيع فيمكنك إرفاقه أو وضع رابط له، فيما عدا هذا سيتم حذف البرنامج لأنه قد يعرض المنتدى وصاحبه للمساءلة القانونية.

Do as I say, not as I do

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

#3
Xacker كتب:

بشكل عام،

الأمر يتبع للغة التي كتب بواسطتها البرنامج، إن كانت مثل C++, Delphi, VB6, ...

فهناك توابع API معروفة لاستقبال (قراءة) الرقم الذي يتم إدخاله في نافذة البرنامج من قبل المستخدم.

يمكنك أن تبدأ من تلك النقطة وتتابع التنقيح بشكل دوي وستمر بالطبع على الجزء الذي يقوم بالتحقق من الرقم المدخل.

إن لم يكن البرنامج الذي تتكلم عنه "تجاري" مخصص للبيع فيمكنك إرفاقه أو وضع رابط له، فيما عدا هذا سيتم حذف البرنامج لأنه قد يعرض المنتدى وصاحبه للمساءلة القانونية.

شكرا اخيXacker على مرورك

البرنامج فحصته ببرنامج PEiD لمعرفة اللغة التي تم بها لكن لم يعكي شي ، وانا اعرف الدوال api ولم اجد الدوال المسؤولة عن التكست سارفق لك الدوال التي تم ايجادها بالبرنامج وهي لا تتعدى 10 دوال

البرنامج تجاري

تحياتي

#4
rafi كتب:

البرنامج فحصته ببرنامج PEiD لمعرفة اللغة التي تم بها لكن لم يعكي شي ، وانا اعرف الدوال api ولم اجد الدوال المسؤولة عن التكست سارفق لك الدوال التي تم ايجادها بالبرنامج وهي لا تتعدى 10 دوال

10 دوال وبرنامج تجاري؟

بالتأكيد البرنامج مضغوط/مشفر.

لم أسمع عن برنامج تجاري (بدون ضغط/تشفير) يستخدم LoadLibrary/GetProcAddress لتحميل باقي الدوال واستدعائها :)

Do as I say, not as I do

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

#5

والله اعتقد انه كلامك صحيح وبرنامج peid ويعطي Borland Delphi 6.0 - 7.0 [Overlay]

ما الحلللللللل

البرنامج هو

M&File&Anti-Copy 5.0

تم تعديل هذه المشاركة بواسطة rafi في 25 مايو 2011 في 12:03

#6

نقطة توقف عند العنوان: 0x6acdb0

pop eax
jmp eax

نقرتين F8 وستكون في OEP.

dump -> fix IAT

البرنامج مكتوب بفيجوال بيسك 6.

هذا الجزء من الـ OEP:

00401166  - FF25 08104000         JMP DWORD PTR DS:[401008] ; MSVBVM60.EVENT_SINK_Invoke
0040116C  - FF25 5C104000         JMP DWORD PTR DS:[40105C] ; MSVBVM60.GetMemEvent
00401172  - FF25 80104000         JMP DWORD PTR DS:[401080] ; MSVBVM60.PutMemEvent
00401178  - FF25 84104000         JMP DWORD PTR DS:[401084] ; MSVBVM60.SetMemEvent
0040117E  - FF25 7C104000         JMP DWORD PTR DS:[40107C] ; MSVBVM60.ThunRTMain
00401184    68 A4E74000           PUSH M_File_A.0040E7A4
00401189    E8 F0FFFFFF           CALL M_File_A.0040117E    ; JMP to MSVBVM60.ThunRTMain
0040118E    0000                  ADD BYTE PTR DS:[EAX],AL

Do as I say, not as I do

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

#7

تنويه:

لا أنصحك القيام بأي شئ من شأنه الإضرار بصاحب البرنامج (http://mini-products.net) المدعو محسن اكتفا (عمره 21 عام)

تعلم عن الحماية، لكن لا تنشر أي كراك/باتش/سيريال من شأنه الإضرار بهذا الشخص.

Do as I say, not as I do

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

#8
Xacker كتب:

تنويه:

لا أنصحك القيام بأي شئ من شأنه الإضرار بصاحب البرنامج (http://mini-products.net) المدعو محسن اكتفا (عمره 21 عام)

تعلم عن الحماية، لكن لا تنشر أي كراك/باتش/سيريال من شأنه الإضرار بهذا الشخص.

هل صاحب البرنامج هو محسن والله ما اعرف انه عربي

على كل الاحوال انا لا انشر اي كراك لاي برنامج افتحة علما ان النسخة السابقة لهذا البرنامج فتحته بكل سهولة وعملت له باتش ولم انشره ولم اعطه لاي شخص

الهدف هو التعلم بالشكل الاساسي وفتح البرامج التي احتاجها شخصيا حيث انني ضد اي عمل يؤثر على تعب وجهود الاخرين

شكر على المساعدة والتنويه اخي Xacker

وعند سؤال

اولا صحيح ان البرنامج تم عمله بالفيجيول بيسك حيث ان التشفير قمت بفكه من خلال برنامج RL!dePacker.v1.5

ولكن الظاهر انه لم يتم فكه كامل الذي استفدت منه هو معرفه لغة البرمجة حيث انه لم اتمكن بعد البحث في النت عن طريقة لفك مثل هذا التشفير هل بالامكان ان تدلني كيف تم فك التشفير معك اذا امكن

كذلك بالنسبة لنقطه التوقف ياريت تشرح لي كيف توصلت الى هذه النقطة وماذا افعل بعد ذلك ( لتكون مرجع في مثل ها النوع من البرامج )

تحياتي الك وبعرف اني غلبتك

#9

لم أتبع نهج معين، بضعة نقرات F8 للدخول للإجرائية التي يتم فيها البدء بتحميل قيم معينة للحصول على مقابض الدوال .. إلخ

ثم scroll للأسفل حتى وصلت إلى نهاية الكود (تقريباً) حيث وجدت الـ pop eax/jmp eax والتي هي شكل شائع بين برامج الضغط/التشفير (قد لا تكون هي الهدف، لكن شاءت الأقدار أن تكون هي التي توصل إلى الـ OEP من أول مرة)

الفكرة أنه بعد أن تقوم بفك ضغط/تشفير برمجيات عديدة يصبح لديك حدس بكيفية التصرف مع هذه الحمايات دون الحاجة لبرامج unpack/decompress.

بشكل عام، البدء من مكان توضع دوال GetProcAddress و LoadLibrary/Ex هو شئ جيد، لأنك قد تكون في داخل الإجرائية التي تقوم بتحميل الدوال الأصلية للبرنامج وبالتالي بالنظر تستطيع تحديد مكان نهاية الإجرائية وتنظر إلى ما يلي بعدها والذي يكون غالباً المدخل إلى الـ EP الأصلي.

بالتوفيق

Do as I say, not as I do

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…