К сожалению читаю форум нерегулярно, поэтому прошу заранее прощения, если тема уже всплывала — просто поиск сейчас не работает, а тему надо изучить срочно.
Собственно, в чем вопрос — можно ли надежно защитить программу не прибегая к "хакерским" методам и различным низкоуровневым трюкам — типа ASMовских вставок, навесных низкоуровневых защит и т.д.?
Навскидку — можно использовать многопоточные алгоритмы контроля целостности даных, развитая иерархия "секьюрных" классов с виртуальными методами, дублирующими секьюрные данные и методы их проверки.
Реализация — .NET, java и Pascal.
Понятно, что для .NET и java можно использовать обфускацию, но интересно насколько можно "запутать" кракера "обычными" методами языка?