Сейчас на форуме: Magister Yoda (+5 невидимых)

 eXeL@B —› Основной форум —› Налогоплательщик 2009
Посл.ответ Сообщение

Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 03 января 2009 02:41 · Поправил: progopis
· Личное сообщение · #1

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

Из запросов на взлом:
ArchiDevil пишет:
Есть к этой программе кейген, но тот требует файл шифрования, который раньше "вырывался" из exe файла программой ReFox MII (к слову exe тогда весил порядка 12 метров). Теперь exe весит полтора метра (выложил отдельно на народ) и явно чем то запакован, но ни одна тулза не определяет всё таки чем же... По большому счёту требуется распаковать, чтобы можно было с файлом проводить те же самые операции, что и раньше. Желательно ещё бы рассказать как распаковывали (опционально).


Итак, в этой версии распакованный файл весит 11,3 мегабайта. Вообще файлы FoxPro - это EXE-шник+к нему в конце пришит код FoxPro (условно назовём его "код ВМ"). Когда прога запускается, она всего лишь вызывает код из dll (в данном случае vfp9r.dll), которая открывает файл, переводит указатель на код ВМ и начинает выполнение. Это открывает путь к декомпиляции, так как код ВМ содержит даже названия функций и переменных. Защита работает так - от исходного файла был отрезан код ВМ и сжат, добавлена секция после чего добавлен сжатый код ВМ. Точка входа (EP) переделана на код в прикрученной секции. Задача этого кода поменять параметры страниц памяти в исходном файле, а также в vfp9r.dll. Далее происходит патч адреса GetProcAddress, который запускается в исходной проге для "DllWinMain" (это и есть функция, которая запускает программу) на адрес следующего кода защиты. Далее прыжок на OEP:
Code:
  1. 4041FE                 jmp     esi

Далее код выполняется как в обычной проге на FoxPro. Разумеется до того момента, как дело доходит до пропатченного места. А это соответственно вот:
Исходный вариант:
Code:
  1. 4017FB                 mov     esi, ds:GetProcAddress

После патча:
Code:
  1. 4017FB  mov     esi, ds:off_0_404FC8

Там (0x404136) соответственно "магическая пара" pusha и popa, суть действий кода между ней - распаковка виртуальной DLL для дальнейших махинаций, патч импорта библиотеки FoxPro - CreateFileA и CloseHandle. Для чего, я думаю, вы уже поняли. После popa будет вызван GetProcAddress для "DllWinMain" и выполнение программы пойдёт своим чередом, до того момента как программа захочет получить код ВМ. А когда захочет, код уйдёт в виртуальную DLL (забавно, там даже PE заголовок не затёрт, хоть дамп бери и изучай), где будет произведена распаковка кода ВМ и его расшифровка.

Моя ошибка была в том, что я снял дамп не в том месте. Размер файла получился тот, какой и должен был. Но вот вместо кода ВМ - мусор. Я бы приложил файл сюда, но зачем он вам?

Вот... А теперь ближайший месяц (а может и два) у меня не будет времени. Сюда заходить буду, но слишком много времени РЕ уделять не могу. Информация о защите, данная мною, ИМХО достаточна для успешного взлома. Суть - выкрасть распакованный файлик до вызова CloseHandle и, возможно немного подправив, приступить к декомпиляции. Исходник кейгена могу дать. Но к сожалению он написан на VB6

P.S. Этой темой хотелось бы возродить живые обсуждения защит на креклабе, которых не видел давно (только не говорите мне, что 0day давно уже сломал эту прогу и не выкладывает на паблик, чтобы ломать прогу и в следующий раз). Защита забавная - инлайн патч напоминает.
P.P.S. Не надо брать меня на понт, что вот мол я сам не смог сломать эту защиту и решил передать всю работу кому-то ещё. Я вполне официально ушёл во фриз в своей команде, начиная с 02.01.09. Сессия, знаете ли...
P.P.P.S. Гы... Только сейчас заметил, как назвал тему - ну и фиг бы с ней.



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 03 января 2009 03:03 · Поправил: progopis
· Личное сообщение · #2

По просьбе участника форума прикладываю сорцы кейгена. Для работы к кейгену нужно приложить библиотеку msstdfmt.dll.

http://rapidshare.com/files/179193542/NP2006W_with_source.zip.html http://rapidshare.com/files/179193542/NP2006W_with_source.zip.html
Зеркало:
http://uploaded.to/?id=vb0cd0 http://uploaded.to/?id=vb0cd0

VB .NET версия:
http://rapidshare.com/files/179194260/NP2006WKeyGen.NET.rar.html http://rapidshare.com/files/179194260/NP2006WKeyGen.NET.rar.html
данный файл имеет цифровую подпись

P.S. Не нужно мне говорить что я ламер и не затёр Rich-сигнатуру или что-то ещё - тот комп, на котором собирались оба проекта ушёл в историю...



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

Создано: 04 января 2009 02:49 · Поправил: merfy
· Личное сообщение · #3

СПАСИБО !!!!
но когда я про вопрос об упаковщике обратился еще с версией 12,31 (на временном тогда еще форуме)- надо мной буквально посмеялись и сказали типа ты уверен что он запакован ...... но боюсь здесь будет немного посложнее.....

и ваще на RU-BORDE вроде не кому не отказывали с регистрацией программы , чтобы тут отдельную тему заводить !

одним словом refox branding operation III с JCAL и что легче стало .... это и так раньше предполагалась...... корсо еще не берет.....



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 04 января 2009 03:35 · Поправил: progopis
· Личное сообщение · #4

merfy
Меня интересует не сколько регистрация программы - мне по барабану на неё, я пока не плачу налоги. Меня интересует конкретно взлом. За упоминание о рубоарде спасибо, там очень много про эту прогулину писали.

В частности некий товарищ eGorZ утверждает, что это PECRYPT. У кого-нибудь может есть? Можно потестировать этот протектор на более старой версии программы, чтобы точно сказать он это или нет.

Добавлено:
Нет, это не PECRYPT. Это ReFox XI (выражаю благодарность merfy за предоставление этой версии). Вот сделал сигнатуру для PEiD. Нужно добавить в начало списка файла userdb.txt
Code:
  1. [ReFox XI 2005.02.21 -> ComPro & Xitech]
  2. signature = E8 CD 00 00 00 C3 68 EB 01 E9 8B 85 DC 00 00 00 50 8B 85 E4
  3. ep_only = true




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

Создано: 15 апреля 2009 05:28 · Поправил: St_George
· Личное сообщение · #5

merfy
На RU-BOARDE, Вы как раз и отказали даже строчку (16-ую) цифр не дали....
А ведь я у ВАС просил в личку
ВСЁ равно спасибо - разберёмся САМИ!!!



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

Создано: 15 апреля 2009 06:40 · Поправил: merfy
· Личное сообщение · #6

St_George

не каких строчек 16 -ых не нужно !!!
у нас работает keygen !!! и разве Вам отказали в регистрации программы ????
и кто с какого форума поименно извините незнаю ......
а то что над защитой бились давно сами видите из дат сообщений .....




Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

Создано: 15 апреля 2009 13:29
· Личное сообщение · #7

Можете дать ссылку на эту прогу? Очень интересно стало

//OFFTOP
St_George
Что за тон? Он ваш должник, или вы ему деньги платили за то чтобы
он дал вам эту "строчку (16-ую) цифр"? Сомневаюсь...

-----
Research For Food




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 15 апреля 2009 14:28
· Личное сообщение · #8

Гугл в помощь. А тему закрою. Нефиг тут флудить.


 eXeL@B —› Основной форум —› Налогоплательщик 2009
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати