· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.ASSEMBLER —› Как бы байты представить

<< . 1 . 2 .

Посл.отвђт Сообщенiе


Дата: Июн 29, 2003 10:11:27

2Quantum

Это понятно. CODE2 – 30 байт. Никак не вместить.


Дата: Июн 29, 2003 15:11:03

Удалось!

.386
.model flat
.code
_start:

dec eax
dec eax
dec eax
dec eax
dec eax
dec eax
dec eax
dec eax

push eax
pop ecx

dec ebx
dec ebx
push ebx
pop eax

sub [esp+2*ecx+23h], al

db 78h, 7Eh

end _start

Машинный код этого: HHHHHHHHPYKKSX(DL#x~

Это позволило сделать js на -126 байт, т.е. попасть в CODE1. Теперь у меня 92 байта для кода, а не 30. Теперь, собственно, неспешно пишу запуск cmd.exe – места должно хватить.

Спасибо, помогли.


Дата: Июн 30, 2003 17:06:43

Дошел и тут до проблемы: осталось 7 байт, необходимо отнять от ESP 100 байт. Что делать?


Дата: Июл 2, 2003 19:54:59

Есть такой кривой вариант, будет работать когда самый младший байт esp >= 64h

push esp
pop eax
sub al, 64h
push eax
pop esp

т.е.
TX,dP\

PS: ты бы написал состояние регистров и памяти на данный момент, может что поинтересней придумать можно будет. Например, в код что-нибудь записать. Хотя в семи байтах особо не разгуляешься :)


Дата: Июл 2, 2003 20:22:58

О! Осенило:

push 60h
sub esp,[esp]

j`+$$

<< . 1 . 2 .


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.060