![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамическая загрузка кода в свой процесс. [D7, Win95/98, WinME, Win2k, WinXP]
Soft © (2005-01-05 03:45:00)Пытаюсь написать защиту, которая:
1) расшифровывает отдельный файл(зашифрованный exe) по определенному ключу(алгоритм шифрации пока не выбрал, но скорее всего будет DES).
2) запускает расшифрованный код, не сохраняя его в файл(в файл записывать неразумно, сразу теряется смысл в защите).
Проблема со стандартным алгоритмом запуска исполняемого кода из памяти.
Как я понял, нужно найти точку вхождения первой запускаемой процедуры и пересчитать самому Relocation Table для данного exe.
Есть ли способ попроще?
Anatoly Podgoretsky (2005-01-14 19:08:00) [1]Soft © (05.01.05 20:24) [13]
Ну ты крут!
Scained (2005-01-14 18:57:00) [2]МНЕ ТОЖЕ ЕСЛИ МОЖНО!
У КОГО ЕСТЬ исходник!
Германн (2005-01-07 02:17:00) [3]2 Soft © (06.01.05 02:25) [16]
Не, ну смысл есть "сопровождать" программы для i486. Иногда.
Если, как я, чем-то обязан кому-то.
Ну а "разрабатывать" программы нужно либо по тех. заданию, либо по собственному усмотрению!
-SeM- (2005-01-06 09:48:00) [4]2 Soft
Проверь почту
Soft (2005-01-06 02:25:00) [5]>>Германн © (06.01.05 02:11) [14]
Что, правда что-ли. Согласен, на компьютер ниже P100 уже разрабатывать программы смысла нет.
Soft (2005-01-06 02:21:00) [6]http://www.rsdn.ru/article/baseserv/peloader.xml
Все, нашел, то, что хотел.
Теперь буду испытывать.
Германн (2005-01-06 02:11:00) [7]Мои соболезнования "средним пользователям" Украины. :(
Совет им же - Найдите побольше грошей и купите компы помощней, если вас обслуживает Soft!
Soft (2005-01-05 20:24:00) [8]>>Piter © (05.01.05 19:14) [11]
Не подойдет. Уже смотрел, довольно негибкая вещь. Есть конечно StarForce ProActive 1.1, но дорого, хотя супер.
Soft (2005-01-05 20:22:00) [9]>>Eraser © (05.01.05 19:07) [10]
Программа, точнее серия готовых проектов идет как госзаказ для Украины. Так вот, там главное чтоб защита была и средний пользователь не смог ее сломать. Да и еще, выглядеть все это должно красиво.
Piter (2005-01-05 19:14:00) [10]А чего огород городить, если есть AsProtect?
Eraser (2005-01-05 19:07:00) [11]Не хочу повторятся, но лучше сэкономь своё время на развитие продукта, чем на его защиту. Черезчур сложная защита оправдана только если ты пишишь прогу для России или exСССР, что редкость для shareware.
Soft (2005-01-05 17:25:00) [12]>>Eraser © (05.01.05 16:23) [8]
Ну так хоть видимость защиты должна быть. Кроме того, пираты должны свой хлеб не на шару есть, а хоть как-то мозгами ворочать:)
Eraser (2005-01-05 16:23:00) [13]ВСЁ РАВНО КРЯКНУТ, так что забей, и запакуй каким-нибудь ASProtect, чтобы хотя бы от ламеров спастись, а вообще если человек не хочет покупать программу- он её не купит!!!
Хорошая защита почти не влияет на количество регистраций (продаж)!
Soft (2005-01-05 14:34:00) [14]>>naum (05.01.05 06:17) [3]
Защита рассчитана на очень тупых програмеров(которые кроме PowerBuilder и SQL боьши ничего не знают) и на хакеров среднего разлива(которые знают что такое SoftICE, но пользоваться им особо не умеют). Защита должна устанавливаться очень просто, практически одним полем КЛЮЧи одной кнопкой Protect.
Можно еще написать dll или код на PB, который вычисляет проверочный ключ по серийнику, но это взломать будет еще проще.
С указанной выше защитой, взломать программу можно имея ее код расшифровки или уже запущенную программу(чтоб сделать дампе памяти).
Динамическая шифрация кода, конечно, максимально эффективна в данном случае(ее автоматически делает StarForce), но люди, для которых я делаю данную защиту, таких слов даже не знают.
TUser (2005-01-05 12:29:00) [15]
> К томуже ничего кроме dll загрузить неполучится!
Почему? Программы, обработанные Aspack'ом и пр., примерно так и поступают. А крякер такую 'защиту' обойдет как два байта. Они, я так понимаю, дамп памяти сделать умеют уже ^)
KSergey (2005-01-05 12:16:00) [16]Тут уже была как-то огромная ветка где люди делились проблемами, поджидающими на данном пути
На сколько помню общий вывод - сделать это на 100% грамотно нельзя ввиду недокументированности сего процесса. Хотя и были определенные успехи, вроде... Или таки нет...
Erik1 (2005-01-05 10:49:00) [17]К томуже ничего кроме dll загрузить неполучится!
naum (2005-01-05 06:17:00) [18]Суть понял. Удачи. Хотя это далеко не так надежно, чем динамическое шифрование. Если ты собираешься заниматься защитой чужого ПО, дак не проще ли написать небольшой SDK с примерами внедрения маркеров в код + утилитку шифрации кода между маркерами и соответственно инъекции кода дешифратора? Это будет намного грамотнее.
Soft (2005-01-05 05:19:00) [19]>>naum (05.01.05 04:53) [1]
Проблема в другом, что нужно написать защиту для любых(не моих) exe-шников. Человек вводит ключ, нажимает кнопку и имеет прошифрованную программу и загрузчик(или даже шифрованная программа и загрузчик - один файл). Далее программа должна расшифровываться загрузчиком налету при наличии ключа и исполнятся без записи на диск.
PS
Нашел описание PE формата, буду разбираться.
naum (2005-01-05 04:53:00) [20]Хм. На мой взгляд проще "обычное" динамическое шифрование кода. Доков за последний год уже есть куча. Разобраться делать не хрен )