Как спрятать библиотечные функции защиты от IDA.
От: marmysh  
Дата: 22.03.09 14:11
Оценка:
Добрый день, господа.
Разрабатываю приложение, которое в настоящий момент защищается при помощи USB ключей. Для работы с ключом используются набор документированных C функций, и библиотека (lib файл), которые поставляются производителем ключей. Передо мной была поставлена задача проверить надежность защиты.
Я создал файл сигнатур функций библиотек и, воспользовавшись IDA, обнаружил все библиотечные функции и места их вызова. После чего удалось активировать часть функций приложения без ключа. Процесс переписывания простейших библиотечных функций защиты приводит к желаемому результату – IDA не находит их вызовы и их код. Тем самым, взлом усложняется, однако переписывание защиты полностью не приемлемо.

Подскажите, пожалуйста, как лучше всего спрятать функции защиты от IDA и других дизассемблеров. Пробовал найти обфускатор для obj/lib файла, а не исходного кода, но ничего не нашел. Если они существуют – поделитесь ссылками.
Re: Как спрятать библиотечные функции защиты от IDA.
От: PolyTech Россия https://vmpsoft.com
Дата: 22.03.09 19:03
Оценка:
Здравствуйте, marmysh, Вы писали:

M>Подскажите, пожалуйста, как лучше всего спрятать функции защиты от IDA и других дизассемблеров.


Зависит от того что вы хотите получить в результате — если только изменить сигнатуры, то будет достаточно метаморфа. Если защитить — то виртуализация.

M>Пробовал найти обфускатор для obj/lib файла, а не исходного кода, но ничего не нашел. Если они существуют – поделитесь ссылками.


Для obj/lib ИМХО ничего не найдете. Смотрите в сторону протекторов, работающих с готовыми EXE/DLL etc.
Re: Как спрятать библиотечные функции защиты от IDA.
От: pva  
Дата: 22.03.09 20:25
Оценка:
Здравствуйте, marmysh.

M>Разрабатываю приложение, которое в настоящий момент защищается при помощи USB ключей. Для работы с ключом используются набор документированных C функций, и библиотека (lib файл), которые поставляются производителем ключей. Передо мной была поставлена задача проверить надежность защиты.

M>Я создал файл сигнатур функций библиотек и, воспользовавшись IDA, обнаружил все библиотечные функции и места их вызова. После чего удалось активировать часть функций приложения без ключа.
В большинстве случаев это значи что интеграция защиты спроектирована и реализована криво.

M>Подскажите, пожалуйста, как лучше всего спрятать функции защиты от IDA и других дизассемблеров. Пробовал найти обфускатор для obj/lib файла, а не исходного кода, но ничего не нашел. Если они существуют – поделитесь ссылками.

Как уже выше сказали, для lib/obj ничего нет. Обфусцируй готовый билд VMProtect'ом, например.

Кстати, а что это за защита при помощи USB ключей? Может и обфусцировать будет бестолку, если это какой-нибудь хасп или гвардант, например.
newbie
Re[2]: Как спрятать библиотечные функции защиты от IDA.
От: marmysh  
Дата: 24.03.09 07:11
Оценка:
Здравствуйте, PolyTech, Вы писали:

PT>Здравствуйте, marmysh, Вы писали:

M>>Подскажите, пожалуйста, как лучше всего спрятать функции защиты от IDA и других дизассемблеров.
PT>Зависит от того что вы хотите получить в результате — если только изменить сигнатуры, то будет достаточно метаморфа. Если защитить — то виртуализация.

M>>Пробовал найти обфускатор для obj/lib файла, а не исходного кода, но ничего не нашел. Если они существуют – поделитесь ссылками.


PT>Для obj/lib ИМХО ничего не найдете. Смотрите в сторону протекторов, работающих с готовыми EXE/DLL etc.


Большое спасибо, за ответ и ссылку. Главное чего хотелось бы, это что бы инструкцию по взлому нельзя было бы скачать из интернета, а в данный момент это возможно . Количество продаж продукта очень ограничено, и даже если кто-нибудь из пользователей взломает продукт, то взломанная версия скорее всего не появится в интернете. То есть покупателем придется ломать продукт по отдельности.
Re[2]: Как спрятать библиотечные функции защиты от IDA.
От: marmysh  
Дата: 24.03.09 07:20
Оценка:
Здравствуйте, pva, Вы писали:

pva>Здравствуйте, marmysh.


M>>Разрабатываю приложение, которое в настоящий момент защищается при помощи USB ключей. Для работы с ключом используются набор документированных C функций, и библиотека (lib файл), которые поставляются производителем ключей. Передо мной была поставлена задача проверить надежность защиты.

M>>Я создал файл сигнатур функций библиотек и, воспользовавшись IDA, обнаружил все библиотечные функции и места их вызова. После чего удалось активировать часть функций приложения без ключа.
pva>В большинстве случаев это значи что интеграция защиты спроектирована и реализована криво.
Полностью с Вами согласен. Просто имею то, что осталось от предыдущих коллег, а сам защитой никогда не занимался и на лучшее пока не способен

M>>Подскажите, пожалуйста, как лучше всего спрятать функции защиты от IDA и других дизассемблеров. Пробовал найти обфускатор для obj/lib файла, а не исходного кода, но ничего не нашел. Если они существуют – поделитесь ссылками.

pva>Как уже выше сказали, для lib/obj ничего нет. Обфусцируй готовый билд VMProtect'ом, например.
Большое спасибо за ссылку.

pva>Кстати, а что это за защита при помощи USB ключей? Может и обфусцировать будет бестолку, если это какой-нибудь хасп или гвардант, например.

В данный момент используются ключи Sentinel . На самом деле может быть обфускация и не сильно поможет. Но из найденных мною инструкций по взлому обфускация спасла бы хотя бы от простейшего способа.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.