تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف يمكن حقن تعليمه القفز مع العنوان [jump + address] داخل Process أخر بشكل صحيح ؟
#11
(04-01-2023, 10:42 PM)lionking كتب : كيف تم حساب هذا 0xAD ؟

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

هناك برامج تقوم بالحساب بدون اللجوء للمنقح من بينها:
https://www.at4re.net/f/thread-3425.html
بالإضافة للبرنامج المرفق


الملفات المرفقة
.rar   Jump2Hex.rar (الحجم : 160.46 KB / التحميلات : 17)
لَّا إِلَٰهَ إِلَّا أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينْ.

عن أبي هريرة -رضي الله عنه- أن رسول الله -صلى الله عليه وسلم- كانَ يقولُ في سجودِهِ: «اللَّهُمَّ اغْفِرْ لي ذَنْبِي كُلَّهُ: دِقَّهُ وَجِلَّهُ، وَأَوَّلَهُ وَآخِرَهُ، وَعَلاَنِيَتَهُ وَسِرَّهُ».
(صحيح - رواه مسلم).
أعضاء أعجبوا بهذه المشاركة : Newhak
#12
هل العناوين في الذاكرة او الملف

جرب ان تستخدم
Push 0x00000000
ret

بدلا من
JMP

فقط تحتاج 6 بيتات
____________________________________________
I AM RETIRED DO IT YOURSELF

اخيكم في الله معتزل فلاتنسوه من دعوة صالحة فقد ظلم نفسه اسال الله ان يغفر لي ولكم ماتقدم وماتاخر
أعضاء أعجبوا بهذه المشاركة : TeRcO
#13
(04-01-2023, 10:42 PM)lionking كتب : كيف تم حساب هذا 0xAD ؟

بعد تنقيح البريمج Jump2Hex

في حالة JMP SHORT
 
0048D9B2 - 0048DA03 = FFFFFFAF - 2 = FFFFFFAD

تسحب آخر بايت من النتيجة لإستعماله مع أمر القفز EB

أو تحول النتيجة من DWORD إلى Byte و تساوي AD ثم تستعمله مع أمر القفز EB

في حالة JMP Long

نفس العملية و لكن تطرح 5 بدل 2 
 
0048A512 - 0048DA03 = FFFFCB0F - 5 = FFFFCB0A

الناتج لازم يعكس قبل الإستعمال مع أمر JMP Long أي E9 0A CB FF FF

* الأرقام المطروحة في العمليات السابقة (2 و 5) أرقام ثابتة فهي تمثل حجم الأمر JMP SHORT يحتاج 2 بايت في عملية الكتابة  و JMP Long يحتاج 5 بايت للكتابة

شاركنا ما توصلت إليه لتعم الفائدة  victory
لَّا إِلَٰهَ إِلَّا أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينْ.

عن أبي هريرة -رضي الله عنه- أن رسول الله -صلى الله عليه وسلم- كانَ يقولُ في سجودِهِ: «اللَّهُمَّ اغْفِرْ لي ذَنْبِي كُلَّهُ: دِقَّهُ وَجِلَّهُ، وَأَوَّلَهُ وَآخِرَهُ، وَعَلاَنِيَتَهُ وَسِرَّهُ».
(صحيح - رواه مسلم).
أعضاء أعجبوا بهذه المشاركة :
#14
(05-01-2023, 07:27 AM)aijundi كتب : int addr = 0x0048DA03;int jumpFarToAddr = 0x0048A512;
unsigned char hex[5];
const unsigned char command = 0xE9;
*hex = command;
int offset = jumpFarToAddr - addr - sizeof(hex);memcpy(&hex[1], &offset, sizeof(offset));
VirtualProtectEx(hProcess, (void*)addr, 20, PAGE_READWRITE, &oldProtect);
WriteProcessMemory(hProcess, (void*)addr, (void*)hex, sizeof(hex), NULL);
VirtualProtectEx(hProcess, (void*)addr, 20, oldProtect, &oldProtect);

التعديل اللي قمت بإضافتة على الكود وضح لي أشياء كانت مبهمة بالنسبة لي.
أشكرك أخي العزيز.

 
(05-01-2023, 08:55 PM)Newhak كتب : هل العناوين في الذاكرة او الملف

جرب ان تستخدم
Push 0x00000000
ret

بدلا من
JMP

فقط تحتاج 6 بيتات

أشكرك أخي العزيز على إضافتك المفيدة.

 
(06-01-2023, 05:09 AM)M!X0R كتب : بعد تنقيح البريمج Jump2Hex

في حالة JMP SHORT
 
0048D9B2 - 0048DA03 = FFFFFFAF - 2 = FFFFFFAD

تسحب آخر بايت من النتيجة لإستعماله مع أمر القفز EB

