Re: Самостоятельная реализация защиты
От: Relayer http://www.strongbit.com
Дата: 14.05.06 13:43
Оценка: 14 (3)
Здравствуйте, neiroman, Вы писали:

N>Вобщем, что посоветуете, чтобы зашиты защищала(извините за каламбур) ?


можешь реализовать старую идею с разнесенными проверками. суть вот в чем — есть система линейных уравнений. скажем 30 переменных — 20 уравнений. система недоопределенная — решение не единственно. решение — есть серийник. в программу прошиваешь проверки. причем не все 20. а скажем для каждого билда рандомную выборку в 15 уравнений из 20ти. эелементарная проверка — проверка одного уравнения. разбрасываешь проверки по коду своей программы. некоторые вызываешь при определенном стечении обстоятельств. например по четным дням
крякер посмотрит где серийник проверяется. пропачит. и успокоится. а завтра оно вызовет еще одну проверку. и работать не будет
предположим что крякер найдет все проверки и сделает кейген. но в след билде мы будем использовать другую выборку из наших 20ти уравнений и кейген работать не будет.
вобщем просто и со вкусом. реализовать можно достаточно быстро.

можно еще более навернуть эту схему. пусть s1..n — это цифры серийника, a1..n — коэффициенты некоторого уравнения. вместо того чтобы проверять s1*a1+s2*a2+...+sn*an == b поступим хитрее посчитаем левую часть. возьмем от него какойто хеш. ну например тот же sha-1 или md4. и результат сравним с некоторой константой прошитой в программе. если он совпал — проверка пройдена и следовательно может выполняться некоторый код который недоступен в триальной версии. так вот в этом коде в качестве констант при обращении к апи или в качестве границ для счетчика цикла мы будем использовать b mod Ki. b нам известно заранее. константы Ki мы тоже можем рассчитать так чтобы остаток от деления нашего b на эти константы был равен тому что нам надо.
как следствие тут уже пачить jz на jmp не получится — программа будет валится. прийдется скардить как минимум один ключ и выковырять эти самые b.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.