![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отловить смерть потока [D7, Win95/98, WinXP]
Ландграф Павел © (2005-09-19 17:46:00)Создаю поток через beginthread
Как постоянно следить что бы он не умер (защита программы), т.к. если его грохнут из вне, защита снята. Или как при его смерти закрывать насильно программу...
ANB (2005-09-23 11:23:00) [1]
> Ландграф Павел © (21.09.05 18:42) [26]
- сколько будет стоить копия ?
alpet (2005-09-21 19:00:00) [2]Ландграф Павел © (21.09.05 18:42) [26]
Посоветуйся с людьми что реально ломали защиты (пускай даже ради любопытства), или добудь книги по этому делу (у Криса Касперски есть такие, можно скачать с его ftp). Тебе в задачу вменяется только отсеять кракеров-любителей, поскольку профессионалов остановит разве что аппаратная реализация половины программы (и то не факт).
Ландграф Павел (2005-09-21 18:42:00) [3]вобщем буду думать... но все-таки от дебаггера как-то надо скрыться... т.к. можно сделать патч на увеличение лимита... адреса то одни и те же - пропатчат память каждый раз (лоадер) и фсе, защита вскрыта, размер ключа увеличить так же элементарно, пароль на access вскрывается тока так...
Я вот почитал про тип защиты, када адреса функции постоянно меняются, т.е. отдебагить уже не получиться... тока как енто сделать никто не пишет=)) Вот мне бы вот такую защиту на функцию загрузки из базы в память сделать... и будет счастье=)
ANB (2005-09-21 10:35:00) [4]
> Ландграф мобил=) (21.09.05 10:19) [24]
1. Ограничь размер поля для первичного ключа
2. В запросы воткни условие, where ID <= 100. Можно параметрически.
Закоментируй в исходнике часть полезных функций и так скомпилируй (предупреди, что нужные куски будут в полной версии)
3. Вотки по условной компиляции в разных местах программы проверку, что записей в таблице не больше, чем ты разрешаешь и удаляй лишние. Текст SQL можно шифрануть каким нибудь простым способом.
Тогда взлом будет стоить дороже, чем ты продаешь программу.
4. Ну и можно еще по всякому поизгалится.
Ландграф мобил=) (2005-09-21 10:19:00) [5]Где-то надо хранить разрешенное количество записей (в демо будет мини база, а полная база будет стоить денег)
ANB (2005-09-21 08:00:00) [6]
> Ландграф мобил=) (21.09.05 06:00) [22]
- а как ты отличишь лишние от нелишних ? Или таки это защита от копирования/демка ?
Ландграф мобил=) (2005-09-21 06:00:00) [7]Дык енто мне все переписывать... не-е, от меня уже готовую программу ждут, а тут разбираться надо... Мне не нужна защита от добавления как таковая, мне нужно лишь как-то хранить кол-во записей в базе, чтобы не нашли=) И пусть добавляют... просто проверять и лишние не читать... а вот тут и нужна защита от дебага!
ANB (2005-09-20 21:41:00) [8]В акссес легко залезть. Лучше сервер какой нибудь взять (оракл, например). Защиту - лучше всего шифрование + подпись. Но так не закроешься от намеренного удаления. А на серверах можно поставить логирующие триггеры или вообще сделать доступ через хранимки. Доступ к локальной базе ломается на раз-два-три. С серверной повозюкаться придется. Правда админ все равно сможет влезть и ломать базу, как ему вздумается. Для обновления/добавления проблема таки решается подписями, а вот для удаление еще не придумали. Админ то может и логи срубить. Во всяком случае, следящие потоки ничего не дают. Снимается приложение и имеем доступ к базе.
Ландграф Павел (2005-09-20 21:24:00) [9]а тип Access (mde), т.к. база будет не большая, на 10000 записей, не более...
Ландграф Павел (2005-09-20 21:22:00) [10]ANB> ну пока окромя CRC32 и LIMIT ничего не придумал... есть отличная идея, но для нее нужен интернет, а енто только в крайнем случае... надо постараться без него обойтись...
ANB (2005-09-20 20:49:00) [11]
> Ландграф Павел © (20.09.05 20:12) [17]
Какой тип БД ? Как собираешься защищать ?
Ландграф Павел (2005-09-20 20:12:00) [12]Игорь Шевченко> хотя вы правы, это глупо юзверей пугать таким делом... вообще у меня защита нужна только на базу данных, чтобы в нее никто ничего не добавил, а если и добавили, то прога это не использовала...
Если сделать лимит (LIMIT) при SQL запросе (через ADO), то енто дело можно как-то перехватить, и увеличить лимит?
Ландграф Павел (2005-09-20 20:04:00) [13]alpet> вы тов. консерватор)) Если я захочу что бы вы меня отговарили от какой-нить затеи - обращусь лично, пока такая услуга не требуется=))
alpet (2005-09-20 19:01:00) [14]Ландграф Павел © (20.09.05 18:31) [13]
Для создания реально устойчивой защиты нужен опыт преодоления защит существующих, иначе создается бесполезный довесок кода (по отношению к пользователю), который легко вскрывают 11-летние кракеры. Если бы он (опыт) у тебя был, не думаю что такой вопрос ты бы задал. А так ты продолжаешь искать панацею от неизлечимой проблемы, надеясь толи на собственную гениальность (в плане построения грамотной защиты), толи на то что программу никто и взламывать не будет (кстати самое распространненое заблуждение). Сам посуди, если в уже упомянутом ASProtect используется куча наворотов, и все обходятся едва-ли на автомате, а ты хочешь использовать самые простые методы.
http://www.insidepro.com/kk/032r.shtml
Игорь Шевченко (2005-09-20 18:46:00) [15]Ландграф Павел © (20.09.05 18:31) [13]
CSRSS от внедрениев защишен. Во избежание.
Ландграф Павел (2005-09-20 18:31:00) [16]alpet> нет, похоже ты не совсем понял... я не говорил про 2 недели... я ее делаю, и делаю на совесть...
Игорь Шевченко> а?=)
Игорь Шевченко (2005-09-20 11:30:00) [17]
> А если внедрить свой процесс в CSRSS
Агащазвнедришьсятыкакже.
alpet (2005-09-20 10:42:00) [18]Ландграф мобил=) (19.09.05 20:25) [8]
Похоже ты не совсем понял. Защита реализуется либо полноценно, либо не реализуется совсем. Для первого случая надо потратить много времени, которое скорее всего не окупиться, если готовую защиту не продавать сторонним разработчикам. А недельная работа, мало кого из крякеров остановит.
Alexander Panov (2005-09-19 20:41:00) [19]WaitForSingleObject в отдельном потоке.
ANB (2005-09-19 20:30:00) [20]
> Ландграф мобил=) (19.09.05 20:25) [8]
- так выложи ее не полностью. А полный вариант отправляй только по факту оплаты. Либо лично, либо мылом. Если стоит дорого. А защита снизит круг потенциальных пользователей. К тому же по любому ее надо будет подстраивать под конечного пользователя, тут тебе будет и флаг в руки.
ЗЫ. А чего делать умееет ?