أو تحول النتيجة من DWORD إلى Byte و تساوي AD ثم تستعمله مع أمر القفز EB

في حالة JMP Long

نفس العملية و لكن تطرح 5 بدل 2 

0048A512 - 0048DA03 = FFFFCB0F - 5 = FFFFCB0A

لناتج لازم يعكس قبل الإستعمال مع أمر JMP Long أي E9 0A CB FF FF

* الأرقام المطروحة في العمليات السابقة (2 و 5) أرقام ثابتة فهي تمثل حجم الأمر JMP SHORT يحتاج 2 بايت في عملية الكتابة  و JMP Long يحتاج 5 بايت للكتابة

أشكرك أخي العزيز أنك وضحت هدة الجزئية لأنها مهمة, وفعلا أفادتني.
.
.
.
.
الحمد لله اللغز أصبح مفهوم الآن, وكل أخ رد عليا وضح لي جزئية من الموضوع وفى النهاية اتضحت كل النقاط وتم حقن الكود بشكل صحيح كما كنت أريد. أشكركم جميعا...........
أعضاء أعجبوا بهذه المشاركة : Newhak
#15
(07-01-2023, 01:00 AM)lionking كتب : الحمد لله اللغز أصبح مفهوم الآن, وكل أخ رد عليا وضح لي جزئية من الموضوع وفى النهاية اتضحت كل النقاط وتم حقن الكود بشكل صحيح كما كنت أريد. أشكركم جميعا...........

طيب يااخي جميل انك وصلت للحل لكن وضح ايش سويت بالضبط حتى يستفيذ غيرك
____________________________________________
I AM RETIRED DO IT YOURSELF

اخيكم في الله معتزل فلاتنسوه من دعوة صالحة فقد ظلم نفسه اسال الله ان يغفر لي ولكم ماتقدم وماتاخر
أعضاء أعجبوا بهذه المشاركة : M!X0R
#16
(07-01-2023, 01:00 AM)lionking كتب : تم حقن الكود بشكل صحيح

ساعد غيرك يساعدك غيرك كان توقيع أحد الأعضاء المخضرمين سابقا

لو تكرمت ضع الكود الصحيح الذي تمت تجربته بنجاح حتى يتسنى غيرك بالإستفادة منه nice
لَّا إِلَٰهَ إِلَّا أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينْ.

عن أبي هريرة -رضي الله عنه- أن رسول الله -صلى الله عليه وسلم- كانَ يقولُ في سجودِهِ: «اللَّهُمَّ اغْفِرْ لي ذَنْبِي كُلَّهُ: دِقَّهُ وَجِلَّهُ، وَأَوَّلَهُ وَآخِرَهُ، وَعَلاَنِيَتَهُ وَسِرَّهُ».
(صحيح - رواه مسلم).
أعضاء أعجبوا بهذه المشاركة : Newhak
#17
الكود النهائي:

[صورة مرفقة: QjJjc8S.png]

والناتج بهذا الشكل:

[صورة مرفقة: 3WP9X90.png]


أتمنى الفائدة للجميع.
أعضاء أعجبوا بهذه المشاركة : Newhak , M!X0R
#18
(07-01-2023, 08:00 PM)lionking كتب : واللهى يا إخواني كل الخطوات مكتوبة فى نفس هذا الموضوع من بدايتة عل هيئة ردود من الإخوة اللي ردو عليا يعنى أنا ما جبت شئ من الخارج لكن كلة موجود في نفس الموضوع.
وعلى العموم أنا سوف أقوم بتلخيص الموضوع.

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

بارك الله فيك انك استدركت ووضعت ماتوصلت له
____________________________________________
I AM RETIRED DO IT YOURSELF

اخيكم في الله معتزل فلاتنسوه من دعوة صالحة فقد ظلم نفسه اسال الله ان يغفر لي ولكم ماتقدم وماتاخر
أعضاء أعجبوا بهذه المشاركة :
#19
بعد إذنك تم تعديل المشاركة لإعادة تكرار الردود و هذا مخالف !

نعلم أن الجميع ساعدك بفكرة و نحن طلبنا منك كتابة الكود المجرب حتى يكون مرجع لمن يواجه نفس المشكلة.

شكرًا لتفهمك  Smile
لَّا إِلَٰهَ إِلَّا أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينْ.

عن أبي هريرة -رضي الله عنه- أن رسول الله -صلى الله عليه وسلم- كانَ يقولُ في سجودِهِ: «اللَّهُمَّ اغْفِرْ لي ذَنْبِي كُلَّهُ: دِقَّهُ وَجِلَّهُ، وَأَوَّلَهُ وَآخِرَهُ، وَعَلاَنِيَتَهُ وَسِرَّهُ».
(صحيح - رواه مسلم).
أعضاء أعجبوا بهذه المشاركة : Newhak


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 8 ) ضيف كريم