![]() |
eXeL@B —› Вопросы новичков —› Ручная распаковка программ, запакованных UPX |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 06 июля 2007 09:47 · Личное сообщение · #1 Доброе время суток всем продвинутым, средним и начинающим крекерам моего любимого форума и сайта! Прочитал две статьи по ручной распаковке программ, запакованных UPX. 1 статья автора Bit-hack "Распаковка? Это легко!!!" 2 статья автора FEUERRADER "Ручная распаковка UPX версий ниже 1.20" Принцип распаковки в обоих статьях почти один и тот же. Только FEUERRADER советует после нахождения OEP перед снятием дампа зациклить прогу в отладчике SoftICE Вопрос: 1. Зачем нужно зацикливать прогу перед тем как снять дамп в LordPE? 2. Каким образом можно зациклить прогу используя отладчик OllyDbg? Спасибо за раннее всем крекерам, кто ответил на мой вопрос! С большим уважением morg ![]() |
|
Создано: 12 июля 2007 15:53 · Личное сообщение · #2 |
|
Создано: 12 июля 2007 16:19 · Личное сообщение · #3 И так господа крекеры приступим к ручной распаковке проги от UPX! 1. Наша цель: cracme7.exe 2. Где взял: с диска CD "Штурман хакера" (купил в магазине) 3. Загружаем исследуемую прогу в PEiD, видим: UPX 0.89.6-1.02/1.05-1.24 (Delphi) stub->Markus & Laszlo 4. Загружаем исследуемую прогу в PROTECTION ID видим: .=[ProtectionID v5.2]=.[c]Cdkiller&[x/xxx] Build 01-11-2006... >Ready Scanning->D:\cracme7.exe File Type: Exe, Size:264704[040A00h]Bytes [!] UPX [unknown/modified]! - Scan Took:0.870 Seconds Вывод: видим что никаким Scrambler' ом тут и не пахнет, значит будем прогу распаковывать по статье Bit-h@ck "Распаковка? Это легко!!!" 5. Запускаем crackme7.exe в Оле. После подгрузки DLL библиотек Оля спаршивает: проанализировать файл или нет. Жмем No Мы стоим на Ер: 00480760 60 PUSHAD 6. Пролистаем асамблерный листинг вниз и найдем команду: popad 00480943 61 POPAD 00480944 E9 1764FDFF JMP 00456D60 <- ЭТО ПЕРЕХОД НА ОЕР 00480949 0000 ADD BYTE PTR DS:[EAX], AL Записываем на бумажку адрес: 00456D60 7. Нажимаем правую крысу, далее Go to-> Expression в появившемся окне набираем: 00456D60 и нажимаем ОК. Мы стоим на ОЕР: 00456D60 3D 028BF328 CMP EAX, 28F38B02 теперь можно и дамп снять. 8. Делаем Plugins->OllyDump->Dump debugged process Согласно предложенному совету крекера Hellspawn убираем галочку с Rebuild Import, т.к. восстанавливать таблицу импорта будем в ImpREC 9. Далее нажимаем Dump и в появившемся окне сохраняем наш дапм под именем: Dumped Смотрим и видим, что рядом с crackme7.exe появился наш дамп: Dumped 10. Выходим из Оли. Запускаем наш нераспакованный файл cracme7.exe 11. Открываем ImpREC. Заходим в настройки Options и ставим галочку рядом с надписью Fix Ep to OEP. 12. Выбираем в верхнем окне наш запущенный crackme7.exe и нажимаем на него левой крысой. 13 Вычисляем RVA OEP= 00456D60- 00400000=56D60 14. Полученный 56D60 вписываем в соответствующее поле ОЕР и жмем IAT Auto Search 15. Выдается окно с надписью " Скорее всего таблица импорта найдена, нажмите Get Import" Нажимаем Get Import 16. В окошке повыше появились импортируемые адреса. Жмем Show Invalid и видим, что неопознанных функций нет, т.е. таблица импорта воостановилась полностью!!! 17. Нажимаем Fix Dump, в появившемся окне - открыть - выбирем наш файл Dumped и жмем открыть. 18. Видим что рядом с нераспакованной прогой cracme7.exe, нашим дампом, который мы делали в Ольке появляется наш распакованный файл Dumped_.exe Ура мы сломали UPX!!! 19. Запускаем наш распакованный файл Dumped_.exe, а там сука - ОБЛОМ Появляется окно: Dumped_.exe - обнаружена ошибка. Приложение будет закрыто. Приносим извенения за неудобства. И закрывается эта сука только в Оле, пока я не нажму - Отладка Вот тебе и долбанный UPX?! Господа крекеры какую ошибку я совершил при ручной рапаковке проги cracme7.exe от UPX? Что не так я сделал? Может не надо было бы мне выходить из Ольки после снятия дампа, для того чтобы зайти в ImpREC и восстановить таблицу импорта? Так про это наш продвинутый крекер Bit-h@ck в своей статье ни слова не говорит! А я извините только начинающий крекер - по моему статьи пишутся именно для них!, зачем это статья нужна среднему и продвинутому крекеру - он и так все это знает! Или я не прав в своих рассуждениях? Я благодарю всех крекеров моего любимого форума, кто пирнимал участие в решении моей проблемы!!! Удачи Вам всем!!! ![]() |
|
Создано: 12 июля 2007 16:36 · Поправил: Sturgeon · Личное сообщение · #4 |
|
Создано: 12 июля 2007 16:42 · Поправил: 3ton · Личное сообщение · #5 |
|
Создано: 12 июля 2007 20:10 · Личное сообщение · #6 |
|
Создано: 12 июля 2007 21:02 · Поправил: RSI · Личное сообщение · #7 morg Ты меня поражаешь! тебе 2 ролика сняли люди - а ты все опять за свое, за статью и др... morg пишет: 5. Запускаем crackme7.exe в Оле. После подгрузки DLL библиотек Оля спаршивает: проанализировать файл или нет. Жмем No Мы стоим на Ер: 00480760 60 PUSHAD 6. Пролистаем асамблерный листинг вниз и найдем команду: popad 00480943 61 POPAD 00480944 E9 1764FDFF JMP 00456D60 <- ЭТО ПЕРЕХОД НА ОЕР 00480949 0000 ADD BYTE PTR DS:[EAX], AL Да вот теперь стоя на адресе 00480944 жми F2 - это значит поставить брейкпоинт, и жми F9 чтобы программа запустилась и распаковалась. После этого сратаботает твой бряк, опять жмешь F2, чтобы его снять и потом F8 чтобы выполнить команду. Вот после этого это будет OEP распакованнай программы. А дальше делай как по твоему плану З.Ы. Я уже на знаю как тебе по-другому обьяснить ![]() ![]() |
|
Создано: 13 июля 2007 00:25 · Личное сообщение · #8 RSI пишет: Я уже на знаю как тебе по-другому обьяснит чем больше смотрю на топик, тем больше понимаю, что объяснения должны быть: 1) upx -d 2) Quick Unpack 3) RL!dePacker 4) PEiD Generic Unpacker + ещё много и много распаковщиков заточенных конкретно под upx... ----- Я ещё не волшебник, я только учусь... ![]() |
|
Создано: 13 июля 2007 00:38 · Личное сообщение · #9 [EXE]_cutor пишет: нех%№ флудить А ну да-да, сорри за флуд в топике ниачем… или ты со мной не согласен? Если бы вы сразу предложили топикстартеру выпить йаду, думаю он поюзал бы поиск и через минут десять уже умел бы распаковывать не только UPX… [EXE]_cutor пишет: У каждого свое понятие об удобстве. А ну, в таком случае мы являемся простыми юзверями крЭк-тулуз, и тупо повторяем все то что написано в статьях… мдя…… Сталобыть я увидел истЕну! © ----- ЗЫ: истЕна где-то рядом, Welcome@Google.com ![]() |
|
Создано: 13 июля 2007 02:46 · Личное сообщение · #10 |
|
Создано: 14 июля 2007 20:04 · Личное сообщение · #11 Все-таки общение на форуме очень полезная вещь! Не все нюансы можно понять, когда читаешь статью, а вот общение на форуме - совсем другое! Господа крекеры прошу извинить меня, если что то не правильно спросил у Вас или не правильно задал вопрос. Вы ведь тоже когда-то начинали заниматься этим замечательным исскуством и не все сразу было Вам понятно, так же как и в моей ситуации. Прежде чем закрыть эту тему хотел бы получить ответ: 1. Почему чтобы попасть на ОЕР, обязательно необходимо поставить бряк? Почему нельзя так: Go to->Expression - записываем ОЕР [00465D60] нажимаем ОК и останавливаемся на адресе: 00465D60 3D 028BF328 CMP EAX, 28F38B02 Почему стоя в Оле на этом адресе не снять бы дамп? 2. После снятия дампа для того чтобы восстановить таблицу импорта как сделать правильно: 1. Не выходя из Оли (стоим на ОЕР) открыть ImpREC и восстановить таблицу 2. Закрыть прогу в отладчике, выйти из него, запустить нераспакованный ехе.файл, открыть ImpREC и восстановить таблицу Благодарю всех крекеров, кто принял участие отвечая на мою заданную тему! Желаю всем Вам удачи! ![]() |
|
Создано: 14 июля 2007 20:37 · Личное сообщение · #12 morg пишет: Почему стоя в Оле на этом адресе не снять бы дамп? Принцип работы всех упаковщиков состоит в том, что на жестком диске лежит сжатая программа (что-то типа архива). Когда ты запускаешь программу, то код упаковщика распаковывает в память программу, которая и будет уже выполнятся в памяти. На примере с УПХом цикл распаковки начинается с команды POPAD и заканчивается командой PUSHAD, поэтому после выполнения последней команды распаковки в памяти лежит уже распакованная программа, с которой и снимаем дамп. Команда Go to->Expression просто переходит на указанный адрес. Программа при этом не запускается и не выполняется. Соответственно, никакой распаковки тоже не происходит. И как выше уже писал 3ton ты снимал дамп с нераспакованной проги. А по поводу импорта это без разницы как его снимать. ![]() |
|
Создано: 14 июля 2007 20:40 · Личное сообщение · #13 |
|
Создано: 14 июля 2007 23:12 · Личное сообщение · #14 |
<< . 1 . 2 . |
![]() |
eXeL@B —› Вопросы новичков —› Ручная распаковка программ, запакованных UPX |
Эта тема закрыта. Ответы больше не принимаются. |