Size: a a a

Ассемблер

2021 July 17

A

Aleksandr in Ассемблер
я думал над чем-то подобным, но в другом направлении. интересная мысль
источник

J

J in Ассемблер
А ок
источник

E

Entusiast in Ассемблер
Если делать это с инжектором, то нужно ещё позаботиться, что перед вызовом (к примеру) CreateThreadEx в чужом процессе - нам нужно будет передать, соответственно, его адрес в стэк
источник

A

Aleksandr in Ассемблер
mov eax, [esp]
add eax, *
источник

A

Aleksandr in Ассемблер
а то у тебя как-то много кода
источник

E

Entusiast in Ассемблер
7 byte
источник

E

Entusiast in Ассемблер
А, понял
источник

E

Entusiast in Ассемблер
Да, всё правильно
источник

E

Entusiast in Ассемблер
Эх, нет. Тогда не так. Нужно же получить это смещение, а потом прибавить. Но хотя бы получение адреса старта будет на 5 байт))
Хоть что-то
источник

A

Aleksandr in Ассемблер
неправильно, 6 байт
источник

E

Entusiast in Ассемблер
44 8b 04 24 83 c0 04 = 7
источник

A

Aleksandr in Ассемблер
8B 04 24 83 C0 06
источник

E

Entusiast in Ассемблер
Что-то у меня радар заболел))
источник

E

Entusiast in Ассемблер
В общем, можно считать, что задачу решили
Главное - получили нужное нам начало, а прибавить уже смещение на инструкцию - дело отдельное.
Если даже взять во внимание, что берётся адрес первой инструкции, тогда ничего прибавлять и не надо
источник

II

Ira Irina in Ассемблер
а вот так можно? навеяно предыдущими задачами push eax ret ))
источник

E

Entusiast in Ассемблер
Что?
источник

A

Aleksandr in Ассемблер
можно
источник

A

Aleksandr in Ассемблер
в реальном режиме даже практиковалось
push ax
push bx
iret
источник

II

Ira Irina in Ассемблер
в еах теперь еип
источник

A

Aleksandr in Ассемблер
в твоем случае наоборот
источник