eXeL@B —› Вопросы новичков —› Упаковщики и таблица импорта |
Посл.ответ | Сообщение |
|
Создано: 17 октября 2006 13:29 · Поправил: Sturgeon · Личное сообщение · #1 Привет! Сейчас читаю статьи по распаковке и у меня возник вопрос. В статье "Ручная распаковка файлов, используя ProcDump" от Dr.Golova он не дает упаковщику заменить имена функций на их реальный адрес. И в результате снимает полностью рабочий дамп, не заморачиваясь с восстановлением таблицы импорта. В статьях "Об упаковщиках в последний раз" есть примерно такие же мысли. И такой вопрос. Много ли пакеров/протекторов делают такие штуки (я как понял практически все)? Реально ли найти это место? И, соответсвенно, реально ли его обойти, чтобы получить рабочий дамп? Если можно объясните пожалуйста немножко поподробней и попроще, а то я же чайник, и от "упаковщиков в последний раз" у меня зубы ломит |
|
Создано: 17 октября 2006 14:05 · Личное сообщение · #2 Sturgeon пишет: Много ли пакеров/протекторов делают такие штуки ...ну,есть такие.Возьмём к примеру SafeDisc. Sturgeon пишет: Реально ли найти это место? ...если знаешь,что ищешь,то реально.Аппаратная точка останова на запись в какое-нибудь место в IAT,где находятся переходники протектора.Лучше ставить условную точку -- меньше будет ложных срабатываний. И дальше развиваешь мысль по обстоятельствам. Sturgeon пишет: реально ли его обойти ...реально.NOPишь нужный переход,и таблица заполняется правильными адресами API(SafeDisc в пример). Sturgeon пишет: чтобы получить рабочий дамп? ...вот только рабочий дамп ты в случае протектора наврятли получишь,т.к. он гадит ещё и секцию кода,и её необходимо приводить в чувства. Моё мнение,нахождение и обход данного момента не даёт особого преимущества,т.к. восстановление импорта -- это обычно самая лёгкая часть в снятии протектора(SafeDisc в пример) и не занимает так много времени по сравнению с остальными механизмами. ----- the Power of Reversing team |
|
Создано: 17 октября 2006 20:42 · Личное сообщение · #3 DillerInc он не про это спрашивал, он имел ввиду вообще импорт не восстанавливать. Sturgeon вполне реально, писал как это сделать в PECompact http://www.exelab.ru/art/?action=view&id=325 Тоже делал и для FSG и для WinUpack только для них я вообще в конце уже дамп правил, прогу писал по быстрому в 50 строчек... ----- Yann Tiersen best and do not fuck |
|
Создано: 17 октября 2006 21:21 · Личное сообщение · #4 |
|
Создано: 24 октября 2006 11:41 · Поправил: Sturgeon · Личное сообщение · #5 Начитался статей. Решил попробовать самостоятельно UPX таким образом распаковать. И как обычно облом. По аналогии со статьей дошел до такого места (это в самом конце кода распаковщика): 00462AEC . 95 XCHG EAX,EBP ; kernel32.7C800000
в EBX адрес, куда записывается новый адрес импорта, в EDI указатель на имена фунуций (скорее всего), в ЕАХ адрес функции в библиотеке. А как пропатчить этот код я не додумаю никак. Как я понял из статьи, смысл в том, чтобы адрес из указателя скопировался в новое место без изменений. Но как поправить код я не соображу. |
eXeL@B —› Вопросы новичков —› Упаковщики и таблица импорта |