تغير قيمة ثابتة - نسخة قابلة للطباعة +- الفريق العربي للهندسة العكسية (https://www.at4re.net/f) +-- قسم : منتديات الهندسة العكسية - Reverse Engineering Forums (https://www.at4re.net/f/forum-4.html) +--- قسم : الأسئلة والإستفسارات، حلول المشاكل و تبادل الخبرات - Expert Exchange Newbie Questions Answers (https://www.at4re.net/f/forum-36.html) +--- الموضوع : تغير قيمة ثابتة (/thread-273.html) |
RE: تغير قيمة ثابتة - offset - 12-01-2019 (12-01-2019, 04:49 PM)هـآوي كتب : وجدت المكان التي تظهر به القيمة وبعد كتابة mov edx واقوم بالتشغيل يحدث خطا لنأخذ التحدي من هنا للتجربة عليه: https://www.at4re.net/f/thread-19.html 1- المكان الفارغ في نافذة Hex Dump : 2- الكتابة في المكان الفارغ: العنوان الجديد 0x004068BC 3- العنوان المستهدف للتعديل عليه: في العنوان 0x00403F4A نقوم باستبدال القيمة القديمة الى يتم دفعها للذاكرة بالقيمة الجديدة و هي عنوان الكلمة Hello PUSH 004068BC 4- نتم تشغيل التحدي و نضغط على زر "تحقق من التسجيل" نفس العملية برمجبا بالسي شارب:
رابط الملف التنفيذي للتجربة:
RE: تغير قيمة ثابتة - هـآوي - 13-01-2019 شكرأ لك صديقي
لكن ليس هذا ماكنت اقصده بجميع الاحوال البرامج التي تحمل سترنغ ثابت يمكن التعديل عليها وحفظها مباشرة بدون اي مشاكل لكن انا اردت ان اعرف الطريقة الصحيحة للوصول للاوفست الصحيح الذي يتم التعديل عليها كما الحال في برنامج PC يتم الحصول على عنوان الستاك المحجوزة عندا وضع نقطة توقف لو قمنا بوضع نقطة توقف على العنوان التالي 0051138B ستلاحظ انه خرج لنا النص Stack SS:[0012FED8]=01722DCC, (UNICODE "12345") لو حاولنا التعديل على نفس العنوان بدفع الى قيمة ثانية او كتابة mov edx ستلاحظ انه لن يعمل لكن لو تم التعديل على العنوان التالي 00511346 يعمل ( ماريد معرفته كيف وصلنا الى العنوان 00511346 وعرفنا انه المكان الصحيح للتعديل ) واعتذر للإطالة وشكرا RE: تغير قيمة ثابتة - M!X0R - 13-01-2019 للوصول إلى ذلك المكان عليك ببتبع الدالة GetComputerNameA or GetComputerNameW RE: تغير قيمة ثابتة - هـآوي - 13-01-2019 (13-01-2019, 06:48 AM)M!X0R كتب : للوصول إلى ذلك المكان عليك ببتبع الدالة GetComputerNameA or GetComputerNameW طريقة التتبع تنجح فقط مع البرنامج الذي يستخدم هذه الدالة هل توجد طريقة سهلة للتبع ومعرفة الدالة المستخدمة؟؟(لو كان يستخدم البرنامج اكثر من دالة) قمت بعمل برنامج لعمل تجربة عليه ويمكن الوصل للمكان الذي يتم به حجز النص ويمكن التعديل عليه بشكل يدوي لكن لم اتمكن من معرفة المكان الصحيح للتعديل وعمل dump !!!! RE: تغير قيمة ثابتة - offset - 13-01-2019 (13-01-2019, 07:29 AM)هـآوي كتب : قمت بعمل برنامج لعمل تجربة عليه ويمكن الوصل للمكان الذي يتم به حجز النص ويمكن التعديل عليه بشكل يدوي هل تستطيع ارفاق البرنامج الثاني ؟ RE: تغير قيمة ثابتة - هـآوي - 13-01-2019 (13-01-2019, 07:37 AM)offset كتب : هل تستطيع ارفاق البرنامج الثاني ؟نعم
RE: تغير قيمة ثابتة - offset - 13-01-2019 كمرحلة اولى لكي نكون على نفس الخط هل وصلت اخي الى هنا: العنوان: 00511B66 اذا كان كذلك ما هي الطريقة التي عدلت بها RE: تغير قيمة ثابتة - هـآوي - 13-01-2019 نعم اخي الكريم هذا صحيح هذا المكان الذي توصلت له 00511B66 قمت بالذهاب الى مكان فارغ في نافذة Hex Dump 00517A4F وكتابة سترنغ UNICODE وقمت بعدها بالتعديل بالاوفست 00511B66 وكتابة MOV EDX,00517A4F RE: تغير قيمة ثابتة - offset - 13-01-2019 جرب اخي بطريقة مختلفة: عمل نوب NOP للاوامر الحقيقية في العنوان 00511B66 ثم دخول الاستدعاء الموجود في العنوان 00511B61 المسؤول عن ارجاع نتيجة الدالة ثم كتابة MOV EDX, 00517A4F زائد عليها تعليمة RET لتجاهل اكمال النتفيذ كل الطرق تؤدي الى روما RE: تغير قيمة ثابتة - هـآوي - 13-01-2019 فعلا طريقة ممتازة زادك الله من علمه لو اردنا تنفيذها بشكل برمجي وتكون القيمة متغيره هل يمكن هذا؟ يتم العمل بشكل تسلسلي للمراحل او جميع التغيرات بنفس الحظة. |