PDA

View Full Version : این کد چی کار میکنه؟



1485159
جمعه 14 اسفند 1388, 19:34 عصر
سلام
این کد چیکار میکنه؟
اگه ممکنه سطر به سطر باشه.:لبخند:
ممنون.:قلب:

XOR EAX, EAX

PUSH OFFSET @@Handler
PUSH DWORD PTR FS:[EAX]
MOV DWORD PTR FS:[EAX], ESP
MOV EAX, 564D5868h
MOV EBX, 3c6cf712h
MOV ECX, 0Ah
MOV DX, 5658h
IN EAX, DX
MOV EAX, True
JMP @@NotHandle
@@Handler:
MOV EAX, [ESP+$C]
MOV TContext(EAX).EIP, OFFSET @@Handled
XOR EAX, EAX
RET
@@Handled:
XOR EAX, EAX
@@NotHandle:
XOR EBX, EBX
POP DWORD PTR FS:[EBX]
ADD ESP, 4

tdkhakpur
جمعه 14 اسفند 1388, 22:14 عصر
شما باید تمام کد رو ارسال میکردید نه تکه از آن را.
مثل این میماند که یه ورق از داستان رو پاره کنید و بگید موضوع داستان چیه؟
ولی از نظر کدینگ کاری جز پرش به یک ادرس مشخص و مقدار دهی رجیستر ها و قرار داده آدرس مکانهایی از حافظه داخل پشته انجام نمیدهد.

1485159
جمعه 14 اسفند 1388, 22:24 عصر
به این تاپیک یه سر بزنید:
http://forum.iranled.com/showthread.php?tid=10279

tdkhakpur
جمعه 14 اسفند 1388, 22:34 عصر
خب برای چی از اونجا پیگیری نمیکنید؟
ولی زیاد با آدرسهای مستقیم کار شده به نظرم برای لینوکس و یا داس باشه نه ویندوز.

1485159
جمعه 14 اسفند 1388, 22:41 عصر
خب برای چی از اونجا پیگیری نمیکنید؟
آخه انجمنش زیاد فعال نیست......
دوستان کرکر چی؟
ممنون.

hoax3r
جمعه 14 اسفند 1388, 23:51 عصر
اگه یه کوچولو جستجو کنید به نتیجه می رسید، اصل کد همون چنتا دستور MOV و IN هست برای شناسایی VMWare که تو لینک هایی که گزاشتم توضیحاتی داده مابقی کدا برای ایجاد یه هندلر به زنجیره ی SEH هست، (همون try - except در زبان های سطج بالا)



http://www.securiteam.com/securitynews/5OP0B1PCAA.html




http://chitchat.at.infoseek.co.jp/vmware/backdoor.html

greenway
پنج شنبه 20 اسفند 1388, 15:24 عصر
دستور IN در لايه Application قابل استفاده نيست و منجر به Exception مي شود. VMWare از اين روش براي كنترل و ارتباط بين Host و Client استفاده مي كند. كدي كه در بالا آمده است در سي به شكل زير پياده سازي مي شود.



// This Code , Bans VMWare
BOOL DetectVMWare(void)
{
__try
{
__asm mov ecx,0ah
__asm mov eax,'VMXh'
__asm mov ebx,0x86D48565
__asm mov dx ,'VX'
__asm in eax,dx
__asm cmp ebx,'VMXh'
__asm je OutCode
return FALSE;
}
__except(EXCEPTION_EXECUTE_HANDLER)
{
return FALSE;
}
OutCode:
return TRUE;
}