Comments 24
Ох ебать…
Название тимы очень смахивает на название нашей тимы, к чему бы это?
Тема очень интересная, но как справедливо было подмечено автором, в случае такой защиты гораздо проще сделать crack, а не keygen. Интересно было бы почитать статью про более «изощеренные» методы защиты, которую не обрушишь, сменив пару байт.
Этож keygenme, в них редко делают защиту от крэков.
Отлюбителей патчи писать только одна зашита — использовать результаты проверки и временные значения при вычислениях в дальнейшей работе программы. Чем обильней все это будет размазано во времени возникновения и по коду, тем больше шансов что крякеру будет не охота этим заниматься. Интереса тут никакого, разве что коммерческие цели.
Я собственно так и поступаю, ну еще иногда контролирую код через чексумму. Не так давно кстати ломал программу (исключительно в благих целях продления триала который проворонил), там таких проверок оказалось аж три, друг на дружку. Нужно заметить, это раздражает :)
Я собственно так и поступаю, ну еще иногда контролирую код через чексумму. Не так давно кстати ломал программу (исключительно в благих целях продления триала который проворонил), там таких проверок оказалось аж три, друг на дружку. Нужно заметить, это раздражает :)
Проверка временных отсечек не спасет от анализа. Во-первых можно проанализировать и в статике, а во-вторых есть плагины к дебагерам, которые правят ответы rdtsc и других функций получения времени.
А вот crc годно, но опять же надо использовать несколько агоритмов, и распределить их проверки равномерно по всему приложению.
А вообще в последнее время лучшая защита приложения, это когда его стоимость меньше затрат на взлом.
А вот crc годно, но опять же надо использовать несколько агоритмов, и распределить их проверки равномерно по всему приложению.
А вообще в последнее время лучшая защита приложения, это когда его стоимость меньше затрат на взлом.
Все можно проанализировать, другое дело насколько сложно это становится, ведь патчи как правило редко когда профи пишут, скорее это люди с небольшим багажем знаний.
Если же говорить например про виндоус, где таймеры в программах редкое явление и ежесекундно не появляются десятками участки кода по нему работающие (как например в мак ос), то можно использовать счетчики (и не обязательно последовательные) на вызов какой-либо функции/группы функций. Самая большая проблема — завуалировать факт использования результатов работы алгоритма, чтобы не светилась сражу же в листинге какая-нибудь глобальная переменная.
Если же говорить например про виндоус, где таймеры в программах редкое явление и ежесекундно не появляются десятками участки кода по нему работающие (как например в мак ос), то можно использовать счетчики (и не обязательно последовательные) на вызов какой-либо функции/группы функций. Самая большая проблема — завуалировать факт использования результатов работы алгоритма, чтобы не светилась сражу же в листинге какая-нибудь глобальная переменная.
Виртулка типа темиды, и большинство приезжает сразу…
Проще взять, выдрать дизассемблером процедуру генерации серийника целиком, и вставить в сишный код, используя встроенный ассемблер, либо целиком на ассемблере простую программку накатать. Разбираться в деталях алгоритма генерации как-то лениво.
Далеко не для каждого алгоритма такое можно сделать. Обычно не применяется схема, когда генерируется верный серийник и сравнивается с введёным, а проверяется на соответствие некоторым признакам без генерации валидного серийника.
Как я уже сказал — если целью является поскорей зарелизить keygen или crack, то такое очень даже подходит. Но я не занимаюсь релизами, и у меня интерес другой — мне интересно узнать именно как устроена защита той или иной проги, или алгоритм генерации ее ключа.
Почему OllyDbg а не Syser? Для ring3 достаточно, но это ведь далеко не всегда бывает…
Потому что Olly я пользуюсь уже более 5 лет, и привык, а Syser'ом только от случая к случаю. Он несколько для других задач. Хотя, как я недавно заметил, у них на сайте появилась версия для отладки только в ring3, но удобством она не отличается. Я не отношусь к old school, которые начинали с softice
Syser применим для всех задач, для которых используется OllyDbg. Другое дело, что это китайское творение не совсем заменило SoftICE, мир праху ему… но се ля ви. Ну я в чем-то согласен, если не нужно лезть слишком глубоко — олли верный и самый простой выбор.
Хоть я когда-то и пользовался софтайсом, я с радостью с ним попрощался, когда познакомился с Олли, т.к. лезть за пределы ring3 в большинстве случаев необходимости нет, а по комфорту и эффективности отладки Олли и тогда и сейчас (для меня) — лидер.
Для любителей C я специально сделал комментарии на C-подобном псевдокоде.
Я то думаю, что за волшебный софт у автора =)
Sign up to leave a comment.
Анализ keygenme от TPoDT #2