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

 eXeL@B —› Программирование —› Программный generic unpacker
. 1 . 2 . >>
Посл.ответ Сообщение

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

Создано: 19 января 2007 02:40
· Личное сообщение · #1

Вот интересно, видел ли кто материал по написанию статического generic распаковщика?



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

Создано: 19 января 2007 03:00
· Личное сообщение · #2

ищи в статьях у Криса



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

Создано: 19 января 2007 03:10
· Личное сообщение · #3

back_analys пишет:
ищи в статьях у Криса

Где именно?




Ранг: 327.3 (мудрец)
Активность: 0.250
Статус: Участник

Создано: 19 января 2007 03:42
· Личное сообщение · #4

Storm пишет:
Где именно?

kpnc.opennet.ru
ftp://ftp.nezumi.org.ru

-----
in search of sunrise




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

Создано: 19 января 2007 04:39
· Личное сообщение · #5

bloom пишет:
kpnc.opennet.ru
ftp://ftp.nezumi.org.ru

Второй линк сдох, а на первом я не знаю что именно брать, вроде файлов с названием по теме не видно.



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

Создано: 19 января 2007 05:07
· Личное сообщение · #6

Посмотри еще подшивку Хакера, вроде прошлым летом что-то такое мелькало...




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 19 января 2007 05:17
· Личное сообщение · #7

Storm пишет:
статического generic распаковщика


по-моему оно того не стоит, пиши уж лучше динамику, хотя распаковшиков
развелось куча

-----
[nice coder and reverser]




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

Создано: 19 января 2007 06:49
· Личное сообщение · #8

Hellspawn пишет:
пиши уж лучше динамику

Можешь небольшой ликбез провести?
Вопросы:
1) при динамической распаковке обязательно надо запускать целевой файл на выполнение (ну типа вычисление oep и дампинг)?
2) может все-таки можно как-нить сделать динамику без запуска целевого файла? (хотя это бред, для динамики нужен запихивание кода в память.)

То есть задача распаковать файл не дав ему выполнить ни строчку своего кода. ну или только пару строк




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 19 января 2007 06:52 · Поправил: Hellspawn
· Личное сообщение · #9

1) ну как бы обязательно, т.к. пакер/прот сам всё распакует, а мы лишь подождём и поправим
где надо...
2) хех, ну теоритич. можно, но тогда уж проще статику, т.к. всё равно придётся разбираться
как и что там арспаковывается...

а к чему такая странная задача? трои чтоль распаковываешь?

-----
[nice coder and reverser]





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

Создано: 19 января 2007 06:52
· Личное сообщение · #10

Storm пишет:
материал по написанию статического generic распаковщика?

Как-то странно звучит =) ассоциация только с эмулятором

Ведь статический распаковщик что делает? Распаковывает тело жертвы, основываясь на алгоритме пакера. Разные пакеры используют разные алгоритмы. Поэтому чисто теоретически (так как мне такое сложно представить ) такой анпакер будет представлять собой только собрание нескольких статических анпакеров.



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 19 января 2007 07:22
· Личное сообщение · #11

HoBleen пишет:
такой анпакер будет представлять собой только собрание нескольких статических анпакеров.

+1
Имхо универсальный статик - нереальный бред, универсальным (и то очень и очень относительно) может быть только динамик

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels




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

Создано: 19 января 2007 07:51
· Личное сообщение · #12

Hellspawn пишет:
трои чтоль распаковываешь?

Ага

ЗЫ То есть вариантов нет?




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

Создано: 19 января 2007 08:05
· Личное сообщение · #13

Storm пишет:
ЗЫ То есть вариантов нет?

В этом случае надо вспомнить антивирей. Они эмулируют выполнение декодера виря (в большинстве случаев).
Так что тебя ждет много работы



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 19 января 2007 08:34
· Личное сообщение · #14

HoBleen пишет:
надо вспомнить антивирей. Они эмулируют выполнение декодера виря (в большинстве случаев).

Они эмулируют достаточно простые конструкции, чем пакерпротектор определенно не является

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





Ранг: 120.6 (ветеран)
Активность: 0.090
Статус: Участник
rootkit developer

Создано: 19 января 2007 08:53
· Личное сообщение · #15

Storm пишет:
статического generic распаковщика?

Хм. Это конечно возможно теоретически, но практически нереально.

По части generic анпакеров, вполне реально сделать алгоритм, который будет с нуля пересобирать PE заголовки и откручивать любой импорт, т.е. добиться максимум распаковки всех простых пакеров, и протов уровня 1 аспра. Но врядли удасться универсально распаковать что нибудь сложнее, ибо вм и морфы требуют индивидуального подхода.

-----
Скажем дружно - нафиг нужно.





Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

Создано: 19 января 2007 11:27
· Личное сообщение · #16

Storm пишет:
Hellspawn пишет:
трои чтоль распаковываешь?
Ага


Ну можно ещё критические API заэмулть, типа запись в реестр, работа с портами и файлами...
Мож я туплю конечно, но в теории...

-----
Research For Food




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

Создано: 19 января 2007 23:46
· Личное сообщение · #17

2ms-rem: куда предложишь копать?




Ранг: 199.6 (ветеран), 12thx
Активность: 0.10
Статус: Участник
www.uinc.ru

Создано: 30 января 2007 14:57
· Личное сообщение · #18

> куда предложишь копать?

В сторону эмулятора - и запускать не надо и несколько версий сразу можно обрабатывать по одной схеме



Ранг: 66.8 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 30 января 2007 19:40
· Личное сообщение · #19

Кстати статья есть неплохая на uinc'е про эмуляторы
www.uinc.ru/articles/45/
DrGolova почему-то умолчал




Ранг: 81.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 19 марта 2007 01:09
· Личное сообщение · #20





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

Создано: 19 марта 2007 18:55
· Личное сообщение · #21

UsAr пишет:
Кстати статья есть неплохая на uinc'е про эмуляторы
www.uinc.ru/articles/45/
DrGolova почему-то умолчал

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



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

Создано: 19 марта 2007 19:02 · Поправил: WolfHunter
· Личное сообщение · #22

(глянул на сырец, вспомнил...) если это вообще сойдет за эмулятор...
динамик транслатион бл**ь, еще и жутко ограниченный, и что-то мне подсказывает,
в дупель глючный и "вообще не жилец".




Ранг: 192.7 (ветеран), 154thx
Активность: 0.070
Статус: Участник
The ONE

Создано: 19 марта 2007 20:18
· Личное сообщение · #23

В принципе написать простой динамический распаковщик для простых пакеров - дело не сложное, тем более, что в инете материала хватает. Вот пример ... написал на основе уже готовых dll.
h**p://ifolder.ru/1424682
Распаковывает далеко не все ... но уже хоть что-то.

-----
Сотрудник DHARMA





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 19 марта 2007 20:40
· Личное сообщение · #24

Динамический анпакер (и вполне неплохой) уже давно есть-QuickUnpack. Тема, вроде как, про статический, который, имхо, практически нереально написать, разве что ли козырный эмуль, а это просто туча работы.



Ранг: 81.5 (постоянный), 5thx
Активность: 0.080
Статус: Участник

Создано: 19 марта 2007 20:55
· Личное сообщение · #25

TrueLies пишет:
Распаковывает далеко не все ... но уже хоть что-то.

UPX и тот не распаковывает на некоторых компиляторах. На делфи почти все берет, а вот на Microsoft Visual C++ ни одного файла не распаковал. Файлы запакованные ASPack'ом вообще не распаковывает. Так что именно он распаковывает?




Ранг: 192.7 (ветеран), 154thx
Активность: 0.070
Статус: Участник
The ONE

Создано: 20 марта 2007 18:29
· Личное сообщение · #26

deepred
NSPack, FSG 1.33, ASPack 2.11, bep - эти может распаковать (проверял на Делфийской проге) ... UPX - вроде распаковывается, но ImpRec.dll как-то криво импорт прикручивает - в итоге - не работает, вообще вся беда именно в ImpRec.dll, в FSG 2.0 - импорт не находит ... пока все ...
А работает проще простого:
1.Находим ОЕР (GenOEP.dll);
2.Ставим на него hardware breakpoint и топаем пока не достигнем;
3.Как дошли снимаем дамп (Dumper.dll) и прикручиваем импорт (ImpRec.dll)
4.Все

-----
Сотрудник DHARMA





Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 20 марта 2007 18:43
· Личное сообщение · #27

TrueLies пишет:
для простых пакеров - дело не сложное


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

-----
[nice coder and reverser]





Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 20 марта 2007 18:48
· Личное сообщение · #28

TrueLies пишет:
А работает проще простого:
1.Находим ОЕР (GenOEP.dll);
2.Ставим на него hardware breakpoint и топаем пока не достигнем;
3.Как дошли снимаем дамп (Dumper.dll) и прикручиваем импорт (ImpRec.dll)
4.Все

первые версии QU :D

-----
Тут не могла быть ваша реклама





Ранг: 192.7 (ветеран), 154thx
Активность: 0.070
Статус: Участник
The ONE

Создано: 20 марта 2007 20:08 · Поправил: TrueLies
· Личное сообщение · #29

Hellspawn
А я и говорил - на основе готовых dll, я авторство чужих творений не приписываю ... QU тоже на драйвере seed-а и ничего Заодно - пользуясь случаем хочу сказать СПАСИБО FEUERRADER - человек, который отвечал на все мои глупые вопросы и "здоровски" помог разобраться что к чему ...

-----
Сотрудник DHARMA





Ранг: 192.7 (ветеран), 154thx
Активность: 0.070
Статус: Участник
The ONE

Создано: 21 марта 2007 07:07
· Личное сообщение · #30

Вот исходники (asm) китайского динамического распаковщика Easy Unpack, работает по такому же принципу, разве что ОЕР пытается найти и дампит сам. Чтоб не мучились, то лучше всего отключить оптимизацию файла (левый нижний CheckBox) и ОЕР задавать вручную - тогда работает Да и ImpRec.dll должна быть рядом.

Easy Unpack (11 Kb) - h**p://ifolder.ru/1439645

-----
Сотрудник DHARMA



. 1 . 2 . >>
 eXeL@B —› Программирование —› Программный generic unpacker
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати