6: избыточная сложность, легко обнаруживаемая глазами
Процедура проверки серийного номера/ключа ни в коем случае не должна быть запутанной или чрезмерно сложной, иначе она будет существенно отличаться от всех остальных (обычных) процедур и опытный хакер распознает ее простым "визуальным" просмотром дизассемблерного листинга программы.
Позволю процитировать себе легендарного хакера Юрия Харона: "…у меня, например, уже какой-то м-м-м овощной синдром (реплекс :) выработался - когда функция проверки "внешняя" по отношению к программе, она замечается при быстром пролистывании в ИДЕ, поскольку, выглядит "нехарактерно для кода" :)
Короче, ищем код внешне отличающийся от всего остального. Лучше всего что бы этот код что-то долго и нудно вычислял. В нормальной программе _линейных_ фрагментов такого кода практически не встречается, а вот при создании защит все "перестраховываются" и пишут "очень сложные" свертки, etc. Вот по этой "навороченности" они достаточно легко находятся просто глазами" :). Но это, разумеется, может не сработать для сильно экзотического компилятора, и тогда мы ищем где нас просят ввести код/регистрацию или предупреждают о взломанном (самый частный случай взлома). На втором месте вышеописанное. Ну, а на третьем всё остальное :)"
Комментарии, как говориться, излишне. Господа программисты, если хотите защититься, не пишите слишком "навороченных" процедур. Хакер все равно их расколет, пусть функция растянется хоть на тысячу строк, только локализовать ее будет не в пример легче.
• Все права на данный сайт пренадлежат сайту
svoy-site.narod.ru и visualbasic8.narod.ru
распространение информации содержащейся на сайте
нарушает авторские права и преследуется по
закону. http://svoy-site.narod.ru
Счетчики: