Нашол классный обусфактор, смысл простой - разбивает преобразует в коде все операции к единому или-не базису и пересоздаёт код в этот базис с и-не разрядность 32 бита + сдвиги + загрузки и сохранения и переходы и вызовы, всего 17 команд. И самое главное оптимизирует все операции глобально и перемешивает. Велликолепная каша, и код стал не 32кбайт а 5 мегабайт несжатый, сжатый 400кбайт. И самое главное - глобальная булевая оптимизация не обратима, т.к. например a*a+a*b+a*c+ .... a*z+b*a+b*b+b*c+... z*z очень хорошо оптимизируется. И нагрузка на проц незаметно увеличивается. (Дурон 700Мгц)
Анализаторы этот код не взяли, IDA зависла пытаясь отрисовать гигантское количество ветвлений, дизасм выдал ошибку что количество меток более 65536 не поддерживается. Софтайс и оледебаг код показал но там очень мало всего понятного.
Осталось оформить в приятный и удобный для пользования класс усб ключа, и доразобраться с обусфактором чтоб он без косяков импортировал другой код и не извращал его а защищал только мой.
Боюн писал(а):А чем плохи уже существующие программы для шифрования использующие usb ключи?
тем что на них уже существуют противомеры. Особенно на популярные типа гварианов. Полным полно форумов на которых за денежки взломают всем известные усб ключи.
Правильно, все известные и хорошо проработанные ключи пытаються взломать с разныи успехом.
Сырой и никому не известный вариант тоже будут ломать, но сделать это проще, т.к
вариант не прошол ещё краш тест на хакерах.
Для защиты программ советую обратить внимание на http://www.hid-key.ru.
Аппаратный USB ключ защиты программ.
Очень интересный подход с открытым кодом модуля защиты и не менее интересна цена.
Можно тупо слить прошивку с контроллера и наклонировать своих ключей, полностью легальных.
Или поковыряться в этой прошивке, восстановить алгоритм и написать эмулятор.
tom1101 писал(а):Можно тупо слить прошивку с контроллера и наклонировать своих ключей, полностью легальных.
Или поковыряться в этой прошивке, восстановить алгоритм и написать эмулятор.
Согласен. "Тупо" можно все сделать... И "тупо" не ломать защиту - а написать программу самому..