Сейчас на форуме: zds (+5 невидимых)

 eXeL@B —› Программирование —› Подсчет прыжков
Посл.ответ Сообщение

Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 07 февраля 2014 18:56
· Личное сообщение · #1

Всем доброго времени суток.
Есть некая софтинка, которую нужно пропатчить лоадером.
Я выделяю в ней память через VirtualAllocEx, в которой пишу свой патч.
Только я столкнулся с проблемой, что не знаю как сделать прыжок в свою выделенную память и как посчитать его обратно. Такие танцы с бубном для того, чтобы пропатчить регу, находящуюся в динамической памяти.

Допустим место для прыжка в выделенную память 01B1449B
Адрес выделенной памяти 09660000
Как быть?




Ранг: 462.8 (мудрец), 468thx
Активность: 0.280
Статус: Участник
Only One!

Создано: 07 февраля 2014 19:00 · Поправил: OnLyOnE
· Личное сообщение · #2

Делай прыжок в выделенную память через call, адрес возврата в стеке.
Если я все правильно понял.

-----
aLL rIGHTS rEVERSED!


| Сообщение посчитали полезным: TryAga1n


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 07 февраля 2014 19:01 · Поправил: reversecode
· Личное сообщение · #3

push адресс
retf

retn в другие сегменты не прыгнет
вообще кому надо разберется

| Сообщение посчитали полезным: TryAga1n

Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 07 февраля 2014 19:20
· Личное сообщение · #4

reversecode,
retn.

TryAga1n,
если вы спокойно выделяете в софтинке память, то зачем нужен лоадер?..
Просто вставьте нужный код в саму программу.



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 07 февраля 2014 19:42
· Личное сообщение · #5

Большое спасибо за предложенные варианты. Разобрался


 eXeL@B —› Программирование —› Подсчет прыжков
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати