Дописываю программульку, хочу защиты навешать разной,
всё вроде неплохо, НО программа должна хранить где-то
состояние (Registered / Unregistered / Blocked) и время
до окончания триала, куда бы его пихнуть:
Реестр — палевно.
Файл в папке с прогой — ещё палевней.
Файл в недрах папки Windows — проверяется какие файлы добавлены последними и по пути дизассемблером находится защитный механизм — плохо.
Итак, есть рекомендации ??
Re: Вопрос насчёт защиты ПО
От:
Аноним
Дата:
03.05.05 19:32
Оценка:
Здравствуйте, Imbecile, Вы писали:
I>Дописываю программульку, хочу защиты навешать разной,
Asprotect, Xprotect, Armaddilo не подходят?
Или самописную?
Здравствуйте, Аноним, Вы писали:
А>Asprotect, Xprotect, Armaddilo не подходят? А>Или самописную?
Да, вот ещё цитата с одного сайта:
Trial Reset
Выкладываю здесь программу под названием Trial Reset 2.0 написанную некем e-Lunatic’ом. Программа занимается очень полезным делом, а именно удаляет множество триал защит (Asprotect(довольно популярная защита, используется в таких программах как Astonshell, Frigate, etc), Armadillo и многие другие), так что, прога очень нужна в хозяйстве)
Здравствуйте, Imbecile, Вы писали:
I>Дописываю программульку, хочу защиты навешать разной, I>всё вроде неплохо, НО программа должна хранить где-то I>состояние (Registered / Unregistered / Blocked) и время I>до окончания триала, куда бы его пихнуть:
I>Реестр — палевно. I>Файл в папке с прогой — ещё палевней. I>Файл в недрах папки Windows — проверяется какие файлы добавлены последними и по пути дизассемблером находится защитный механизм — плохо.
I>Итак, есть рекомендации ??
Одна половинка — в виде строки Name=Value в win.ini либо system.ini
Вторая — в том же виде в %МоиДокументы%\desktop.ini
Третья записывается в реестр с использованием Native Api и нулей в середине имен разделов, так что regedit'ом в них не достучаться
Четвертую можно положить в папку с программой, зашифровав ключом бит этак на 2048...
И естественно, проверять наличие и совпадение всех четырех.
Здравствуйте, Sergei I. Gorelkin, Вы писали:
SIG>Здравствуйте, Imbecile, Вы писали:
I>>Дописываю программульку, хочу защиты навешать разной, I>>всё вроде неплохо, НО программа должна хранить где-то I>>состояние (Registered / Unregistered / Blocked) и время I>>до окончания триала, куда бы его пихнуть:
I>>Реестр — палевно. I>>Файл в папке с прогой — ещё палевней. I>>Файл в недрах папки Windows — проверяется какие файлы добавлены последними и по пути дизассемблером находится защитный механизм — плохо.
I>>Итак, есть рекомендации ??
SIG>Одна половинка — в виде строки Name=Value в win.ini либо system.ini SIG>Вторая — в том же виде в %МоиДокументы%\desktop.ini SIG>Третья записывается в реестр с использованием Native Api и нулей в середине имен разделов, так что regedit'ом в них не достучаться SIG>Четвертую можно положить в папку с программой, зашифровав ключом бит этак на 2048...
SIG>И естественно, проверять наличие и совпадение всех четырех.
Т.е. использую regmon + filemon можно всё это снести и получить ещё 30 дней?
Здравствуйте, Imbecile, Вы писали:
I>Может и подхдят — попробую, но в идеале самописную, потому-что I>стандартные варианты и ломаются стандартно
Продление срока триала обычно отламывается легко. А вот ограничение функциональности в незарегистрированной версии эти продукты могут сделать практически неломаемым (как минимум, для начала взлома нужно будет скардить ключ к программе).
Здравствуйте, Imbecile, Вы писали:
I>Дописываю программульку, хочу защиты навешать разной, I>всё вроде неплохо, НО программа должна хранить где-то I>состояние (Registered / Unregistered / Blocked) и время I>до окончания триала, куда бы его пихнуть:
I>Реестр — палевно. I>Файл в папке с прогой — ещё палевней. I>Файл в недрах папки Windows — проверяется какие файлы добавлены последними и по пути дизассемблером находится защитный механизм — плохо.
I>Итак, есть рекомендации ??
1. Самое надежное это — проверка on — line, естессно на web — сервисе у тебя с ключом копии программы, должно быть лицензия.
В Windows спрятать что — либо очень сложно.
2. В дистрибутиве вместе с прогой — файл лицензии в зашифрованном виде. Весь дистрибутив находиться в твоем самопальном package. В package вставь защиту от debug'a (дизассемблер отдыхает и так). Распаковываться package должен только в памяти, ключ можешь внедрить в любую либу (user32.dll, gdi32.dll and etc.). При каждом запуске программы находишь ключик и в памяти расшифровываешь файлик лицензии.
Re[2]: Вопрос насчёт защиты ПО
От:
Аноним
Дата:
04.05.05 11:03
Оценка:
Здравствуйте, white_znake, Вы писали:
_>2. В дистрибутиве вместе с прогой — файл лицензии в зашифрованном виде. Весь дистрибутив находиться в твоем самопальном package. В package вставь защиту от debug'a (дизассемблер отдыхает и так). Распаковываться package должен только в памяти, ключ можешь внедрить в любую либу (user32.dll, gdi32.dll and etc.). При каждом запуске программы находишь ключик и в памяти расшифровываешь файлик лицензии.
Дамп с памяти тоже прекрасно снимается.
Он-лайн проверка... какая разница, где будет проходить проверка? В конечном итоге на стороне программы выполняется условие на проверку: прошла регистрация или нет. Патч нашится за 2 мин.
К сожалению, все, что создает человек, ломаемо
ЗЫ: Можно сделать привязку к серийникам железа. Скажем, если хард меняется реже всего, то на его основе составляется ключ. Или можешь на USB вешать небольшой чип, в который зашит небольшой участок кода. При старте делаешь мердж обеим частям и передаешь управление программе. Но, опять таки, снять дамп с памяти не проблема.
Здравствуйте, sercher, Вы писали:
S> Т.е. использую regmon + filemon можно всё это снести и получить ещё 30 дней?
Встречаются, конечно, и такие защиты , но по идее, если снести, то программа должна переставать нормально работать.
Filemon и Regmon — вещи могучие, но не всесильные. Факт их выполнения легко отследить; кроме того, необязательно читать нужную ветку реестра сразу, вместо этого можно сделать перечисление начиная с корня — глядишь, regmon и упадет... а если нет, пускай запустивший его догадывается, что из этой тонны информации было нужно на самом деле.
А вообще все фигня, кроме пчел... т.е. HardLock'a.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, white_znake, Вы писали:
_>>2. В дистрибутиве вместе с прогой — файл лицензии в зашифрованном виде. Весь дистрибутив находиться в твоем самопальном package. В package вставь защиту от debug'a (дизассемблер отдыхает и так). Распаковываться package должен только в памяти, ключ можешь внедрить в любую либу (user32.dll, gdi32.dll and etc.). При каждом запуске программы находишь ключик и в памяти расшифровываешь файлик лицензии.
А>Дамп с памяти тоже прекрасно снимается.
А>Он-лайн проверка... какая разница, где будет проходить проверка? В конечном итоге на стороне программы выполняется условие на проверку: прошла регистрация или нет. Патч нашится за 2 мин.
А>К сожалению, все, что создает человек, ломаемо
А>ЗЫ: Можно сделать привязку к серийникам железа. Скажем, если хард меняется реже всего, то на его основе составляется ключ. Или можешь на USB вешать небольшой чип, в который зашит небольшой участок кода. При старте делаешь мердж обеим частям и передаешь управление программе. Но, опять таки, снять дамп с памяти не проблема.
А>Вывод: человечеству есть над чем думать
Ломаемо все — но надо сделать взлом слишком дорогим. Для противодействия патча — защита от дизассемблера + проверка целостности кода.
Здравствуйте, white_znake, Вы писали:
_>Ломаемо все — но надо сделать взлом слишком дорогим. Для противодействия патча — защита от дизассемблера + проверка целостности кода.
Проверка целостности кода уже есть (CRC проверяется двумя разными методами (гы-гы)),
а защита от дизассемблера — это всякие обфускаторы или размазать код с защитой по всей проге ровным слоем..
Здравствуйте, Imbecile, Вы писали:
А>>Asprotect, Xprotect, Armaddilo не подходят? А>>Или самописную? I>Может и подхдят — попробую, но в идеале самописную, потому-что I>стандартные варианты и ломаются стандартно
ага. особенно наш EXECryptor кстати триал он хранит в реестре. только вот за год никто так и не смог его оттуда вычистить.