Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Вниз

Как отловить смерть потока   Найти похожие ветки 

 
Ландграф Павел ©   (2005-09-19 17:46) [0]

Создаю поток через beginthread
Как постоянно следить что бы он не умер (защита программы), т.к. если его грохнут из вне, защита снята. Или как при его смерти закрывать насильно программу...


 
alpet ©   (2005-09-19 17:50) [1]

Создай еще один поток, что будет следить за этим. При неожиданной кончине первого, программу будет завершать он.


 
simpson ©   (2005-09-19 17:52) [2]

> как при его смерти закрывать насильно программу...

Поместить защиту в основной поток приложения. :) Пусть "грохают" на здоровье.
ЗЫ: Что за защита?


 
xShadow ©   (2005-09-19 17:57) [3]

Глобальный хук + dll во все процессы и наблюдай за своеим потоком или приложением. ;)


 
alpet ©   (2005-09-19 18:01) [4]

xShadow ©   (19.09.05 17:57) [3]

Угу, только пользователям такую программу лучше не давать.


 
Ландграф Павел ©   (2005-09-19 18:04) [5]

А если внедрить свой процесс в CSRSS или подобные, ее реально убить оттуда?

P.S. Две защиты на комерческую прогу:
1. чтобы не изменили exe в памяти (от крекеров/патчеров)
2. чтобы не дебагили (чтоб алгоритмы защиты паролей не выяснили, путем слежки за временем выполнения операций)
3. ограничение работы проги в 30 дней (как еще не придумал)


 
ANB ©   (2005-09-19 18:51) [6]

Имхо. Чтобы что то защищать, надо что то написать.
Если крякают твою программу, значит она имеет успех. А легальных покупателей у защищенной не прибавиться, так как нелегальное копирование создаст тебе же рекламу. Завсегда можно распространять новые версии только зарегистрированным пользователям. А те, кто денег пожалеют, сами себе злобные буратины будут.

По сабжу. Масло маслянное. Что защитить то надо ?


 
alpet ©   (2005-09-19 18:52) [7]

Ландграф Павел ©   (19.09.05 18:04) [5]

Пользователи это не похвалят, а крекерам с базовым опытом это не помешает, поскольку существуют такие программы как IDA и SoftICE, которые в совокупности с некоторыми плагинами, позволят всю твою защиту за 5 мин. вскрыть (если уж ASProt. за 30 вскрывают...). Так что не забивай голову черезмерно, либо используюй готовую защиту, либо не усердствуй совсем.


 
Ландграф мобил=)   (2005-09-19 20:25) [8]

Что защитить? Странный вопрос - программу мою защитить=) она уже написана, и будет продаваться по и-нету. Нужно сделать привязку к одному пользователю, т.к. цена не малая и программа в своем роде уникальная (вам будет не интересно, это для общепита) требуется защитить от нелегального копирования. А если ее сломают, считай что 3-и месяца работы в попу=( К интернету ее не привяжешь, думаю в столовых его нету=)


 
ANB ©   (2005-09-19 20:30) [9]


> Ландграф мобил=)   (19.09.05 20:25) [8]
- так выложи ее не полностью. А полный вариант отправляй только по факту оплаты. Либо лично, либо мылом. Если стоит дорого. А защита снизит круг потенциальных пользователей. К тому же по любому ее надо будет подстраивать под конечного пользователя, тут тебе будет и флаг в руки.

ЗЫ. А чего делать умееет ?


 
Alexander Panov ©   (2005-09-19 20:41) [10]

WaitForSingleObject в отдельном потоке.


 
alpet ©   (2005-09-20 10:42) [11]

Ландграф мобил=)   (19.09.05 20:25) [8]

Похоже ты не совсем понял. Защита реализуется либо полноценно, либо не реализуется совсем. Для первого случая надо потратить много времени, которое скорее всего не окупиться, если готовую защиту не продавать сторонним разработчикам. А недельная работа, мало кого из крякеров остановит.


 
Игорь Шевченко ©   (2005-09-20 11:30) [12]


> А если внедрить свой процесс в CSRSS


Агащазвнедришьсятыкакже.


 
Ландграф Павел ©   (2005-09-20 18:31) [13]

alpet> нет, похоже ты не совсем понял... я не говорил про 2 недели... я ее делаю, и делаю на совесть...
Игорь Шевченко> а?=)


 
Игорь Шевченко ©   (2005-09-20 18:46) [14]

Ландграф Павел ©   (20.09.05 18:31) [13]

CSRSS от внедрениев защишен. Во избежание.


 
alpet ©   (2005-09-20 19:01) [15]

Ландграф Павел ©   (20.09.05 18:31) [13]

Для создания реально устойчивой защиты нужен опыт преодоления защит существующих, иначе создается бесполезный довесок кода (по отношению к пользователю), который легко вскрывают 11-летние кракеры. Если бы он (опыт) у тебя был, не думаю что такой вопрос ты бы задал. А так ты продолжаешь искать панацею от неизлечимой проблемы, надеясь толи на собственную гениальность (в плане построения грамотной защиты), толи на то что программу никто и взламывать не будет (кстати самое распространненое заблуждение). Сам посуди, если в уже упомянутом ASProtect используется  куча наворотов, и все обходятся едва-ли на автомате, а ты хочешь использовать самые простые методы.

