![]() |
eXeL@B —› Вопросы новичков —› Помогите разобраться с защитой :: UPX, Markus & Laszlo [Overlay] и ещё много-много страшных слов |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 23 мая 2009 14:50 · Поправил: EST2000 · Личное сообщение · #1 Доброго вам времени суток, уважаемые! Программа генерирует COFF файл для Proteus. (Тем кто не знает - это из области электроники) Ограничения: максимум генерация файла в два кб. Смотрим: PEID: UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo [Overlay] - Снимаем... UPX -d сотрудничать отказался (закриптован/модифицирован) Ручная распаковка, QUnpack, PEiD Generic Unpacker дают одинаковый результат - дамп запускается. Смотрим дальше: PEID: Borland Delphi 6.0 - 7.0 Olly упорно твердит, что OEP вне кода, анализ кода тоже помощи не дает. Криптор ? Смотрим Strings - такому письму позавидуют даже китайцы. Смотрим саму программу - вроде бы всё в порядке, за исключением нескольких мелочей. Во первых программа запускается без автоматического выбора вкладки (не работает OnFormActivate ?), несколько строк - буквы мешаются с русскими (прога на англ.), вобщем - что-то с ресурсами. PE Explorer - в принципе всё в порядке, видим компонент IceLicense с защитой от отладки, монитора и криптованием кода. Ну и ещё заметил: секция ресурсов вроде как отдельно и существует, но фактически ресурсы начинаются в предыдущей секции. От Res.Binder тоже толку мало, всё остается по старому. А вот теперь, то, чего я никак не могу понять, не спрашивайте как я на это вышел, не помню. Открываем файл в WinHex, допишем 1 нулевой байт в конец файла, смотрим: строчки которые шли в перемешку с русскими буквами оправились, но не все. Допишем ещё 1 байт: все строчки читабельны, за исключением всё того-же выбора первой вкладки при запуске программы. PEiD уже показывает Borland Delphi 6.0 - 7.0 [Overlay]. Некоторые строчки уже появляются в Olly, но всё равно недостаточно для работы. Дописываем ещё 1 байт, и сразу же всё приходит в такойже искореженный вид как и сразу после распаковки. Объясните мне, новичку, почему так происходит, кто в этом виноват и как это убрать. Чувствуется, что "истина где-то рядом" но что-то не пойму куда копать, ICELicense по идее не так и страшен как его малюют, и кажется что здесь ещё что-то сидит. Хотя я могу и очень ошибаться. Тема не есть запрос на кряк, интересно понять и убрать защиту с вашей помощью. Прога + 2 образца для теста (из компл. и второй более 2 кб) rapidshare.com/files/236296481/CM4.32.rar.html ![]() |
|
Создано: 27 мая 2009 12:51 · Поправил: Valemox · Личное сообщение · #2 |
|
Создано: 27 мая 2009 17:58 · Поправил: SVLab · Личное сообщение · #3 Третий вызов функции, возвращающей размер программы, находится в 4b3d21. Но результат там используется по-другому. Чуть ниже по 4b3d60 вызывается функа, в которой заносится в стек адрес переходника на ReadFile, ну а там и до проверки (возможной) CRC недалеко или еще какой-нибудь пакости. Вот только как заставить прогу выполить этот код? Не, обшибся, здесь проверка COFF уже. ![]() |
|
Создано: 27 мая 2009 21:34 · Личное сообщение · #4 EST2000 пишет: Может быть там и проверка CRC есть ? кто какой способ пробует первым для определение таких проверок ? Если проверка в памяти то я ставлю breakpoint Hardware, on access на код который может проверяца. Если проверка самого фаила, то надо ловить CreateFile и смотреть все дальнейшие манипуляции. ----- zzz ![]() |
|
Создано: 27 мая 2009 21:50 · Личное сообщение · #5 |
<< . 1 . 2 . |
![]() |
eXeL@B —› Вопросы новичков —› Помогите разобраться с защитой :: UPX, Markus & Laszlo [Overlay] и ещё много-много страшных слов |