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

 eXeL@B —› Вопросы новичков —› Cтатья MozgC "Распаковка..."
. 1 . 2 . >>
Посл.ответ Сообщение

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

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

У кого-нибудь есть файлы к статье "Распаковка: от самого простого к чуть более сложному", которую
MozgC написал. А именно:
1) Калькулятор упакованный UPX'ом (30 Кб)
2) Блокнот упакованный ASPack'ом (33 Кб)
3) PCMedik упакованный PECompact'ом (839 Кб)
4) CrackMe зашифрованный ExeStealth'ом (369 Кб)
Если есть, выложите пожалуйста...



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

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

Все эти упаковщики ты можешь на cracklab скачать, и сам упаковать. Или можно взять какие-нибудь другие проги ими упакованные принцип то один и тот же.



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

Создано: 18 января 2007 04:22
· Личное сообщение · #3

http://exelab.ru/download.php?action=list&n=NDA=
Качай и пакуй.



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

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

Спасибо. Попробую...



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

Создано: 21 января 2007 09:48 · Поправил: alfa-x team
· Личное сообщение · #5

также учусь распаковывать и заметил такую особенность:
Распакованный вручную файл гораздо больше незапакованного оригинала

С чем это связано? И можно теоретически сделать файл 1 в 1 с оригиналом?




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

Создано: 21 января 2007 09:59
· Личное сообщение · #6

alfa-x team пишет:
Распакованный вручную файл гораздо больше незапакованного оригинала

Ну да. В распакованном остается секция распаковщика, его данные и всякий мусор. Для уменьшения размера секцию пакера-прота его отрезают от РЕшника.

alfa-x team пишет:
И можно теоретически сделать файл 1 в 1 с оригиналом?

Теоретически - у некоторых пакеров можно, практически - смысла делать один в один нет.




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 21 января 2007 11:00
· Личное сообщение · #7

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

-----
Уважайте других и пишите грамотно.




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

Создано: 21 января 2007 12:10
· Личное сообщение · #8

Спасибо
а вот в процессе распаковки возник еще вопрос
В статье "Распаковка: от самого простого к чуть более сложному", MozgC'а автор показывает пример с ручным восстановлением таблицы импорта. Показывает он на пример софт-айса и для "того, чтобы узнать адрес функции GetModuleHandleA в софтайсе наберем команду "exp GetModuleHandleA" и в ответ увидим "

001B:77E79F93 GetModuleHandleA

Как подобное провернуть в OllyDbg ?

Я попробывал найти блок данных, начинающихся на 7Схххххх, 77хххххх перед которыми стоят нули.
Один раз сработало, в другой раз нет. Как все же правильно восстанавливать таблицу импорта?




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 21 января 2007 13:15 · Поправил: Executioner
· Личное сообщение · #9

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

0362_21.01.2007_CRACKLAB.rU.tgz - GPA.rar

-----
Уважайте других и пишите грамотно.




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

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

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

Другая проблемка вылезла, при попытке запуска дамповоной программы и прикрученном импортом выскакивает "Ошибка приложения" с текстом: "Ошибка при инициализации приложения (0xc0000005). для выхода из приложения нажмите кнопку ОК"

Где я мог ошибиться?




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

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

alfa-x team пишет:
Где я мог ошибиться?


походу косяк с импортом

-----
[nice coder and reverser]





Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

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

в поле "Lib name" надо вводить имя библиотеки, а в "Proc name" - имя функции, адрес которой тебе надо узнать

-----
Уважайте других и пишите грамотно.





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

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

ептить, в командной строке пишешь "? GetModuleHandleA" и смотришь адрес....

-----
Yann Tiersen best and do not fuck




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

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

Киньте пожалуйста ссылку на что-нибудь запакованое PE compact'oм 1.х (желательно старенькую версию PCMedik)




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

Создано: 22 января 2007 09:39
· Личное сообщение · #15

[poly] glot
Стыдно, товарищ, не знать:
www.tuts4you.com/blogs/download.php?120.list.52.20.download_name.ASC

Мог бы и сам пакер скачать и паковать им все что захочется.



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

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

PE_Kill пишет:
ептить, в командной строке пишешь "? GetModuleHandleA" и смотришь адрес....

ептить, оказывается все гениальное - просто
Спасибо, буду знать, значит нашел правильные адреса

Сразу посыпались вопросы:
- Возможно в распакованном ручками ехе не будут работать какие то функции, которые работали до распаковки, вследствии неправильного дампа и/или коррекции таблицы импорта (но программа при этом запускается) ? Или если сдампованная программа запускается - то она уже 100 % рабочая?
- может таблица импорта хранить в нескольких частях? в нескольких местах файла? или она всегда храниться единым целым?
- всегда ли адреса функций начинаются на 7С, 77 или они могут начинаться на любые адреса? Или на какие то определенные?




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

Создано: 22 января 2007 10:12
· Личное сообщение · #17

alfa-x team пишет:
- может таблица импорта хранить в нескольких частях? в нескольких местах файла? или она всегда храниться единым целым?


в основном да, иногда разделена кусками мусора...

alfa-x team пишет:
- то она уже 100 % рабочая?


99% т.к. могут остаться проверки на распакованность

alfa-x team пишет:
- всегда ли адреса функций начинаются на 7С, 77 или они могут начинаться на любые адреса? Или на какие то определенные?


адресса функций зависят от адреса загрузки dll, это если я понял вопрос...

-----
[nice coder and reverser]





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

Создано: 22 января 2007 10:17
· Личное сообщение · #18