http://www.insidepro.com/kk/032r.shtml


 
Ландграф Павел ©   (2005-09-20 20:04) [16]

alpet> вы тов. консерватор))  Если я захочу что бы вы меня отговарили от какой-нить затеи - обращусь лично, пока такая услуга не требуется=))


 
Ландграф Павел ©   (2005-09-20 20:12) [17]

Игорь Шевченко> хотя вы правы, это глупо юзверей пугать таким делом... вообще у меня защита нужна только на базу данных, чтобы в нее никто ничего не добавил, а если и добавили, то прога это не использовала...
Если сделать лимит (LIMIT) при SQL запросе (через ADO), то енто дело можно как-то перехватить, и увеличить лимит?


 
ANB ©   (2005-09-20 20:49) [18]


> Ландграф Павел ©   (20.09.05 20:12) [17]

Какой тип БД ? Как собираешься защищать ?


 
Ландграф Павел ©   (2005-09-20 21:22) [19]

ANB> ну пока окромя CRC32 и LIMIT ничего не придумал... есть отличная идея, но для нее нужен интернет, а енто только в крайнем случае... надо постараться без него обойтись...


 
Ландграф Павел ©   (2005-09-20 21:24) [20]

а тип Access (mde), т.к. база будет не большая, на 10000 записей, не более...


 
ANB ©   (2005-09-20 21:41) [21]

В акссес легко залезть. Лучше сервер какой нибудь взять (оракл, например). Защиту - лучше всего шифрование + подпись. Но так не закроешься от намеренного удаления. А на серверах можно поставить логирующие триггеры или вообще сделать доступ через хранимки. Доступ к локальной базе ломается на раз-два-три. С серверной повозюкаться придется. Правда админ все равно сможет влезть и ломать базу, как ему вздумается. Для обновления/добавления проблема таки решается подписями, а вот для удаление еще не придумали. Админ то может и логи срубить. Во всяком случае, следящие потоки ничего не дают. Снимается приложение и имеем доступ к базе.


 
Ландграф мобил=)   (2005-09-21 06:00) [22]

Дык енто мне все переписывать... не-е, от меня уже готовую программу ждут, а тут разбираться надо... Мне не нужна защита от добавления как таковая, мне нужно лишь как-то хранить кол-во записей в базе, чтобы не нашли=) И пусть добавляют... просто проверять и лишние не читать... а вот тут и нужна защита от дебага!


 
ANB ©   (2005-09-21 08:00) [23]


> Ландграф мобил=)   (21.09.05 06:00) [22]
- а как ты отличишь лишние от нелишних ? Или таки это защита от копирования/демка ?


 
Ландграф мобил=)   (2005-09-21 10:19) [24]

Где-то надо хранить разрешенное количество записей (в демо будет мини база, а полная база будет стоить денег)


 
ANB ©   (2005-09-21 10:35) [25]


> Ландграф мобил=)   (21.09.05 10:19) [24]

1. Ограничь размер поля для первичного ключа
2. В запросы воткни условие, where ID <= 100. Можно параметрически.
Закоментируй в исходнике часть полезных функций и так скомпилируй (предупреди, что нужные куски будут в полной версии)
3. Вотки по условной компиляции в разных местах программы проверку, что записей в таблице не больше, чем ты разрешаешь и удаляй лишние. Текст SQL можно шифрануть каким нибудь простым способом.
Тогда взлом будет стоить дороже, чем ты продаешь программу.
4. Ну и можно еще по всякому поизгалится.


 
Ландграф Павел ©   (2005-09-21 18:42) [26]

вобщем буду думать... но все-таки от дебаггера как-то надо скрыться... т.к. можно сделать патч на увеличение лимита... адреса то одни и те же - пропатчат память каждый раз (лоадер) и фсе, защита вскрыта, размер ключа увеличить так же элементарно, пароль на access вскрывается тока так...

Я вот почитал про тип защиты, када адреса функции постоянно меняются, т.е. отдебагить уже не получиться... тока как енто сделать никто не пишет=)) Вот мне бы вот такую защиту на функцию загрузки из базы в память сделать... и будет счастье=)


 
alpet ©   (2005-09-21 19:00) [27]

Ландграф Павел ©   (21.09.05 18:42) [26]

Посоветуйся с людьми что реально ломали защиты (пускай даже ради любопытства), или добудь книги по этому делу (у Криса Касперски есть такие, можно скачать с его ftp). Тебе в задачу вменяется только отсеять кракеров-любителей, поскольку профессионалов остановит разве что аппаратная реализация половины программы (и то не факт).


 
ANB ©   (2005-09-23 11:23) [28]


> Ландграф Павел ©   (21.09.05 18:42) [26]
- сколько будет стоить копия ?



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.015 c
14-1131469401
nop
2005-11-08 20:03
2005.11.27
Стиль оформления кода


2-1131712228
Andrewmx
2005-11-11 15:30
2005.11.27
Как найти минимальный элемент в двумерном массиве?


2-1131363541
root
2005-11-07 14:39
2005.11.27
ADO


14-1130913575
КаПиБаРа
2005-11-02 09:39
2005.11.27
Как научиться


3-1129360635
Иванов__
2005-10-15 11:17
2005.11.27
Ош. "Could not convert variant of type (NULL) into type (String)"





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский