Сейчас на форуме: Slinger, Rio (+6 невидимых)

 eXeL@B —› Основной форум —› In-Line патч
Посл.ответ Сообщение

Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 августа 2004 22:46
· Личное сообщение · #1

Кто-нибудь скажите что это такое и как их создать!




Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 26 августа 2004 00:07
· Личное сообщение · #2

К концу экзешника дописываешь свой код и делаешь редирект на OEP. Соответственно и точку входа в PE заголовке меняешь на адрес начала дописанного кода. Только помни, что код можно дописывать только в ту часть EXE файла, которая будет располагаться в памяти (имеет виртуальные адреса). Если в имеющихся секциях нет свободного места - создай новую средствами Pe Tools.

В качестве дописываемого кода юзай функцию, которая будет изменять байты EXE файла в памяти. Например:

mov eax, 75h ; байт, который впендюриваем по
mov ebx, 401010h ; этому адресу
mov [ebx], eax

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!




Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 26 августа 2004 01:19
· Личное сообщение · #3

AlexeY

Почитай статьи Рубанка, как патчить UPX & ASPack. Сейчас int3 лежит, поэтому ссылки дать не могу. Может кто, у кого на харде есть выложит.

GPcH
Не понравилось мне твое объяснение совсем, если б я не был начинающим, я б ни хрена не понял.

AlexeY
Собственно инлайн нужен тогда, когда необходимо пропатчить запакованную программу. Как это делают? В любой запакованной программе рано или поздно будет переход на OEP (original entry point), который у upx выглядит примерно так:
popad
jmp oep
Ниже идут нули, вместо которых можно вписать наш патч. Правишь в Olly или Hiew jmp oep, на jmp адрес, который находится ниже (в случае upx сразу видна куча add eax,...). Ну то есть прыгаешь 5-6 строчками ниже и пишешь в Хиев например:
mov b,[401000],75h
jmp oep
Согласись такой способ записи байта более понятен. Вот и все.




Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

Создано: 26 августа 2004 05:58
· Личное сообщение · #4

Круто, мини-статьи прямо на форуме

-----
Всем не угодишь





Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 26 августа 2004 08:03
· Личное сообщение · #5

Mafia32 пишет:
Не понравилось мне твое объяснение совсем

мне твое тоже.
Mafia32 пишет:
В любой запакованной программе рано или поздно будет переход на OEP

это я бы не понял, если бы был начинающим, да и что такое OEP я думаю автор вопроса может не знать. Да и нули не всегда легко найти.

Короче трудно помочь начинающему, согласись?
Мы с тобой попытались ;)

AlexeY

Почитай туторов, да побольше, благо их в инете навалом

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!





Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 26 августа 2004 08:05
· Личное сообщение · #6

Bad_guy пишет:
Круто, мини-статьи прямо на форуме



-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!




Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 26 августа 2004 10:10
· Личное сообщение · #7

Ну тогда я тож влезу:
Есть запакованная программка. Задача: сделать патч.
Действия:
- распаковать программу, запомнить ОЕР и адрес перехода на ОЕР.
- взломать программу.
- запомнить адреса смещёний в памяти, по которым находятся команды подлежащие пропатчиванию (с учётом imageBase)
- взять запакованую программу, открыть в любом дизассемблере с возможностью редактирования (OllyDbg, HiEW), прейти к месту, где происходит прыжок на ОЕР и перенаправить его туда, где будет располагаться код патча.
- дописать код патча, и сделать переход на ОЕР. Сохранить и пользоваться.

Советую начать патчить по байту. О dword отдельный разговор, там байты идут в обратном порядке.

Понятно?

-----
Я медленно снимаю с неё UPX... *FF_User*




Ранг: 45.7 (посетитель)
Активность: 0.050
Статус: Участник
EBFE

Создано: 26 августа 2004 10:33
· Личное сообщение · #8

AlexZ пишет:
О dword отдельный разговор, там байты идут в обратном порядке


а в word тогда что?



Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 26 августа 2004 10:52 · Поправил: AlexZ
· Личное сообщение · #9

dMNt
И word, конечно тоже (теперь не с прашивай "как пишется переносица" ) Зачем человека word'ами грузить? Пока ему и байт хватит.

-----
Я медленно снимаю с неё UPX... *FF_User*





Ранг: 260.3 (наставник), 2thx
Активность: 0.120
Статус: Участник
PPC-PROTECT author

Создано: 26 августа 2004 12:30
· Личное сообщение · #10

мне понравились ваши объяснения сам бы так не смог

-----
Пиво, сиськи, транс




Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 26 августа 2004 12:59
· Личное сообщение · #11

GPcH
Mafia32
Главное - не ссорьтесь.
AlexeY
Нашел тебе про UPX: [URL] uinc.ru/articles/07/index.shtml [URL]

-----
Я медленно снимаю с неё UPX... *FF_User*




Ранг: 9.1 (гость)
Активность: 0.020
Статус: Участник
Alexey

Создано: 26 августа 2004 15:11
· Личное сообщение · #12

А почему для внесения изменения, Mafia32, ты в Олии находишь, а потом в HIEW лезешь? Можно ведь разу в Олли все и сохранить...



Ранг: 0.0 (гость)
Активность: 0.020
Статус: Участник

Создано: 26 августа 2004 16:38
· Личное сообщение · #13

GPcH пишет:
создай новую средствами Pe Tools

можно и чем-нибудь типа ToPo ...



Ранг: 145.8 (ветеран)
Активность: 0.070
Статус: Участник
www.int3.net

Создано: 26 августа 2004 16:41
· Личное сообщение · #14

оффтопик.
Mafia32 пишет:
Сейчас int3 лежит, поэтому ссылки дать не могу.

в момент твоего поста не лежал.




Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 07 января 2007 06:02
· Личное сообщение · #15

AlexeY
На твоем месте я бы все-таки задавал такой вопрос в разделе "Вопросы новичков"

-----
программистом не рождаются - им умирают





Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 07 января 2007 06:13
· Личное сообщение · #16

Gambit
На дату посмотри)




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 07 января 2007 06:21
· Личное сообщение · #17

Gambit - тебе делать чтоли нехрен?


 eXeL@B —› Основной форум —› In-Line патч
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати