Сейчас на форуме: asfa, bartolomeo (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Возможно, самопальный упаковщик, определить тип.
Посл.ответ Сообщение

Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 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'а с текстом "диск не найден" тож не вышло пока, не видать.

Задача, в принципе, проста - отвязать экзешник от диска, чтобы можно было им по-человечески пользоваться. Сидеть и взламывать никого, естественно, не прошу, но если есть какой-то простой способ:
а) определить-снять протектор
б) разобраться с антиотладкой, если дело больше в ней (хотя плагин на ольке у меня стоит, анти-антиотладочный)
в) в крайнем случае - сдампить учебник, запустив его с диска как надо.
- то , пожалуйста, не сочтите за труд поведать мне. Если поковыряете файлик и будут ещё идеи, а то и (ну мечтать же не вредно) убер-способ прибить проверки без возни, я буду тем более благодарен и вспоминать вас в вечерних молитвах богам программирования.

Надеюсь на отклики и ценные советы. Заранее спасибо.
Сабж прикрепляю.

Не понял, как к сообщению файлы аттачить, вот лучше ссылка:
--> Долбаная методичка<--



Ранг: 81.6 (постоянный), 102thx
Активность: 0.060.02
Статус: Участник

Создано: 24 апреля 2012 00:40
· Личное сообщение · #2

>> Кстати, отловить по-нубски вызов MessageBox'а с текстом "диск не найден" тож не вышло пока, не видать.

Не оно?
http://s2.ipicture.ru/uploads/20120424/pGtdPqjQ.png




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 24 апреля 2012 00:55
· Личное сообщение · #3

Да не паковано оно ничем. Делфя из новых, типа 2006 и старше (на глаз). Подробнее IDR знает. Ну, будет время - глянем, поможем страждущим, так сказать, в силу своих возможностей.

-----
Stuck to the plan, always think that we would stand up, never ran.


| Сообщение посчитали полезным: Genco

Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.04
Статус: Участник

Создано: 24 апреля 2012 02:24
· Личное сообщение · #4

В процессе работы в папку "%WinDir%\Temp" копируется оверлей под именем prot[набор_цифр].~tmp .
Прога юзает DeviceIoControl с кодом $24054 (IOCTL_CDROM_READ_TOC_EX) чтобы прочитать некую инфу с диска. Также прога юзает компонент JvVigenereCipher, который видимо потом и будет на основе прочитанной информации с диска расшифровывать этот оверлей.

Так что вряд ли тут кому-то что-то светит расшифровать без диска-оригинала. Попробуйте после запуска программы найти в папке Temp этот файлик с именем prot[набор_цифр].~tmp, скопировать его куда-нибудь и переименовать расширение на exe. Возможно этого вполне хватит.

| Сообщение посчитали полезным: Genco

Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 24 апреля 2012 03:41
· Личное сообщение · #5

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

Тогда вопросы:
1) обязательно ли на диске файл с нужной информацией присутствует как таковой или он может быть хитро там запрятан от посторонних?
2) если сохраняемый в темп оверлей может оказаться зашифрованным шифром Виженера, то раз он симметричный, может ли ключом оказаться что-то вроде "uin117783910" (строк в бинаре не так много, я же тоже могу поставить JEDI и поиграться со взломом) или это всё от лукавого?
3) А есть шанс поймать момент расшифровки/выгрузки информации или возни с дампом памяти будет столько, что проще сделать скрины заданий и больше не трогать чертов диск?



Ранг: 5.4 (гость), 2thx
Активность: 0=0
Статус: Участник

Создано: 24 апреля 2012 05:31 · Поправил: spider-intruder
· Личное сообщение · #6

А нельзя у препода просто попросить человеческий вариант?!

П.С. Когда то попросили отвязать программу синонимизации текстов (что-то из SEO). Правая кнопка мышки не работала, выделение мышью тоже как и CTRL+С. Спасло меня Ctrl+A и Ctrl+Insert видимо автор просто забыл, что помимо CTRL+С есть еще и такая комбинация. Может вам подойдет?!



Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.04
Статус: Участник

Создано: 24 апреля 2012 11:21
· Личное сообщение · #7

Genco
Так что там с файлом из папки Temp ? Удалось его вытащить во время работы программы или нет?




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 24 апреля 2012 13:05
· Личное сообщение · #8

Genco
1. Сделайте образ диска алкоголем и киньте сюда.
2. Если без образа, то попробуем на досуге с бубном потанцевать.

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 281.8 (наставник), 272thx
Активность: 0.250.01
Статус: Участник
Destroyer of protectors

Создано: 24 апреля 2012 14:46 · Поправил: MasterSoft
· Личное сообщение · #9

Genco
плять, чо тут обсуждать, вставьте оригинальный диск и потом бряку на CreateProcess - как брякнетесь - можете вытаскивать файло из темп.



Ранг: 31.0 (посетитель), 70thx
Активность: 0.140
Статус: Участник

Создано: 24 апреля 2012 14:49
· Личное сообщение · #10

http://forum.xakep.ru/m_2651537/tm.htm

| Сообщение посчитали полезным: Genco

Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 24 апреля 2012 15:58
· Личное сообщение · #11

Всем большое спасибо за участие!!

Всё же странно, что у меня Olly вставать на бряк упорно не хотела, даже по F7-F8 не пошла, надо покурить матчасть чтоли...

Решение проблемы по ссылке от последнего участника. Шифрование сохраняемого файла оказалось вовсе не страшным))


 eXeL@B —› Вопросы новичков —› Возможно, самопальный упаковщик, определить тип.
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати