Сейчас на форуме: vasilevradislav, Magister Yoda, site-pro (+5 невидимых) |
eXeL@B —› Крэки, обсуждения —› Intergraph SPLM |
Посл.ответ | Сообщение |
|
Создано: 02 июля 2014 00:20 · Поправил: sh6dow · Личное сообщение · #1 Добрый день,вечер,ночь... Уважаемые форумчане, есть программа для моделирования и проектирования производственных объектов, Smart3D от компании Intergraph. Данная программа использует свой сервер лицензий SPLM (Smart Plant License Manager). Механизм, который использует программа для лицензирования, очень похож на механизм flexlm, т.е. формируется некий файл lisense.dat и он проверяется. Изучая программу под отладчиком, нашел место где происходит чтение из файла, но дальше используется огромный блок шифрования, в котором не получается разобраться. Программа использует COM технологию, из одного файла происходит вызов другого и на основании анализа в этом модуле, происходит отправка сообщения с определенным id, который читается в файле ресурса *.drx в тред основной программы. Пожалуйста, если есть специалисты понимающие в шифровании напишите в личку ... с дистрибутивом вопрос решим. Добавлено спустя 15 минут Для справки, стоимость одной лицензии равна половине стоимости квартиры в регионах не сильно удаленных от Москвы. |
|
Создано: 02 июля 2014 09:20 · Личное сообщение · #2 |
|
Создано: 02 июля 2014 19:10 · Поправил: sh6dow · Личное сообщение · #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 минут Собственно, я понимаю, что это не мой уровень, но если у кого-то есть возможность провести для меня небольшую лекцию. Дать намеки, где и какую литературу мне почитать, буду очень благодарен. |
|
Создано: 02 июля 2014 20:49 · Поправил: Alinator3500 · Личное сообщение · #4 sh6dow Картинки пожалуйста ужимайте, читать тему сложно. Софт не качал, но видно что VB, используйте VB Decompiler Pro, exdec для P-code. И лучше затирать свое имя пользователя в скринах что выкладываются в паблик. (Дебажить лучше не на Windows 7/8 как у Вас, а на XP 32 bit) "цикл туториалов Рикардо Нарвахи «Введение в крэкинг с помощью OllyDbg»", хорошо про VB написано. |
|
Создано: 02 июля 2014 20:53 · Поправил: sh6dow · Личное сообщение · #5 |
|
Создано: 02 июля 2014 20:54 · Личное сообщение · #6 |
|
Создано: 02 июля 2014 21:09 · Поправил: sh6dow · Личное сообщение · #7 Я не пытаюсь сломать клиент, который действительно много стоит. Я пытаюсь разобраться как шифрует свои сообщения SPLM, мне нужна зацепка, чтобы понять как работает блок шифрования. Я исследую данную защиту ради интереса, лицензий для данного ПО мне хватает. Как еще повысить уровень? ломая Winrar или crackme с wasma простите... P.S. Файлы ничем не упакованы. |
|
Создано: 02 июля 2014 23:13 · Личное сообщение · #8 sh6dow пишет: Я исследую данную защиту ради интереса, лицензий для данного ПО мне хватает. Ради интереса ломают платные калькуляторы и всякие там свистелки с перделками, а спец софт никогда не ломается ради интереса, поэтому мне кажется, что вы обманываете. По поводу повышения уровня. Возможно со мной не согласятся, но по моему мнению повысить его можно именно количеством, а не качеством. Чем больше разных реализаций защит увидите, тем лучше будете понимать как оно все работает. По поводу приведенного вами примера, на сегодняшний день винрар закигенила только одна группа(FFF, если не ошибаюсь), все остальное - патчи разной степени кривости, так что да, можете разобрать алгоритм генерации ключа в новом винраре(хотя подозреваю, что там только константы поменяли). | Сообщение посчитали полезным: connect6, sivorog |
|
Создано: 02 июля 2014 23:41 · Поправил: unknownproject · Личное сообщение · #9 TryAga1n пишет: винрар закигенила только одна группа( Был похекан сайт и слиты сорсы с него.И похекан он был через соседей. Помню какие-то аркадки слил, тупо через скуль инжект выдернул все ключи, обосрал все продажи.Из армейки вернулся - игры стали бесплатными Это таки забавно было. Добавлено спустя 14 минут sh6dow пишет: Для справки, стоимость одной лицензии равна половине стоимости квартиры в регионах не сильно удаленных от Москвы. Зачем так явно палиться, что метод отлома необходим для того, чтобы собрать шекелей на хату ? Постеснялись бы хоть. ----- TEST YOUR MIGHT |
|
Создано: 03 июля 2014 00:25 · Поправил: sh6dow · Личное сообщение · #10 Вы серьезно думаете, что программа предназначенная для разработки крупных промышленных объектов нужна кому-то дома? И если контора занимается этим, у нее нет денег на лицензии? Это не 3ds max и не PS, поверьте... И простите, как можно срубить шекелей на левой лицензии? Вы считаете, что я ее кому-то пойду продавать? Выйду на рынок и крикну есть лицухи по дешевке.. Для справки я написал, только затем, чтобы показать, что разработкой софта занималась крупная организация и возможно там есть на что посмотреть. Но похоже, что в эти топики заходят только для набивки диалогов, ни одного совета, кроме критики. |
|
Создано: 03 июля 2014 00:55 · Личное сообщение · #11 |
|
Создано: 03 июля 2014 05:29 · Личное сообщение · #12 |
|
Создано: 03 июля 2014 15:43 · Поправил: ThugboyZ · Личное сообщение · #13 Wyfinger пишет: Как-то я списывался с Рошалом, он сказал, что подвели дистрибьюторы. У дистрибьютеров сырков не было.Сайт винрара не содержал в себе уязвимостей, так что слитие сорсов было единственно возможным, вксрыв соседние сайты на хостинге или порутав сервак как задача максимум. TryAga1n пишет: Я думал они сбрутили ECC... Ты замечал, чтобы на тот момент кто-нибудь сделал кейген, который валидную электронную подпись получал ? Нет.Все это произошло из-за крыс, которые слили сорсы.А то, что FFF - крысиная группа было известно давно.Такой же бич, как skidrow для игр. |
|
Создано: 03 июля 2014 18:05 · Личное сообщение · #14 |
|
Создано: 03 июля 2014 19:04 · Личное сообщение · #15 Archer пишет: Но давайте ближе к теме. Да по теме и так все ясно. Топикстартер "альтруист" который хочет отломать дорогущую программу "ради спортивного интереса" Но сам не может, поэтому ищет "спортсмена" который это сделает и желательно за даром. ИМХО топ можно закрывать. Тема "сисек" раскрыта полностью ----- aLL rIGHTS rEVERSED! |
|
Создано: 03 июля 2014 20:59 · Поправил: sh6dow · Личное сообщение · #16 "ИМХО топ можно закрывать. Тема "сисек" раскрыта полностью . " Действительно, тема раскрыта полностью, огромное кол-во дельных советов специалистов и умельцев, которые как я думал что-то ломают... Как результат, в моем отделе, как оказалось работает программист, который понимает в шифровании, в данном проекте используется несколько проверок на контрольную сумму... Разобрали с ним пока не до конца программу, но функция в которой происходит проверка найдена, всем помогающим огромное спасибо, ломайте дальше winrar. p.s. Тему можно закрыть. Пускай люди отписавшие, дальше прибывают в заблуждении о всезнании. |
eXeL@B —› Крэки, обсуждения —› Intergraph SPLM |
Эта тема закрыта. Ответы больше не принимаются. |