Сейчас на форуме: asfa, bartolomeo (+7 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Возможно, самопальный упаковщик, определить тип. |
Посл.ответ | Сообщение |
|
Создано: 24 апреля 2012 00:25 · Поправил: Genco · Личное сообщение · #1 Приветствую всех!! Надеюсь, сумел разместить топик в нужном месте. У меня ламерская проблема по реверсингу, но справиться сам никак не могу, ибо не мой профиль. Дано: в некоторой шараге-институте (совсеем унылого разлива) учатся люди, программированию, безуспешно. Местный препод то ли и правда продвинутый мужик, то ли просто решил выпендриться, но суть в том, что свой учебник по основам дельфи он зашил намертво в экзешник (файл справки ZLib'ом пожал и в ресурсы подгрузил, как я понял), примеры мышкой не копируются, учебник с выдаваемого студентам CD-диска не копируется тоже. Отлично, хрен бы с ним - методичка с описанием цикла for не Бог весть какая ценность, чтобы за ней охотиться, но при чем же тут я, вы и реверсинг? При том, что в ходе объяснения примеров по delphi мне приходится открывать методичку на диске, параллельно CodeGear, логично же. И вот тут то становится ясно, что защита самопальная - codegear падает, дисковод глючит, винда сбоит, ошибки лезут, работа на моем любимом ноуте парализуется. Адъ полный, и решил я вынести чертову защиту... Почему решил что это просто? Прога-учебник написана на дельфи 6-7 (хоть и с привлечением кошерного FastMM), рядом валяется библиотека protect.dll )) По состоянию на данный момент проблему пытаюсь решить патчерством. Наличие валидного диска проверяется через GetDeviceCaps()+ещё пара функций работы с томами и устройствами, увидел использование ZLib (видимо для загрузки-выгрузки пособия), из dll-ки вызываются InstallProtection()+UninstallProtection()+что-то со словом check...))) Кароч, вкусно и здорово, но... ...но это гумно накрыто каким-то упаковщиком, потому что моя OllyDbg его (файл) в чистом виде не берет, DeDe работает криво, секции данных чужих-посторонних несколько видно, с точкой входа непонятки. Самостоятельно я смог вытащить тупо нужным софтом OEP и оверлей из файла, но ни опознать протектор (PeID молчит), ни уж тем более снять его я не в состоянии, знаний мало совсем. Кстати, отловить по-нубски вызов MessageBox'а с текстом "диск не найден" тож не вышло пока, не видать. Задача, в принципе, проста - отвязать экзешник от диска, чтобы можно было им по-человечески пользоваться. Сидеть и взламывать никого, естественно, не прошу, но если есть какой-то простой способ: а) определить-снять протектор б) разобраться с антиотладкой, если дело больше в ней (хотя плагин на ольке у меня стоит, анти-антиотладочный) в) в крайнем случае - сдампить учебник, запустив его с диска как надо. - то , пожалуйста, не сочтите за труд поведать мне. Если поковыряете файлик и будут ещё идеи, а то и (ну мечтать же не вредно) убер-способ прибить проверки без возни, я буду тем более благодарен и вспоминать вас в вечерних молитвах богам программирования. Надеюсь на отклики и ценные советы. Заранее спасибо. Не понял, как к сообщению файлы аттачить, вот лучше ссылка: ![]() |
|
Создано: 24 апреля 2012 00:40 · Личное сообщение · #2 |
|
Создано: 24 апреля 2012 00:55 · Личное сообщение · #3 Да не паковано оно ничем. Делфя из новых, типа 2006 и старше (на глаз). Подробнее IDR знает. Ну, будет время - глянем, поможем страждущим, так сказать, в силу своих возможностей. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 24 апреля 2012 02:24 · Личное сообщение · #4 В процессе работы в папку "%WinDir%\Temp" копируется оверлей под именем prot[набор_цифр].~tmp . Прога юзает DeviceIoControl с кодом $24054 (IOCTL_CDROM_READ_TOC_EX) чтобы прочитать некую инфу с диска. Также прога юзает компонент JvVigenereCipher, который видимо потом и будет на основе прочитанной информации с диска расшифровывать этот оверлей. Так что вряд ли тут кому-то что-то светит расшифровать без диска-оригинала. Попробуйте после запуска программы найти в папке Temp этот файлик с именем prot[набор_цифр].~tmp, скопировать его куда-нибудь и переименовать расширение на exe. Возможно этого вполне хватит. ![]() |
|
Создано: 24 апреля 2012 03:41 · Личное сообщение · #5 Спасибо участникам за оперативные отклики. Хм...последнее сообщение похоже на чистую правду: я попыхтел и поменял на обратные им или безусловные все переходы, которые приводили к аварийному завершению процесса и/или сообщениям об ошибке. Файл молча отработал, не открыв ни одного окна. Тогда вопросы: 1) обязательно ли на диске файл с нужной информацией присутствует как таковой или он может быть хитро там запрятан от посторонних? 2) если сохраняемый в темп оверлей может оказаться зашифрованным шифром Виженера, то раз он симметричный, может ли ключом оказаться что-то вроде "uin117783910" (строк в бинаре не так много, я же тоже могу поставить JEDI и поиграться со взломом) или это всё от лукавого? 3) А есть шанс поймать момент расшифровки/выгрузки информации или возни с дампом памяти будет столько, что проще сделать скрины заданий и больше не трогать чертов диск? ![]() |
|
Создано: 24 апреля 2012 05:31 · Поправил: spider-intruder · Личное сообщение · #6 А нельзя у препода просто попросить человеческий вариант?! П.С. Когда то попросили отвязать программу синонимизации текстов (что-то из SEO). Правая кнопка мышки не работала, выделение мышью тоже как и CTRL+С. Спасло меня Ctrl+A и Ctrl+Insert видимо автор просто забыл, что помимо CTRL+С есть еще и такая комбинация. Может вам подойдет?! ![]() |
|
Создано: 24 апреля 2012 11:21 · Личное сообщение · #7 |
|
Создано: 24 апреля 2012 13:05 · Личное сообщение · #8 |
|
Создано: 24 апреля 2012 14:46 · Поправил: MasterSoft · Личное сообщение · #9 |
|
Создано: 24 апреля 2012 14:49 · Личное сообщение · #10 |
|
Создано: 24 апреля 2012 15:58 · Личное сообщение · #11 |
![]() |
eXeL@B —› Вопросы новичков —› Возможно, самопальный упаковщик, определить тип. |