Сейчас на форуме: bartolomeo, -Sanchez- (+3 невидимых) |
eXeL@B —› Вопросы новичков —› Поменять короткий джамп на длинный :s16: |
Посл.ответ | Сообщение |
|
Создано: 03 марта 2006 07:45 · Личное сообщение · #1 Если бы нужно было поменять длинный переход на короткий, то просто меняем и добавляем nop'ы, но как сделать когда был jz short loc_5130A5 в 2 байта и нужно поменять на jmp loc_5130A5, который перекрывает соседний код. В HIEW вижу это как je 001130A5. Так как сделать безусловный прыжок в 2 байта с места которое совсем рядом (113098)? |
|
Создано: 03 марта 2006 08:05 · Личное сообщение · #2 |
|
Создано: 03 марта 2006 08:12 · Личное сообщение · #3 |
|
Создано: 04 марта 2006 04:07 · Личное сообщение · #4 |
|
Создано: 04 марта 2006 10:48 · Поправил: Hellspawn · Личное сообщение · #5 bash пишет: Большое спасибо! Прямо в яблочко! Ты настоящий знаток ассемблера. мда... куда мы катимся... такое уже спрашивают... я мин 5 думал, что же он всё таки хочет =\ в аттаче табличка, сиди и учи =) это совет... bash пишет: jmp loc_5130A5, который перекрывает соседний код. ничего страшного, что код перекрывается.. ты же правишь на безусловный джам, значит, тот код, которые перекроется, будет всегда перепрыгнут... (конечно это надо проверить, но в большинстве случаев так) bash пишет: Так как сделать безусловный прыжок в 2 байта с места которое совсем рядом (113098)? А ещё попробуй короткий безусловный прыжок, просто поправь первый байт твоего условного прыжка на "EB" и всё будет =) a52f_lectio5.gif.zip ----- [nice coder and reverser] |
|
Создано: 06 марта 2006 01:33 · Поправил: bash · Личное сообщение · #6 |
|
Создано: 06 марта 2006 16:16 · Личное сообщение · #7 |
|
Создано: 06 марта 2006 16:55 · Поправил: Hellspawn · Личное сообщение · #8 PE_Kill пишет: Это от ситуации зависит... Бывает что и не здравая... я же написал, что Hellspawn пишет: (конечно это надо проверить, но в большинстве случаев так) а после проверки, конечно она здравая вообще по хорошему, не прыжки надо править... а причину =) т.е. достаточно иногда бывает вписать в начало какой-нибудь процедуры: mov eax,1
и будет тебе счастье ----- [nice coder and reverser] |
|
Создано: 07 марта 2006 02:02 · Личное сообщение · #9 |
|
Создано: 07 марта 2006 09:13 · Поправил: Hellspawn · Личное сообщение · #10 bash пишет: А-а-а! Это удовлетворить условие прыжка? Здорово придумано! Столько простых и полезных вещей узнаю в этом подфоруме! ну не одного прыжка, а вообще всех в программе (которые отвечают за регистрацию) и не всегда такой вид будет иногда надо будет обнулять регистр, но это так... я надесь сам принцип понятен? Просто править десятки прыжков муторно, да и не факт, что мы их все нашли... ----- [nice coder and reverser] |
|
Создано: 08 марта 2006 20:59 · Личное сообщение · #11 |
|
Создано: 08 марта 2006 21:30 · Личное сообщение · #12 bash пишет: Только непонятно как их все обнаружить (интересен только принцип) - ручками =) F7,F8 и т.д. и т.п. Hellspawn пишет: Просто править десятки прыжков муторно, да и не факт, что мы их все нашли... Но иногда, как написал Hellspawn, вместо их нахождения этих прыжков, проще пропатчить процедуру проверки регистрации в зависимости от того, в каком виде она возвращаем результат. А найти её легче, чем 29 или 30 джампов =) Hellspawn пишет: mov eax,1 ret. Это для случая, если после этой процедуры в EAX возвращается 0 - если прога не зарегистрирована и 1 - если прога зарегистрирована |
|
Создано: 08 марта 2006 23:57 · Поправил: Hellspawn · Личное сообщение · #13 Klajnor пишет: Это для случая, если после этой процедуры в EAX возвращается 0 - если прога не зарегистрирована и 1 - если прога зарегистрирована ну я для примера привёл... конечно, может всё и подругому быть... главное было, показать человеку принцип, а то будет мучаться исправляя все 30 прыжков bash пишет: Только непонятно как их все обнаружить (интересен только принцип), а то найдем 29 прыжков, поправим их, а 30-й - нет и будем страдать из-за потраченного зря времени ну ищешь хотя бы 1 прыжок, который надо править.... ну и смотришь, почему он выполняется (или не выполняется)... т.е. надо найти "самое главное" условие и поправив его, будет тебе счастье... ----- [nice coder and reverser] |
eXeL@B —› Вопросы новичков —› Поменять короткий джамп на длинный :s16: |
Эта тема закрыта. Ответы больше не принимаются. |