Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 28 января!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

АРХИВ ФОРУМА eXeL@B
https://exelab.ru/f/

   

Perch Вопрос к FEUERRADER’у FEUERRADER привет!


Perch Вопрос к FEUERRADER’у FEUERRADER привет!
Во-первых спасибо тебе за хорошую тулзу, я имею ввиду QUnpack v0.4 final.
И в связи с этим вопрос, вот к примеру линк на прогу - http://aolej.com/mosaic
обычный UPX ее не берет, UPX-Ripper тоже, твоя распаковывает без проблем...
Вот и вопрос - как обратно теперь ее упаковать...
XoraX :: aspack должен упаковать без проблем

Styx :: Или пробуй upx-ом c ключом -force

AlexZ CRaCker :: (Оффтоп.)
jmp OEP
секций- 4
IAT атопоиск - фуфло. (Хотя при обычном УПХ - рулит)
Что за УПХ то такой? (непохожий на стандарт)

FEUERRADER :: Perch
Похоже проскрэмблена эта прога тулзой-скрэмблером, вот и все дела.
А QUnapck не смотрит на секции и импорт, а ставит бряк на ОЕР, снимает дамп и прикручивает импорт.
Обратно: upx --force proga.exe

AlexZ CRaCker
Возможно, ручной скрэмблинг файла (когда еще дополнительно «защищен руками»).

WELL :: Perch
А лучше сделай инлайн патч

Perch :: Ребята, спасибо Вам за отклик, но вы сами попробовали, что написали...
Я вообщето не первый день пользуюсь UPX’ом...про опцию --force и так хорошо знаю,
она хорошо рулит после распаковки AsPack’а и AsProtect’а, в данном случае нет...
AsPack пакует но после него прога не запускается...пробовал переименовывать секции
безрезультатно...:(
Может еще есть мысли...

Kerghan :: in-line патч рулит
для upx’а за две минуты пишется

WELL :: Perch пишет:
цитата:
но вы сами попробовали, что написали...


Тебе же сказали - инлайн-патч ! Почитай статьи.
И тут погляди http://cracklab.fastbb.ru...87-000-0-0-0-1082360275-0

Aster!x :: А чё вручную UPX распаковывать уже разучились?

WELL :: Aster!x пишет:
цитата:
А чё вручную UPX распаковывать уже разучились?


Я после DOSPrn только вручную и распаковываю

Perch :: Aster!x, дружище.
В данном примере файл распаковывается вручную абсолютно без проблем...:)
Но я ставил обратный вопрос - как его после распаковки упаковать обратно?...
Вобщем, изменив имена секций и изменив флаги секций, файл обратно
упаковывается UPX’ом, и работает нормально, но даже при максимальной
компрессии размер файла в 2 раза больше оригинального файла...

WELL.
Тебе особое спасибо за твое внимание и ссылки которые ты привел.
Да, inline патч рульная штука...Но в связи с ним, к тебе возникает второй вопрос -
Если ты смотрел в упакованном оригинале секции, то в какое место мне прописать
свой код?...прыжок на реальный OEP проги записан по адресу 0063A198.

WELL :: Perch
Я прогу не качал. А что там нету места для записи патча? По идее начиная с адреса 0063A1AB должны быть нули - вот туда и писать?
Или у тебя что-то по другому? Тогда напиши подробней.

Aster!x :: Perch

Странно.. Хотел было глянуть твой файл, но уж очень большой для меня.

AlexZ CRaCker :: Perch пишет:
цитата:
но даже при максимальной
компрессии размер файла в 2 раза больше оригинального файла...


Я паковал UPX 1.24 :
-8 -no-backup -overlay=copy -compress-exports=1 -compress-icons=2 -strip-relocs=1
и получилось как в исходном, ну + кб так 50-80. Да и всё работало нормально...

WELL :: AlexZ CRaCker
У тебя есть этот файл?

Perch :: AlexZ CRaCker.
Все те же опции, но размер больше...

WELL.
Я выше в посте ошибся с адресом не 0063A198 ( это для Deductus ) правильный
для Mosaic creator 005C5198.
У него на сайте все проги упакованы таким макаром.

