28-06-2011, 11:54 PM
29-06-2011, 04:22 AM
قمت باضافة قفزتين حتى لا تصدر رسائل خطاء بسبب عدم وجود المكتبة او الدالة غير موجودة ... .
الاولى
اذا كان مقبض المكتبة = 0 اى (EAX = 0 )
هنى نقفز 25 بايت اى بالهاكس = 19
الثانية
اذا كان كان عنوان الدالة = 0
هنى نقفز 07 بايت فقط
![[صورة: attachment.php?attachmentid=2807&stc=1&d=1309317651]](http://delphi4arab.net/forum/attachment.php?attachmentid=2807&stc=1&d=1309317651)
الاولى
اذا كان مقبض المكتبة = 0 اى (EAX = 0 )
هنى نقفز 25 بايت اى بالهاكس = 19
PHP كود :
$83, $F8, 0, {CMP EAX, 0}
$74, $19, {JMP 25 Byte}
اذا كان كان عنوان الدالة = 0
هنى نقفز 07 بايت فقط

PHP كود :
$83, $F8, 0, {CMP EAX, 0}
$74, $07, {JMP 07 Byte}
30-06-2011, 04:30 AM
نعم أخي Hanipino فكرة جيدة
وأقترح عليك الأداة AsmToMachineCode لتتحويل الأسمبلي الى لغة الآلة...ستجدها ان بحتت في المنتدى
ان كانت لديك أفكار أخرى اطرحها لنحاول معا
وأقترح عليك الأداة AsmToMachineCode لتتحويل الأسمبلي الى لغة الآلة...ستجدها ان بحتت في المنتدىان كانت لديك أفكار أخرى اطرحها لنحاول معا
30-06-2011, 05:10 AM
هل جربت أن تقفز للخلف !! ...لم يسبق لي أن فعلتها
30-06-2011, 09:11 AM
إقتباس :هل جربت أن تقفز للخلف !! ...لم يسبق لي أن فعلتها
لا ادرى كيف ... لاكن يمكن استعمال
إقتباس : push xxxx
retn
xxxx يؤشر على عنوان ما فى الخلف .
30-06-2011, 09:23 AM
كمثال
اذا كان مقبض المكتبة يختلف عن الصفر سيكمل العمل عادى
فى غير ذالك سيقفز للخلف و يحاول تحميل المكتبة من جديد .
![[صورة: attachment.php?attachmentid=2809&stc=1&d=1309422109]](http://delphi4arab.net/forum/attachment.php?attachmentid=2809&stc=1&d=1309422109)
اذا كان مقبض المكتبة يختلف عن الصفر سيكمل العمل عادى
فى غير ذالك سيقفز للخلف و يحاول تحميل المكتبة من جديد .
30-06-2011, 08:22 PM
إقتباس :اذا كان مقبض المكتبة يختلف عن الصفر سيكمل العمل عادى
فى غير ذالك سيقفز للخلف و يحاول تحميل المكتبة من جديد
هنا سيدخل البرنامج في حلقة غير منتهية ...سيحاول دائما تحميل المكتبة اذا كانت قيمة المقبض صفر.
نعم أخي Hanipino بالنسبة للعنوان لا يوجد مشكل...فقط عندما رأيت المثال أي القفز للأمام بعدد معين من البيتات فكرت في القفز للخلف بنفس الطريقة أي بالبايت و ليس العنوان..هل لديك فكرة ?
30-06-2011, 08:32 PM
ليست لدى فكرة عن القفز للخلف بعدد معين من Bytes
------------------------
انا الان احاول
حقن مكتبة معينة مثلا ب MessageBox بنفس طريقة حقن ملف تنفيذى ... لاكن حدث بعض المشاكل
حاول معى اخى me&delphi .
------------------------
انا الان احاول
حقن مكتبة معينة مثلا ب MessageBox بنفس طريقة حقن ملف تنفيذى ... لاكن حدث بعض المشاكل
حاول معى اخى me&delphi .
30-06-2011, 09:02 PM
سأحاول أخي رغم ان الملفات exe تختلف عت المكتبات بغض النظر أن كليها يحمل وينفد في الداكرة
02-07-2011, 11:20 AM
بالنسبة للقفز للخلف بعدد معين من البايتات...فكرت وقبل أن أبحث توصلت لهده الطريقة من خلال المحاولات
لنعتبر هدا هو الشيل او اللودر المراد حقنه (فقط مثال لتوضيح الفكرة)
ومقابله بالأسمبلي
و نحن نريد أن نقفز للخلف وبالضبط الىinc eax وبالتالي سنستبدل القيمة 00000033 بالقيمة التى تمكننا من القفز الى المكان المطلوب
ادا قمنا بعد مجموع البايتات ابتداءا من FF والتي هي 00000033 الى البايت x40 الدي مقابله inc eax
سنجدها تساوي 13 بايت وما دمنا نريد القفز للخلف أي القيمة سالبة 13-
ويبقى فقط تحويل القيمة 13- من Decimal الى Hex
وسأشرح الطريقة هنا للمبتدئين
نفتح الألة الحاسبة الخاصة بالوندوز تم نقوم بعملية حسابية ناتجها 13-
مثلا 13- = 26-13 ثم نحول ل Hex و ستعطينا F3
وهكدا نضع مكان البايت FF القيمة F3
بالنسبة لحقن Dll ب MessageBoxA لم أتو صل لحل فعال أخي Hanipino
وأتمنا أن أكون أفدت اخواني في المنتدى ولو بالقليل.
بالتوفيق.
لنعتبر هدا هو الشيل او اللودر المراد حقنه (فقط مثال لتوضيح الفكرة)
PHP كود :
\x40
\x48
\xC7\xC0\x33\x00\x00\x00
\xE9\x2E\x00\xC0\xFF
ومقابله بالأسمبلي
PHP كود :
inc eax
dec eax
mov eax,1
jmp 00000033
و نحن نريد أن نقفز للخلف وبالضبط الىinc eax وبالتالي سنستبدل القيمة 00000033 بالقيمة التى تمكننا من القفز الى المكان المطلوب
ادا قمنا بعد مجموع البايتات ابتداءا من FF والتي هي 00000033 الى البايت x40 الدي مقابله inc eax
سنجدها تساوي 13 بايت وما دمنا نريد القفز للخلف أي القيمة سالبة 13-
ويبقى فقط تحويل القيمة 13- من Decimal الى Hex
وسأشرح الطريقة هنا للمبتدئين
نفتح الألة الحاسبة الخاصة بالوندوز تم نقوم بعملية حسابية ناتجها 13-
مثلا 13- = 26-13 ثم نحول ل Hex و ستعطينا F3
وهكدا نضع مكان البايت FF القيمة F3
بالنسبة لحقن Dll ب MessageBoxA لم أتو صل لحل فعال أخي Hanipino
وأتمنا أن أكون أفدت اخواني في المنتدى ولو بالقليل.
بالتوفيق.