alfa-x team пишет:
Или если сдампованная программа запускается - то она уже 100 % рабочая?

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

alfa-x team пишет:
- может таблица импорта хранить в нескольких частях? в нескольких местах файла? или она всегда храниться единым целым?

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

alfa-x team пишет:
- всегда ли адреса функций начинаются на 7С, 77 или они могут начинаться на любые адреса? Или на какие то определенные?

Это просто адреса функций в библиотеке в контексте данного процесса, в другом аналогичном процессе адреса могу быть другими.
А начала на 7с и 77 - просто системные библиотеки kernel, ntdll грузятся по статичным адресам (точнее они тоже могу грузиться по другим, но т.к. они подгружаются сразу после создания процесса, им никто не запретит грузиться по своим "родным" адресам), а остальные - куда бог пошлет.



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

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

А где я могу скачать пакер PE compcact 1.x? Я уже весь вечер яндекс юзаю, а толку нет




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

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

[poly] glot пишет:
А где я могу скачать пакер PE compcact 1.x? Я уже весь вечер яндекс юзаю, а толку нет


exetools.com/compressors.htm

-----
[nice coder and reverser]




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

Создано: 23 января 2007 08:31
· Личное сообщение · #21

Спасибо за ссылку Hellspawn, кстати с днём рождения



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

Создано: 23 января 2007 10:27
· Личное сообщение · #22

Я запаковал PE Compact'oм 1.84 прогу, нашёл переход на ОЕР, перед переходом на ОЕР меняю команду на jmp на самого себя (зацикливаю), нажимаю ПКМ -> Copy to executable -> selection чтобы сохранить
изменения, а Оля мне выдаёт Error: "Unable to locate data in executable file". Это мне где-то настройки поменять надо (В Оле или в Пакере) или ещё чё-нибудь?




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

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

[poly] glot пишет:
Unable to locate data in executable file

Глюк сохранялки Оли. Выделять нужно секцию кода - от самого начала до конца ненулевых байт.

А вообще тебе такое сохранение для пакованных прог не поможет - оля сама изменит только секцию кода, оставив все остальное нетронутым (+ не восстановит импорт).
Надо дампить с пом. PeTools либо с пом. соответствующих плагинов для оли, а потом воосстанавливать импорт.
Патч хорош, когда нужно изменить что-то в секции кода в непакованной программе - тогда олька позволяет это действительно легко сделать.




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

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

и еще... чем хороша олька, так это тем, что зацикливать прогу перед снятием дампа не надо) можно просто остановиться на OEP и снимать дамп.

-----
Уважайте других и пишите грамотно.




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

Создано: 23 января 2007 11:45
· Личное сообщение · #25

HoBleen пишет:
Выделять нужно секцию кода

Я во вложенном файле запаковал сапёра, изменяю байты по адресу 0105854F на jmp 0105854F. Чтобы сохранить это изменение, что именно надо выделить (с какого по какой адрес)?

HoBleen пишет:
оля сама изменит только секцию кода, оставив все остальное нетронутым (+ не восстановит импорт).

А зачем мне восстанавливать импорт во время зацикливания? Я ведь только зацикливаю в Оле, а дамп снимаю с помощью LordPE как в статье у MozgC'a...

Executioner пишет:
Можно просто остановиться на ОЕР и снимать дамп

Останавливаться надо строго на ОЕР или перед переходом на ОЕР?
А то, что отладчик перед каждой следующей командой ставит int 3, это не затрёт ничего в проге, если остановиться на ОЕР? Или Оля по какому-то другому принципу работает, а не через int 3?



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

Создано: 23 января 2007 12:10
· Личное сообщение · #26

Блин, чё-то вложенный файл (сапёр, запакованый PE Compact'oм 1.76) с которым у меня и возникла загвоздка по поводу сохранения в Оле не отправляется (Не, я пробовал разные проги запаковывать PE Compact'oм 1.76 и со всеми такая проблема, просто "сапёр" - ну для конкретного примера ). Завтра приложу...



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

Создано: 23 января 2007 20:58
· Личное сообщение · #27

Вот Сапёр из винды ХР, я его упаковал PE Compact 1.76 для тренировки ручной распаковки. Подскажите пожалуйста, как в Оле после изменения нескольких байт по адресу 0105854F на jmp 0105854F их сохранить. Я жму ПКМ -> Copy to executable -> selection чтобы сохранить изменения, а Оля мне выдаёт Error: "Unable to locate data in executable file"

703c_23.01.2007_CRACKLAB.rU.tgz - winmine.exe



Ранг: 30.5 (посетитель), 5thx
Активность: 0.010
Статус: Участник

Создано: 24 января 2007 02:43
· Личное сообщение · #28

Бывает такое. Я записываю файл под новым именем



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

Создано: 24 января 2007 07:00
· Личное сообщение · #29

Блин, чё за отстой. Когда пытаюсь править своё сообщение всякий раз вылезает "Защита от спама: в течение 4 секунд вы можете отправить не более одного сообщения!". Чё за нах?




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

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

[poly] glot пишет:
Я во вложенном файле запаковал сапёра, изменяю байты по адресу 0105854F на jmp 0105854F. Чтобы сохранить это изменение, что именно надо выделить (с какого по какой адрес)?

С начала секции кода до начала нулей.

[poly] glot пишет:
А зачем мне восстанавливать импорт во время зацикливания?

Я имел ввиду, что сохраненный ехе будет рабочим, если перед этим он не был запакован. А в противном случае у тебя получится каша из байт - этот патчинг не подходит при распаковке.


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


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