Русский / Russian English / Английский

Сейчас на форуме: (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Крэки, обсуждения —› Intergraph SPLM
Посл.ответ Сообщение

Ранг: 1.7 (гость)
Статус: Участник

Создано: 2 июля 2014 00:20 · Поправил: sh6dow New!
Цитата · Личное сообщение · #1

Добрый день,вечер,ночь...
Уважаемые форумчане, есть программа для моделирования и проектирования производственных объектов, Smart3D от компании Intergraph.
Данная программа использует свой сервер лицензий SPLM (Smart Plant License Manager). Механизм, который использует программа для лицензирования, очень похож на механизм flexlm, т.е. формируется некий файл lisense.dat и он проверяется. Изучая программу под отладчиком, нашел место где происходит чтение из файла, но дальше используется огромный блок шифрования, в котором не получается разобраться. Программа использует COM технологию, из одного файла происходит вызов другого и на основании анализа в этом модуле, происходит отправка сообщения с определенным id, который читается в файле ресурса *.drx в тред основной программы. Пожалуйста, если есть специалисты понимающие в шифровании напишите в личку ... с дистрибутивом вопрос решим.

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


Ранг: 2011.4 (!!!!)
Статус: Модератор
retired

Создано: 2 июля 2014 09:20 New!
Цитата · Личное сообщение · #2

И? Либо дистрибутив и результаты своих копаний в топик, либо топик закрывается и в запросы.

Ранг: 1.7 (гость)
Статус: Участник

Создано: 2 июля 2014 19:10 · Поправил: sh6dow New!
Цитата · Личное сообщение · #3

Дистрибутив в архиве 24MB весит, потому и написал про личку.
Результаты чуть попозже оформлю. Только вернулся с работы.

Добавлено спустя 1 час 9 минут
Забыл добавить в самом начале используется файл splmGetMachineId,
который генерирует ключ на основе которого intergraph высылает лицензию.
Если засунуть сгенерированный id в splm то получаем другое сообщение из файла ресурсов.
Запускаю программу прохожу по меню до опции установить ключ.



Вбиваю любой ключ , получаю сообщение об ошибке.



Далее попытался отыскать данный текст в памяти. Не нашел! Решил посмотреть какие API используются
нашел formatMessageA,ReadFile.
Брякнулся на ReadFile, вижу что читается некий файл Lisense.dat, посмотрел откуда читается, из темпа.
Далее выяснил, что введенный ключ записывается в этот файл с параметром +а, после чего вызывается модуль pdlise.exe +a {введенный нами ключ}.



после чего вылезает сообщение. Начал искать где лежит сообщение, нашел,
лежит оно в папке с установленной программой, в файле SPLMexeMessagesv12.xml.
Посмотрел внимательно что лежит в этом файле, а там куча различных ошибок...
Задумался полез в отладчик, после продолжительной трассировки выяснил что в определенный момент времени вызывается FormatMessageA c id=(сообщение), на которое реагирует основной поток lisense. Нам это не нужно проверка происходит раньше.
Трассируя попытался найти в памяти считанное значение, наткнулся на такой блок кода:


10004DE0 |> 8B01 /MOV EAX,DWORD PTR DS:[ECX] ; Процедура чтения
10004DE2 |. BA FFFEFE7E |MOV EDX,7EFEFEFF
10004DE7 |. 03D0 |ADD EDX,EAX
10004DE9 |. 83F0 FF |XOR EAX,FFFFFFFF
10004DEC |. 33C2 |XOR EAX,EDX
10004DEE |. 83C1 04 |ADD ECX,4
10004DF1 |. A9 00010181 |TEST EAX,81010100
10004DF6 >|.^74 E8 |JE SHORT pdlice.10004DE0 ; Crypto_Start
10004DF8 |. 8B41 FC |MOV EAX,DWORD PTR DS:[ECX-4]
10004DFB |. 84C0 |TEST AL,AL
10004DFD |. 74 32 |JE SHORT pdlice.10004E31
10004DFF |. 84E4 |TEST AH,AH
10004E01 |. 74 24 |JE SHORT pdlice.10004E27
10004E03 |. A9 0000FF00 |TEST EAX,0FF0000
10004E08 |. 74 13 |JE SHORT pdlice.10004E1D
10004E0A |. A9 000000FF |TEST EAX,FF000000
10004E0F |. 74 02 |JE SHORT pdlice.10004E13
10004E11 |.^EB CD \JMP SHORT pdlice.10004DE0 ;
10004E13 |> 8D41 FF LEA EAX,DWORD PTR DS:[ECX-1] ; Обрезка полученной строки
10004E16 |. 8B4C24 04 MOV ECX,DWORD PTR SS:[ESP+4]
10004E1A |. 2BC1 SUB EAX,ECX
10004E1C |. C3 RETN

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

100080FA |> 0FB65E 01 |/MOVZX EBX,BYTE PTR DS:[ESI+1]
100080FE |. 46 ||INC ESI
100080FF |. 833D BC200110 >||CMP DWORD PTR DS:[100120BC],1
10008106 |. 7E 0F ||JLE SHORT pdlice.10008117
10008108 |. 0FB6C3 ||MOVZX EAX,BL
1000810B |. 6A 04 ||PUSH 4
1000810D |. 50 ||PUSH EAX
1000810E |. E8 DCF4FFFF ||CALL pdlice.100075EF
10008113 |. 59 ||POP ECX
10008114 |. 59 ||POP ECX
10008115 |. EB 0F ||JMP SHORT pdlice.10008126
10008117 |> 8B0D B01E0110 ||MOV ECX,DWORD PTR DS:[10011EB0] ; pdlice.10011EBA
1000811D |. 0FB6C3 ||MOVZX EAX,BL
10008120 |. 8A0441 ||MOV AL,BYTE PTR DS:[ECX+EAX*2]
10008123 |. 83E0 04 ||AND EAX,4
10008126 |> 85C0 ||TEST EAX,EAX
10008128 |. 74 12 ||JE SHORT pdlice.1000813C
1000812A |. 8B45 F4 ||MOV EAX,DWORD PTR SS:[EBP-C]
1000812D |. FF45 E0 ||INC DWORD PTR SS:[EBP-20]
10008130 |. 8D0480 ||LEA EAX,DWORD PTR DS:[EAX+EAX*4]
10008133 |. 8D4443 D0 ||LEA EAX,DWORD PTR DS:[EBX+EAX*2-30]
10008137 |. 8945 F4 ||MOV DWORD PTR SS:[EBP-C],EAX
1000813A |. EB 65 ||JMP SHORT pdlice.100081A1
1000813C |> 83FB 4E ||CMP EBX,4E
1000813F |. 7F 3E ||JG SHORT pdlice.1000817F
10008141 |. 74 5E ||JE SHORT pdlice.100081A1
10008143 |. 83FB 2A ||CMP EBX,2A
10008146 |. 74 32 ||JE SHORT pdlice.1000817A
10008148 |. 83FB 46 ||CMP EBX,46
1000814B |. 74 54 ||JE SHORT pdlice.100081A1
1000814D |. 83FB 49 ||CMP EBX,49
10008150 |. 74 0A ||JE SHORT pdlice.1000815C
10008152 |. 83FB 4C ||CMP EBX,4C
10008155 |. 75 37 ||JNZ SHORT pdlice.1000818E
10008157 |. FE45 F3 ||INC BYTE PTR SS:[EBP-D]
1000815A |. EB 45 ||JMP SHORT pdlice.100081A1
1000815C |> 807E 01 36 ||CMP BYTE PTR DS:[ESI+1],36
10008160 |. 75 2C ||JNZ SHORT pdlice.1000818E
10008162 |. 807E 02 34 ||CMP BYTE PTR DS:[ESI+2],34
10008166 |. 8D46 02 ||LEA EAX,DWORD PTR DS:[ESI+2]
10008169 |. 75 23 ||JNZ SHORT pdlice.1000818E
1000816B |. FF45 D0 ||INC DWORD PTR SS:[EBP-30]
1000816E |. 8365 D8 00 ||AND DWORD PTR SS:[EBP-28],0
10008172 |. 8365 DC 00 ||AND DWORD PTR SS:[EBP-24],0
10008176 |. 8BF0 ||MOV ESI,EAX
10008178 |. EB 27 ||JMP SHORT pdlice.100081A1
1000817A |> FE45 F2 ||INC BYTE PTR SS:[EBP-E]
1000817D |. EB 22 ||JMP SHORT pdlice.100081A1
1000817F |> 83FB 68 ||CMP EBX,68
10008182 |. 74 17 ||JE SHORT pdlice.1000819B
10008184 |. 83FB 6C ||CMP EBX,6C
10008187 |. 74 0A ||JE SHORT pdlice.10008193
10008189 |. 83FB 77 ||CMP EBX,77
1000818C |. 74 08 ||JE SHORT pdlice.10008196
1000818E |> FE45 F1 ||INC BYTE PTR SS:[EBP-F]
10008191 |. EB 0E ||JMP SHORT pdlice.100081A1
10008193 |> FE45 F3 ||INC BYTE PTR SS:[EBP-D]
10008196 |> FE45 FB ||INC BYTE PTR SS:[EBP-5]
10008199 |. EB 06 ||JMP SHORT pdlice.100081A1
1000819B |> FE4D F3 ||DEC BYTE PTR SS:[EBP-D]
1000819E |. FE4D FB ||DEC BYTE PTR SS:[EBP-5]
100081A1 |> 807D F1 00 ||CMP BYTE PTR SS:[EBP-F],0
100081A5 |.^0F84 4FFFFFFF |\JE pdlice.100080FA

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

Ранг: 46.8 (посетитель)
Статус: Участник

Создано: 2 июля 2014 20:49 · Поправил: Alinator3500 New!
Цитата · Личное сообщение · #4

sh6dow
Картинки пожалуйста ужимайте, читать тему сложно.
Софт не качал, но видно что VB, используйте VB Decompiler Pro, exdec для P-code.
И лучше затирать свое имя пользователя в скринах что выкладываются в паблик.
(Дебажить лучше не на Windows 7/8 как у Вас, а на XP 32 bit)
"цикл туториалов Рикардо Нарвахи «Введение в крэкинг с помощью OllyDbg»", хорошо про VB написано.

Ранг: 1.7 (гость)
Статус: Участник

Создано: 2 июля 2014 20:53 · Поправил: sh6dow New!
Цитата · Личное сообщение · #5

Модуль lisense, написан на VB. Модуль который вызывается для проверки - pdlice не на VB.
За имя спасибо.)

Ранг: 588.9 (!)
Статус: Модератор

Создано: 2 июля 2014 20:54 New!
Цитата · Личное сообщение · #6

Насколько я помню СЛ этой конторы запротекчен аспром, под которым уже ЛМ с привязкой к донглу.
Учитывая стоимость ПО и "это не мой уровень" - в поиск специалистов.

Ранг: 1.7 (гость)
Статус: Участник

Создано: 2 июля 2014 21:09 · Поправил: sh6dow New!
Цитата · Личное сообщение · #7

Я не пытаюсь сломать клиент, который действительно много стоит. Я пытаюсь разобраться как шифрует свои сообщения SPLM, мне нужна зацепка, чтобы понять как работает блок шифрования. Я исследую данную защиту ради интереса, лицензий для данного ПО мне хватает.
Как еще повысить уровень? ломая Winrar или crackme с wasma простите...

P.S. Файлы ничем не упакованы.

Ранг: 254.2 (наставник)
Статус: Участник

Создано: 2 июля 2014 23:13 New!
Цитата · Личное сообщение · #8

sh6dow пишет:
Я исследую данную защиту ради интереса, лицензий для данного ПО мне хватает.

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

По поводу повышения уровня. Возможно со мной не согласятся, но по моему мнению повысить его можно именно количеством, а не качеством. Чем больше разных реализаций защит увидите, тем лучше будете понимать как оно все работает. По поводу приведенного вами примера, на сегодняшний день винрар закигенила только одна группа(FFF, если не ошибаюсь), все остальное - патчи разной степени кривости, так что да, можете разобрать алгоритм генерации ключа в новом винраре(хотя подозреваю, что там только константы поменяли).

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


