![]() |
eXeL@B —› Вопросы новичков —› Пытаюсь поломать програмку "посложнее" CTPro и зашёл в тупик. |
Посл.ответ | Сообщение |
|
Создано: 31 июля 2009 16:06 · Личное сообщение · #1 Всем привет. Мелкие програмки с простой защитой у меня ломать уже полусается. Вот решил совместить приятное с полезным и поломать прогу посложнее. А программа эта CTPro (какая-то диагностическая хрень) работает эта программа с адаптером. На номер которого она и завязана. Адаптер ничто иное как USB-COM с небольшим дополнением в протоколе - а именно серийным номером. Выдернул я адаптер из компа и запускаю программу. Последняя ругается, что мол нет нужного адаптера или его номер неверен. Тут оказалось всё бонально, прога проверяла список USB устрйоств и сравнивала PID/VID, отломано по адресу 0072B1FE. Теперь программа явно ругается что номер не соотвествет действительности. Сообщение выводит из подпрограммы начинающейся по адресу 0072E934 предварительно поместив в edx адрес 00729C24 - текст сообщения. Как оно вызывает это я так и не нашёл и найти не могу. Ткните носом если не сложно? А лучше на место где она проверяет валидность серийника. Могу дать свой ctp.idb (10 метров в раре). Программа написана на Delphi и сжата UPXом с "изменениями". IDA сама не поняла, что это чадо Delphi и пришлось подгружать сигнатуры. В результате разгребать код стало приятнее. Заранее огромное спасибо. Не пинайте больно, я только учусь. ![]() |
|
Создано: 31 июля 2009 16:09 · Личное сообщение · #2 |
|
Создано: 04 августа 2009 14:13 · Личное сообщение · #3 |
|
Создано: 04 августа 2009 14:43 · Поправил: Модератор · Личное сообщение · #4 глянул я мельком прогу. там часть кода выполняется только при наличии ключа: Code:
начиная с адреса 0074BE42 идут нули, поставь суда 0074BE14 бряк в OllyDbg и при наличии ключа посмотри что за код там будит. ещё один кусок ![]() Code:
а вот собственно процедура заполнения кусков кода Code:
----- [nice coder and reverser] ![]() |
|
Создано: 04 августа 2009 16:31 · Личное сообщение · #5 |
|
Создано: 04 августа 2009 16:41 · Поправил: Модератор · Личное сообщение · #6 |
|
Создано: 04 августа 2009 16:55 · Личное сообщение · #7 К сожалению у меня ключ с другим серийным номером. т.е. программа привязывается к номеру ключа. номер к которому привязана данная программа 57544203. Ключ определяется в системе как COM порт. Драйвер к нему обычный CDC протокол usbser.sys Да и по коду видно, что делают они CreateFile/WriteFile/ReadFile. смотрел я отладчиком что они там шлют - ничего вразумительного. Завтра попробую выложить диалог с тем ключом что у меня есть. Хотел спросить, как вы так быстро обошли все проверки? ![]() ![]() И что же проверяется по адресу 0072B1FE? Почему первую проверку ключа она не проходит уже тут даже с имеющимся у меня ключом? ![]() |
|
Создано: 04 августа 2009 17:05 · Поправил: Модератор · Личное сообщение · #8 Spider84 пишет: Хотел спросить, как вы так быстро обошли все проверки? да там же всё как на ладони. Spider84 пишет: И что же проверяется по адресу 0072B1FE? там махинации какие-то с устройством: Code:
Spider84 пишет: К сожалению у меня ключ с другим серийным номером. т.е. программа привязывается к номеру ключа. номер к которому привязана данная программа 57544203. несовсем понял эту фразу... там же инсталятор? или он привязан к конкретному ключу? серийник можно и подменить, после чего посмотреть, как восстановится код. ----- [nice coder and reverser] ![]() |
|
Создано: 05 августа 2009 10:30 · Поправил: Spider84 · Личное сообщение · #9 Spider84 пишет: К сожалению у меня ключ с другим серийным номером. т.е. программа привязывается к номеру ключа. номер к которому привязана данная программа 57544203. Hellspawn пишет: несовсем понял эту фразу... там же инсталятор? или он привязан к конкретному ключу? серийник можно и подменить, после чего посмотреть, как восстановится код. Инсталятор уже с привязанной программой. Вот о подмене сирийника и думаю но пока не пойму как. Как тока припру адаптьер так сразу этим займусь. Спасибо за наводки. Думаю не раньше выходных будет. ЗЫ. А где бы почитать каким образом передаются параметры в дельфёвые функи типа LStrToPChar? ![]() |
|
Создано: 05 августа 2009 12:13 · Личное сообщение · #10 |
![]() |
eXeL@B —› Вопросы новичков —› Пытаюсь поломать програмку "посложнее" CTPro и зашёл в тупик. |