Runtime_err0r :: Патч: _http://www.zone.ee/Runtime_err0r/mc.exe

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

MC707 :: Runtime_err0r пишет:
цитата:
mc.exe


Нехорошо мой ник использовать...

WELL :: Perch пишет:
цитата:
правильный для Mosaic creator 005C5198


Начиная с 005C51AB (или пониже) должны быть нули (add [eax],al).
Исправляешь джамп по адресу 005C5198 на джамп на адрес 005C51AB, пишешь патч и делаешь джамп на OEP.
Например было так:
005C5197 popad
005C5198 jmp OEP
Меняешь на:
005C5197 popad
005C5198 jmp 005C51AB
......................................
005C51AB mov b,[000410000],075 //записать по адресу 410000 байт 75
005C51B2 jmp OEP

Посмотри пример тут http://uinc.ru/articles/07/index.shtml

WELL :: MC707
Я сегодня BMW видел с номером M707MC. Сразу форум вспомнил

MC707 :: WELL
Ужжас какой. Всюду плагиат....

AlexZ CRaCker :: WELL пишет:
цитата:
У тебя есть этот файл?


Который? Запакованый что-ль?

Runtime_err0r :: Perch

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


Ну так пропатчи и сравни с оригиналом

WELL :: AlexZ CRaCker пишет:
цитата:
Который? Запакованый что-ль?


Ну от проги этой mosaic

Bad_guy :: Интересный вопрос тут поднят. Главное прога запакована старым UPX 0.72 - у меня та самая версия была - не распаковала, но где-то читал, что с той версией УПХа вообще какой-то маразм происходит, так что скрэмбилг - врял ли - сам УПХ постарался. Потом после ручной распаковки ещё можно две последние секции отрезать, поменять baseofcode на 1000h, а вот упаковать у меня лично пока не получилось - при работе запакованной программы что-то со стеком происходит... Вот так прикольно УПХ искарёжил обычный Дельфовский файл...

Perch :: WELL, еще раз тебе спасибо за твои ссылки, но мне надо было не что и как патчить, это не сложно, а куда вставить свой код…
Ну ладно, пора подводить итоги данному топику.
WELL, возможно тебе и кому нибудь будет интересно что я сделал с прогой в конечном счете, поэтому максимально сжато, опустив процедуру исследования, расскажу следующее. Сразу оговорюсь, я не пользовался патчем, любезно предоставленным Runtime_err0r, поэтому не знаю что он делает, но не исключаю, что конечный результат может быть одинаков…
Итак поехали…своей задачей я ставил не реверсинг реального кода который генерит прога при регистрации…, а заставить прогу принимать любой код и регаться. Основная процедура проверки регкода лежит по адресу 0052B214. Запускаем прогу, открываем регформу и вводим любое имя и любой код, попадаем в вышеуказанную процедуру, потрейсив доходим до вызова функции call 00403E08, за ней условный переход, притормозим, ниже в кодах видно 2 момента, в ячейку [ebp-08] может грузиться либо 1, либо 2, забегая вперед скажу, если загрузится 1, то мы потом получим поздравления с регистрацией Lite Version, если загрузится 2, то получим позравления с регистрацией Professional Version…но так как мы ввели регкод от балды не произойдет ни одного и не другого – будем прыгать по условным переходам и в конечном итоге получим плохое окно регистрации. Поэтому там где притормозили, первый условный переход либо нопим, либо меняем на безусловный-короткий на адрес 0052B2A5, чтобы в ячеку [ebp-08] выполнилась запись 2, далее получим поздравление с регистрацией Professional Version, в About’е соответственно появится ваше имя и тип версии, и вместе с этим произойдет запись в реестр имени и кода. Точно также эта процедура вызывается при запуске проги, и смотрит есть что в реестре, если нет, дальше идет запуск по не зарегистрированному пути, если есть то доходим до пропатченного участка, но там все путем уже…
Осталось прописать в прогу свой код, место?…WELL, нету в проге места для записи кода ниже адреса прыжка к реальному OEP…, но зато оно есть выше этого адреса – в конце второй секции, именуемой UPX1…Берем любой свободный адрес, к примеру 005C4500, и вколачиваем следующий код:
mov w, [0052B277], 0C2Eb - я делаю прыжок на адрес 0052B2A5, для записи 2.
mov edi, 005323B8
jmp edi - прыжок на реальный OEP
и по адресу 005С5198 меняем jmp на адресс 005C4500
Все. Можно вводить любое имя и любой код. Длина полей в регформе по 40 символов, не советую делать имя больше 15-16 символов, не поместиться в About’е…:), ну а код хоть на всю катушку. Если захочется поиграть с разными именами и кодами, то просто удаляйте ключик реестра - [HKEY_CURRENT_USER\SOFTWARE\Olej\MosaicCreator], запускайте прогу и вводите новые.
Ну вот и все, сорри что занял много места с постом, на этом данный топик можно закрывать.

