كتابة برنامج لقراءة قيم الرجستر في البرنامج - نسخة قابلة للطباعة +- الفريق العربي للهندسة العكسية (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-1031.html) |
كتابة برنامج لقراءة قيم الرجستر في البرنامج - bounacer - 27-07-2019 السلام عليكم ورحمة الله وبركاته
عندي سؤال واحتاج مساعدة منكم الله ينوركم اريد عمل برنامج صغير هدفه يقرأ قيم الرجستر مثل EAX , EBX , ECX , EDX... في البرنامج البارامترات : العنوان مثل : 00434262 و اسم البرنامج او مساره لو حبد اعمله في ال C# او Delphi وشكرا لم في انتظار ردكم الحار RE: كتابة برنامج لقراءة قيم الرجستر في البرنامج - GamingMaster - 27-07-2019 https://www.at4re.net/f/thread-231.html RE: كتابة برنامج لقراءة قيم الرجستر في البرنامج - bounacer - 27-07-2019 شكرا اخي [b]GamingMaster[/b] لكن الموضوع فيه اقتناص السريال وامور كثيرة باختصار مارايده هو قراءة قيم المسجلات لا اكثر , في الموضوع وضعو التعديل على ال Flag ZF لكن لم يقرأ قيمة احد المسجلات RE: كتابة برنامج لقراءة قيم الرجستر في البرنامج - GamingMaster - 27-07-2019 الفكرة اذا فهمتها بشكل عام يمكنك توظيفها حسب رغبتك. المسجلات موجودة في الـ context structure يمكنك قراءتها او الكتابة عليها :
RE: كتابة برنامج لقراءة قيم الرجستر في البرنامج - Gu-sung18 - 28-07-2019 وعليكم السلام في ويندوز الدوال GetThreadContext / SetThreadContext يمكنهما الاطلاع على قيم المسجلات للـ process إقتباس :A process with appropriate access to a thread can examine the thread's registers by using the GetThreadContext function and set the contents of the thread's registers by using the SetThreadContext function بالنسبة لـ إقتباس :لو حبد اعمله في ال C# او Delphi انا مبتدأ بالبرمجة ولكني بحثت لك عن اكواد ربما تفيدك بالنسبة للدلفي فالكود الخاص بالمنقح cheat-engine يعتبر كنز عظيم وفية ما لذ وطاب
RE: كتابة برنامج لقراءة قيم الرجستر في البرنامج - STRELiTZIA - 28-07-2019 و عليكم السلام و رحمة الله تقريبا نفس المثال بدلفي:
RE: كتابة برنامج لقراءة قيم الرجستر في البرنامج - bounacer - 29-07-2019 شكرا لكم احبتي , سأحاول عمل البرنامج بالدلفي لقراءة قيم الرجسترات , المشكل ان في كلا الاقتراحين امور كثيرة ولست مبرمج دلفي بقدر انا متخصص في ال C# واخواتها Cpp و C . وان شاء الله يكون على C# لقراءة كافة الرجسترات الان قمت بفكرة افضل وهي عمل اخر مشابه ب C++ يقرأ قيمة العنوان وبه وصلت لما اريد بمقارنة عنوانين ولكن تحتاج لعمل خدعة على ملف exe ليصل الى المكان المطلوب فقط , وهي عمل INT أمام العنوان الموالي ليتوقف البرنامج لاني لم اقم بعمل نقاط توقف بالبرنامج في السورس السورس
RE: كتابة برنامج لقراءة قيم الرجستر في البرنامج - GamingMaster - 29-07-2019 بنفس المثال نقوم بعمل hardware breakpoint على عنوان وعندما يتوقف سير البرنامج عند نقطة التوقف نقوم بقراءة الcontext RE: كتابة برنامج لقراءة قيم الرجستر في البرنامج - bounacer - 29-07-2019 من فضلك اخي [b]GamingMaster[/b] هل يمكنك تعديل السورس بحيث يقرأ أحد المسجلات EDX او EBX مع وضع نقطة التوقف على العنوان الدي يليه او نفس العنوان جزاك الله خيرا اخي RE: كتابة برنامج لقراءة قيم الرجستر في البرنامج - Gu-sung18 - 29-07-2019 بعد البحث وعمل research عن الموضوع وجدت ان الفكرة ليست جديدة فـ Mario Vilas برمج سكربت بايثون لمنقحة winappdbg يقوم بنفس الامر إقتباس :dumping code, stack and registers وكذلك Justin Seitz برمج منقح بايثون صغير وقام ببرمجة سكربت يقوم بنفس الامر في كتابة Gray Hat Python في الشابتر الثالث وشرح الامر كذلك بالتفصيل. ولكن كلا السكربتان لا يعملان مع ويندوز x64 فهما خاصان بـ 32 بت فقط لذلك قررت تعديل السكربت الثاني (بما انه لا يحتاج تنصيب مكتبات ويعتمد على نفسة)، اكملت جزء من التعديل ولكن واجهتني مشكلة وعند شروعي بالبحث لحلها وجدت ان شخص قد سبقني وقام بتعديل السكربت. لقد قمت بنسخ السكربت المعدل وتعديل التنسيق في المحرر وتجربته وهذه كانت النتيجة على windows 10 pro x64
السكربت سيطلب منك فقط الـ PID للـ process الذي تريده كلمة السر
dump_thread_context.zip (الحجم : 5.77 KB / التحميلات : 21) كذلك لغة بايثون تسهل لك الامر بخصوص اضافة اشياء جديدة للسكربت ولكن سيكون من الجميل لو تم برمجة كود بـ c او ++c في حال تطلب الامر سرعة او تطوير اداة خاصة |