![]() |
лечение программы под .net
Здравствуйте.
Решил тут на днях тряхнуть стариной, и зарегать на себя небольшую программку. http://botva.onlinebots.net/ Программка триальная, на 80 запусков, и раз в 2 часа завершает работу. Метод защиты - серийный номер, который генерится по аппаратному номеру привязанному к машине. Вобщем то ничего сложного. Покопавшись в отладчике убедил программу что введённая мной белиберда это и есть серийный номер :). Но возникла вторая проблема. Теперь программа ломится на сайт разработчика http://botva.onlinebots.net/checkregistrationcode.php и скидывает ему через post 2 параметра, ключ и email (в программе который вводится) Прошу помощи. Подскажите на какую api функцию повешать бряк, чтобы он сработал в момент передачи/получения ответа. Нашёл в памяти адрес строки с адресом (извините за тафталогию), пробовал бряк на чтение с памяти, но он не срабатывает (впрочем он у меня почему то никогда не срабатывал) Сама программа написанна на c#. Строки с адресом в экзешнике нет, скорее всего она как то кодирована. (чтобы тупо подменить адрес на свой). В дисшарпе нашол интересную функцию Скорее всего она и есть искомая весч, но ничего в ней не могу найти, за что зацепиться отладчиком. Может кто нибудь подскажет как справляться с такими защитами? Код:
private string Method2_5(bool p1, bool p2, bool p3) |
А что за отладчик?
|
syser.
А какая разница? Раньше SoftIce юзил, в нём тоже бряки на память не срабатывали. |
httpWebRequest - ставь в etc/host 127.0.0.1 botva.onlinebots.net , код по всей видимости после обфускации(хотя это не сильно то и важно), ну или man IL со всеми вытекающими.
|
ws2_32.send
ws2_32.recv сисером по netу это конечно сильно) |
Цитата:
|
Эммм, а чем .net лечат?
:) я просто других инструментов не знаю. Попробовал дисшарп и рефлектор, они выдают кучу функций без названий, ну и + я в c# не сильно шарю. А как обычно .net лечат (на данном примере можно порядок действий, какие проги юзать и что ими делать)? А про подмену через hosts я в первую очередь подумал. Просто тут надо будет абсолютному валенку объяснить как ставить веб сервер. Брр... я лучше доломаю получше, мне на работе куриц в бухгалтерии хватает. |
lis84
ну да, рефлектором надо. любой деобфускатор заюзать что бы в читаемый вид переименовал все функции. потом тут все строки зашифрованы, если их расшифровать то всё будет как на ладони). рипнуть функцию которая их расшифровывает не проблемма, но вручную каждую строку смотреть запара хотя я нашол таки место проверки серйника. надо теперь проитись по всем функциям и заменить вызов расшивровщика на саму строку.) ------ открываеш в рефлекторе, F3 и щеш строки и константы "-2048782763" он найдёт одну функцию а вней Код:
if ((this. || this. ) && (this.(this. , this..Text) != .(-2048733781)))вот декодер строк http://www.sendspace.com/file/lswugk вставлять цифры без минуса. и должен лежать в папке с ботвой. |
Блин, а я что то даже не подумал что строки зашифрованны автором. Думал это фишка .net
Даже кажется знаю какая функция шифрует, когда в коде рылся постоянно на вязов её натыкался там где строки должны были быть. :) спасибо, щас ещё покопаюсь. Вот ещё вопросик. Я первый раз сталкиваюсь с .net после того как я найду в рефлекторе нужную функцию, как её фиксить то? Рефлектор даёт сишный код, который по моему стойкому подозрению потом не компильнётся. Чтобы в бинарнике что то править в рефлекторе никаких зацепок :(. ПыСы. Программа после декомпиляции как и ожидалось не компилится :( Программа декодировщик строк не запускается |
Чтобы править код нужен плагин Reflexil.
Как его использовать можно тут почитать http://www.cumps.be/reverse-engineering-with-reflector-and-reflexil/ |
| Время: 16:01 |