P.S. Надеюсь в следующий раз мне больше повезет с упаковкой...;)

WELL :: Perch пишет:
цитата:
но мне надо было не что и как патчить, это не сложно, а куда вставить свой код…


Так я тебе и говорил про код. По большому счету главное найти неиспользуемое место, куда и можно вставлять код.
Perch пишет:
цитата:
mov edi, 005323B8
jmp edi - прыжок на реальный OEP


Можно было просто jmp 005323B8.
Главное, что в итоге все получилось

AlexZ CRaCker :: WELL
Не, файл тот я случайно запортил(секцию резанул без бэккапа). Пробовал всё заново переделать(раз 25)... - и уже запаковать нормально не получилось... Блин, как-же там всё работало? сам непойму. Вот я потому и запостил, чтобы он UPX вместо Аспака брал. Всё работало! Ну ладно, будет мне урок бэкапов побольше делать.

Aster!x :: Ребята, вы меня удивляете, место для патча есть всегда.
Ну даже если кто-то постарался и обстругал файл(например как калькулятор от XP ;-),
то всегда можно добавить новую секцию или расширить существующую.

Bad_guy :: А вот помню Алекс тот который -= =- инлайн патч к моему крякмису прописал прямо в заголовок PE, там где обычно строка «This program must run only under Win32». Учитесь ! Чего новые секции то лепить ?!

В общем, я всё таки ради интереса добил эту прогу, чтоб она упаковывалась - взял ресурс ребилдер от Головы, урезал две последние секции УПХ, прилипил ресурсы и тогда аспак упаковал и всё работало (и работает), правда размер проги стал 750 кб.

CReg [TSRh] :: Bad_guy пишет:
цитата:
А вот помню Алекс тот который -= =- инлайн патч к моему крякмису прописал прямо в заголовок PE, там где обычно строка «This program must run only under Win32». Учитесь !


Хехе :) А я думал, что так все делают :)

-= ALEX =- :: CReg [TSRh] возможно, я просто наверное тогда бэд гая удивил :)

Perch :: -= ALEX =-.
А все же интересно, как ты в инлайн патче делаешь прыжок в заголовок файла?

Bad_guy :: -= ALEX =- пишет:
цитата:
просто наверное тогда бэд гая удивил


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

Bad_guy :: Perch
Надеюсь Алекс на меня не обидется, если я отвечу:
imagebase - это начало файла в памяти (400000h обычно) - вот и прыгай на него исходя из этого, хоть на сами «MZ» прыгай.

-= ALEX =- :: Bad_guy че мне обижаться ? даже и не думал... еще могу добавить что прыгать надо на 400040...

Perch :: Bad_guy.-= ALEX =-.
Спасибочки. :)

Aster!x :: Писать патч в хидер нехорошо ;-)
На это могут всяческие Касперы и ДрВэбы ругаться :-)

.::D.e.M.o.N.i.X::. :: Aster!x пишет:
цитата:
Писать патч в хидер нехорошо ;-)
На это могут всяческие Касперы и ДрВэбы ругаться :-)


Да они на много чего ругаются (даже на то что очень безобидно если запустить, но не ковыряться ручками), особенно Касперский. Видимо женщины очень «болезнено» относятся к инородным программам:)

WELL :: Др.Вэб версии 4.30 ругался на 1С’ку. Причем лицензонную.






   
Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS