Другое > Hard'n'Soft
Распаковка .EXE, разбор ресурсов
(1/1)
pedro:
Вообщем мне необходимо перевести (кое где подправить) один .exe файл, раньше мне для этих целей вполне хватало ResHacker"а. Но в эту прогу он влезть не может :(
Чем же его править?
закрепляю файл, надеюсь на помощь))
Silver_Shadow:
Пробуй Restorator, здесь инфа http://soft.softodrom.ru/ap/Restorator-p234
Добавлено позже:
ну еще вроде это
EZ_Extract
Poxititel
правда этими 2-мя я не пользовался
pedro:
--- Цитата ---Пробуй Restorator
EZ_Extract
--- Конец цитаты ---
эффект тот же :(
Poxititel так и не нашел(
aptyp:
есть ещё вот такие программы:
Resource Hacker http://portablebox.net/2009/04/resource-hacker-v340.html
Heaventools Resource Tuner http://www.heaventools.com/
pedro:
aptyp,первая не катит (писал в первом посте :) )
вторую сейчас попробую)
Добавлено позже:
Heaventools Resource Tuner - ого. с него видны ресурсы, и походу конфигурации окон :) но блин, непонятно :) слишком крутая прога для меня)
aptyp:
разбирайся по тихоньку раз крутая программа :)
paul_met:
А что конкретно подправить то надо? Если стандартные проги по распаковке ресурсов не помогают,то юзай хекс редактор...
PS:С японского перевести нужно чтоль?
pedro:
--- Цитата ---PS:С японского перевести нужно чтоль?
--- Конец цитаты ---
ну да) и кое какие менюшки скрыть)
--- Цитата ---юзай хекс редактор...
--- Конец цитаты ---
Надеюсь что когда нибудь научусь hex"у :)
HardWareMan:
Ну вы пипец... Кто же лезет Ресторатором в запакованную прогу?? Неужели никто не догадался посмотреть на предмет криптования/запаковки???
Le@N:
Касперским можно распознать, хотя не всегда. А upx - довольно распространенный упаковщик..
pedro:
Le@N, то есть реально прогу распаковать и переделать?
Le@N:
По идее да, только распакуй для начала.
pedro:
жесть, перепробовал кучу анпакеров и нефига :(
aL1eN:
pedro
upx попробуй
pedro:
aL1eN,пробовал. не распаковывает :)
Silver_Shadow:
Может помощь по распаковке upx поможет?
стырнуто с одного форума
--- Цитата ---Здравствуйте, мои дорогие а-чатовцы. С вами снова я, после долгого отсутствия, вернулся на любимый форум. Я надеюсь, вы ещё меня не зыбыли =), и не сбросили меня со счетов. Просто по некоторым техничиским причинам, я не мог выйти в сеть.
Инструменты
------------
• PE Tools 1.5 :[ 1.5 - это версия которой пользуюсь я, так как она меня не подводила ]
• ImpREC 1.6 :[ 1.6 - это версия которой пользуюсь я, так как она меня не подводила ]
• OllyDebuger 1.10 :[ Желательно иметь плагины: CommandBar v3.0 & OllyDump 2.21 ]
• Target aka жертва :[ будем ковырять сапёра для XP, сжатого UPX с ключом: --best ]
Настройки
---------
Итак, для того чтобы что-нить распаковать, прежде всего необходимо настроить свой PE Tools и ImpREC, так и делаем. Сверте настройки с моими (помеченные галочками настройки будут обозначаться как: - [•]):
[PE Tools]
+--------------------------------------------+
|
| [•] Restore Last Directory on startup
| [•] Restore Last Main Window Position
| [•] Create Backup Copy
| [•] Section Table: Autofix SizeOfImage
| [•] Optional Header: Autofix CheckSum
| [•] Optional Header: Autofix SizeOfHeaders
| [•] Full Dump: Paste Header From Disk
| [•] Full Dump: Fix Header
| [•] Delete Temp Files
| [•] Wipe Relocation
| [•] Validate PE
| [•] Rebuild PE
| [•] Bind Imports
|
+-------------------------+------------------+
|P.S - Остальное вырубайте|
+-------------------------+
[ ImpREC ]
+--------------------------------------------+
|
| [•] Fix EP To OEP
| [•] Enable Debug Privelege (NT/2K/XP)
| [•] Use PE Header From Disk
|
+---------------------------------+----------+
|P.S - Остальное оставить как было|
+---------------------------------+
Распаковка
----------
Итак, с настройками определились, и самое время начать распаковывать прогу, в данном случае уже заранее запакованного вами Сапёра. Что? Вы ещё это не сделали? Ладно, делаем вместе:
upx.exe --best winmine.exe
Фух, сделали? Ну тогда продолжим:
Суём в Olly наш запакованный бинарник, на табличке с предупреждениями жмём OK! Перед нами должен быть примерно такой код:
Код:
01021C20 > $ 60 PUSHAD : <- Эта строка называется EntryPoint
01021C21 . BE 00100101 MOV ESI,winmine.01011000
01021C26 . 8DBE 0000FFFF LEA EDI,DWORD PTR DS:[ESI+FFFF0000]
01021C2C . 57 PUSH EDI
01021C2D . 83CD FF OR EBP,FFFFFFFF
01021C30 . EB 10 JMP SHORT winmine.01021C42
Что же мы видим? Типичное начало для UPX'ов! Теперь, жмём Ctrl+F и вводим "popad". Жмём Enter! Вывалиаемся тут:
Код:
01021D6E > 61 POPAD
01021D6F .-E9 AD20FEFF JMP winmine.01003E21 : <- Эта строка перехода на OriginalEntryPoint
01021D74 00 DB 00 : Она то нам и нужна...
01021D75 00 DB 00
Итак, мы стоим на 01021D6E! Жмём F2, чтобы поставить бряк на это место, потом жмём F9, чтобы запустить прогу. Она остановиться на 01021D6E. Жмём 2 раза F8, и попадаем на такое:
Код:
01003E21 6A 70 PUSH 70
01003E23 68 90130001 PUSH winmine.01001390
01003E28 E8 DF010000 CALL winmine.0100400C
01003E2D 33DB XOR EBX,EBX
01003E2F 53 PUSH EBX
01003E30 8B3D 8C100001 MOV EDI,DWORD PTR DS:[100108C] : kernel32.GetModuleHandleA
01003E36 FFD7 CALL EDI
01003E38 66:8138 4D5A CMP WORD PTR DS:[EAX],5A4D
01003E3D 75 1F JNZ SHORT winmine.01003E5E
Вот это и есть точка входа в распакованную программу. Стандартное начало программ написанных на VC++. В это время отладчик находиться в состоянии "Paused", стоит прямо на OEP, да и кстати прога уже распаковалась в памяти! Самое время сделать дамп!
Не закрывая отладчика, запускаем PE Tools, находим процесс нашей проги (НЕ ОТЛАДЧИКА!!!), на ней ПКМ->Dump full...
Сохраняем дамп проги в удобное место, и закрываем PE Tools.
Заметьте, что отладчик у нас остаётся загружен, то есть мы его не закрываем!!!
Запускаем ImpREC, выбираем процесс нашего Сапёра и ... А теперь внимательней:
В ImpREC'e есть такая фишка, IAT Autosearch! Найдите три поля: OEP, RVA и Size, а рядом кнопочка будет "IAT Autosearch". Нам нужно в поле OEP вписать OEP, но без ImageBase. То есть:
OEP у нас равен: 01003E21
ImageBase равен: 01000000
Делаем:
OEP-ImageBase=[значение которое нужно вписать в поле OEP], то есть мы из OEP вычитаем ImageBase и получаем 3E21. Вот это число вы должны вписать в поле для OEP. Вписали? Жмём "IAT Autosearch", нам должны сказать что:
Found Adresses wich may be in the original IAT
Теперь жмите GetImports, теперь Fix Dump и выбираем наж дамп, который мы получили при помощи PE Tools. При этом в окне лога ImpREC'a должно появится следующее:
C:\Documents and Settings\Администратор\Рабочий стол\Unpacking\Dumped_.exe saved successfully.
Вот и всё теперь файл Dumped_.exe можно отлаживать как нормальную прогу. Поздравляю! Вы распаковали UPX!
В следующей статье вы будете распаковывать ASPack!
До скорых встречь!
[c] KindEcstasy
--- Конец цитаты ---
pedro:
ужос! до сих пор ничего не смог сделать :wall:
Всё, забил я на это дело)
Навигация
Перейти к полной версии