Ранг: 95.7 (постоянный)
Статус: Участник

Создано: 2 июля 2014 23:41 · Поправил: unknownproject New!
Цитата · Личное сообщение · #9

TryAga1n пишет:
винрар закигенила только одна группа(

Был похекан сайт и слиты сорсы с него.И похекан он был через соседей.
Помню какие-то аркадки слил, тупо через скуль инжект выдернул все ключи, обосрал все продажи.Из армейки вернулся - игры стали бесплатными Это таки забавно было.

Добавлено спустя 14 минут
sh6dow пишет:
Для справки, стоимость одной лицензии равна половине стоимости квартиры в регионах не сильно удаленных от Москвы.

Зачем так явно палиться, что метод отлома необходим для того, чтобы собрать шекелей на хату ? Постеснялись бы хоть.

Ранг: 1.7 (гость)
Статус: Участник

Создано: 3 июля 2014 00:25 · Поправил: sh6dow New!
Цитата · Личное сообщение · #10

Вы серьезно думаете, что программа предназначенная для разработки крупных промышленных объектов нужна кому-то дома? И если контора занимается этим, у нее нет денег на лицензии? Это не 3ds max и не PS, поверьте... И простите, как можно срубить шекелей на левой лицензии? Вы считаете, что я ее кому-то пойду продавать? Выйду на рынок и крикну есть лицухи по дешевке..
Для справки я написал, только затем, чтобы показать, что разработкой софта занималась крупная организация и возможно там есть на что посмотреть. Но похоже, что в эти топики заходят только для набивки диалогов, ни одного совета, кроме критики.

Ранг: 254.2 (наставник)
Статус: Участник

Создано: 3 июля 2014 00:55 New!
Цитата · Личное сообщение · #11

Извиняюсь за оффтоп.

unknownproject пишет:
Был похекан сайт и слиты сорсы с него.И похекан он был через соседей.

Это домыслы или факты? Если факты, то интересно было бы про это почитать. Я думал они сбрутили ECC...

Ранг: 52.1 (постоянный)
Статус: Участник

Создано: 3 июля 2014 05:29 New!
Цитата · Личное сообщение · #12

TryAga1n
Как-то я списывался с Рошалом, он сказал, что подвели дистрибьюторы.

Ранг: 10.9 (новичок)
Статус: Участник

Создано: 3 июля 2014 15:43 · Поправил: ThugboyZ New!
Цитата · Личное сообщение · #13

Wyfinger пишет:
Как-то я списывался с Рошалом, он сказал, что подвели дистрибьюторы.

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

TryAga1n пишет:
Я думал они сбрутили ECC...

Ты замечал, чтобы на тот момент кто-нибудь сделал кейген, который валидную электронную подпись получал ? Нет.Все это произошло из-за крыс, которые слили сорсы.А то, что FFF - крысиная группа было известно давно.Такой же бич, как skidrow для игр.


Ранг: 2011.4 (!!!!)
Статус: Модератор
retired

Создано: 3 июля 2014 18:05 New!
Цитата · Личное сообщение · #14

Про винрар, конечно, интересно и всё такое. Но давайте ближе к теме.


Ранг: 462.8 (мудрец)
Статус: Участник
Only One!

Создано: 3 июля 2014 19:04 New!
Цитата · Личное сообщение · #15

Archer пишет:
Но давайте ближе к теме.


Да по теме и так все ясно.
Топикстартер "альтруист" который хочет отломать дорогущую программу "ради спортивного интереса"
Но сам не может, поэтому ищет "спортсмена" который это сделает и желательно за даром.
ИМХО топ можно закрывать. Тема "сисек" раскрыта полностью

Ранг: 1.7 (гость)
Статус: Участник

Создано: 3 июля 2014 20:59 · Поправил: sh6dow New!
Цитата · Личное сообщение · #16

"ИМХО топ можно закрывать. Тема "сисек" раскрыта полностью . "
Действительно, тема раскрыта полностью, огромное кол-во дельных советов специалистов и умельцев, которые как я думал что-то ломают...
Как результат, в моем отделе, как оказалось работает программист, который понимает в шифровании, в данном проекте используется несколько проверок на контрольную сумму... Разобрали с ним пока не до конца программу, но функция в которой происходит проверка найдена, всем помогающим огромное спасибо, ломайте дальше winrar.
p.s. Тему можно закрыть. Пускай люди отписавшие, дальше прибывают в заблуждении о всезнании.
 eXeL@B —› Крэки, обсуждения —› Intergraph SPLM
Эта тема закрыта. Ответы больше не принимаются.

Видеокурс ВЗЛОМ