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

كيف اضع نقطة توقف

مغلق
بدأه justnow في 10 سبتمبر 2005 · 10 رد · 1,578 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كان البرنامج محمى ب ASpack بعد ان قمت بازالة الحماية

باستخدام اداة جاهزة, لم تسؤ الامور و ما زال البرنامج يعمل بسلام.

كما يقول PID ان البرنامج مكتوب ب Delphi , لكن لا يوجد اتصال مباشر

لدوال api قليلة, لا تكفى للبرنامج, و الجذء الباقى هو استعمال مكتبة على

ما اظن انها ل delphi.

انا استخدم Olly كيف اضع نقطة توقف نتاج ضغطة زر ما,

و كيف اضع نقطة توقف عند استعاء تابع للAPI من احدى المكتبات التى يستخدمها البرنامج.

كيف يمكننى ان اعرف ان صندوق Edit قد تم التعديل فى محتواه

#2

اخي استخدم point-h لمزيد من المعلومات No Body Can Beat Us

واذهب الى قسم الDownloads>Lessons>Ollydbg

اسم الدرس How To Use Point-h.... (h)

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#3

رائع

#4
justnow كتب:
انا استخدم Olly كيف اضع نقطة توقف نتاج ضغطة زر ما,

و كيف اضع نقطة توقف عند استعاء تابع للAPI من احدى المكتبات التى يستخدمها البرنامج.

كيف يمكننى ان اعرف ان صندوق Edit قد تم التعديل فى محتواه

يمكن تتبع الـ resource لمعرفة الـ resource الخاص بالزر ووضع نقطة توقف على بدايته بواسطة F2

لوضع نقطة توقف على وظيفة ما قم بالنقر في شاشة CPU واختر Show -> All intermodualr calls ومن ثم قم بكتابة اسم الوظيفة في الشاشة التي تظهر ان كنت تعلم انها موجودة لينتقل بشكل تلقائي اليها وضع نقطة توقف اما على الوظيفة التي وجدت او جميع استدعاءات هذه الوظيفة بالنقر بالزر اليمين واختر Set bp on all calls to XXXXXXXXX

هناك وظايف عديدة قد تستخدم من قبل البرنامج والتي قد ترسل MSG معينة بخصوص قراءة editbox او بخصوص الكتابة فيه. راجع مكتبة الـ MSDN او المختصر المفيد (القديم) win32api وابحث عن windows msg او messages

Do as I say, not as I do

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

#5

شكرا على التفاعل

بالنسبة ل point-h هذه الاداة من الدرس لم استطع معرفة اهميتها

و لا كيفية عملها, و لكن يبدو ان الموضوع غريب.

بالنسبة للطرق العادية فى وضع نقاط التوقف. اريد ان اوضح الاتى

1/ هذا البرنامج لايحتوى على اتصال مباشر مع دوال ال API , فقط ما لا يزيد عن 20 دالة.

الشئ الذى لايمكنه من فعل اى شئ خصوصا وهو برنامج كبير.

2/ هناك اتصال بمكتبات خارجية vcl60.dll و rtl60.dll , فى الحقيقة انا غير متاكد من الاسم الان

3/ عند الذهاب و معاينة النوافذ فى Olly اجد النافذة التى اريدها لكن ليس لها مقبض و ليس لها ID

هذا الشئ المحيرنى.

4/ حاولت ان اضع نقطة توقف فى ال WindowProc التابعة لل EditBox

لا حظت ان ال WindowProc تقع فى المكتبة vcl60.dll عندما اذهب اليها و اضع نقطة توقف هناك

فهى لا تعمل, و لا تيوقف البرنامج نتيجة للرشائل التابعة لل EditBox

ارجو الافادة

#6
اقتباس
            بالنسبة ل point-h  هذه الاداة من الدرس لم استطع معرفة اهميتها

و لا كيفية عملها, و لكن يبدو ان الموضوع غريب.

هناك اداة لـ olly تساعد في وضع نقاط توقف على اهم الوظائف التي تستخدمها البرامج للاسف لا تحضرني على هذا الجهاز لذا حالما اقوم بنقل ملفاتي من جهازي القديم سارفقها لك.

اقتباس
1/  هذا البرنامج لايحتوى على اتصال مباشر مع دوال ال API , فقط ما لا يزيد عن 20 دالة.

الشئ الذى لايمكنه من فعل اى شئ خصوصا وهو برنامج كبير.

اذن ضع نقطة توقف على LoadLibraryA و GetProcessAddress وانتظر التعليمة التي تبحث عنها وانظر اين يتم حفظ العنوان في البرنامج وقم بوضع نقطة توقف على بايتات العنوان في الذاكرة.

اقتباس
2/  هناك اتصال بمكتبات خارجية    vcl60.dll      و  rtl60.dll , فى الحقيقة انا غير متاكد من الاسم الان

مكتبات دلفي لكن لا اعلم ان كانت مكاتب ثائبتة او خاصة بالبرنامج فقط. اسال في قسم الدلفي.

اقتباس
3/  عند الذهاب و معاينة النوافذ فى Olly اجد النافذة التى اريدها لكن ليس لها مقبض و ليس لها ID

هذا الشئ المحيرنى.

لم استخدم olly في معاينة النوافذ من قبل حيث استخدم sice، ان اردت شرحت لك كيف يمكن هذا بواسطته.. بالمناسبة فيه اداة مع ال Visual Studio اسمها ++Spy اعتقد انها تفيدك في هذه الحالة.

اقتباس
4/  حاولت ان اضع نقطة توقف فى ال WindowProc التابعة لل EditBox

لا حظت ان ال WindowProc تقع فى المكتبة vcl60.dll  عندما اذهب اليها و اضع نقطة توقف هناك

فهى لا تعمل, و لا تيوقف البرنامج نتيجة للرشائل التابعة لل EditBox

ارجو الافادة

راجع المشكلة 1

Do as I say, not as I do

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

#7

لقد اضطلعت على الدرس الخاص بالاداة POINT-h

فى الحقيقة هذه الاداة غربية لقد وضعت نقطة توقف فى مكان ما, و بعد ان نفذت العديد من التعليمات. وجدت السيريال الذى ادخلته انا, و الkey الذى اعطانى له البرنامج, اظن ان هنا مربط الفرس. لكن لم استطع ان ادرك ماهية المقاربة التى تحدث, و التى على ضوءها يتم التاكد من السيريال.

على كل حال, لا ادرى كيف يمكن ان تساعدونى.

فى انتظار المساعدة

#8

يا اخي على حسب علمي هذه الاداة تقوم بمراقبة جميع البرنامج وعند الضغط على زر او عمل شيء تقوم بوضع نقطة توقف عند هذا الحدث وتقوم بالتوقف عن المراقبة للبرنامج هذا لاتفسيري وعند الضغط على f8 نقوم بتشغيل البرنامج خطوة خطوة ومن المعروف ان معظم البرامج تظهر تقوم بصنع السيريال الصحيح لكي تقوم بعملية التاكد ونحن عن طريق تشغيلة خطوة خطوة نعرف ايش قاعد بيعمل

اخي ممكن يكون هذا التفسير خاطأ و بطلب من الاخ xacker ان يشرح عمل هذه الاداة بشكل صحيح وشكرا

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#9

Point-H عبارة عن مكان ما في USER.DLL وتختلف من جهاز لأخر

وهي بديل Hmemcpy في ويندوز 98

في Olly يكفي وضع BPX النقطة H

ثم تتبع البرنامج...

d4baa0.gif
#10

كلام صحيح واضيف بان الـ hmemcpy عبارة عن وظيفة API موجودة على انظمة 9x والتي تستخدم ال RAM للقراءة، العمليات الحسابية والمقارنة بين المحارف. تقوم هذه التعليمة باخذ المعلومات التي تدخلها وتقوم بوضعها في الذاكرة ومن ثم تتابع في عمليات الحساب والمقارنة.. هذه معلومات سريعة عن الوظيفة المذكورة.

Do as I say, not as I do

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

#11

وهذه هي الاداة التي تحدثت عنها..

ApiBreak.rar

Do as I say, not as I do

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

هذا الموضوع مغلق.

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