![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Защита программы: как запустить приложение из памяти? [D7, Win2k, WinXP]
Бабайка © (2006-04-25 07:48:00)Ситуация такая: есть разработанный продукт. Автор и исходники уже недоступны :(
Встала задача по защите продукта. Пока идея есть такая: я пишу свой ехешник, который защищен программой типа AsProtect/EXECryptor. После подтверждения валидности копии я расшифровываю оригинальный бинарник и отдаю ему управление.
Расшифровка на диск и запуск оригинального файла с диска = отсутствие защиты.
Поэтому вопрос такой: как стартануть процесс из памяти? Может есть готовые недорогие инструменты, мы бы купили.
Alarm (2006-04-25 12:46:00) [1]В продолжение Сергей М. © (25.04.06 12:30) [10]
См. Alarm © (25.04.06 08:44) [3]
Сергей М. (2006-04-25 12:30:00) [2]
> КАК ЗАПУСТИТЬ ехешник, из буфера своего приложения
В контексте отдельного (нового) процесса - никак.
В контексте текущего (либо существующего, "суррогатного") процесса - только в частных случаях.
Тебе это о чем-то говорит ?
evvcom (2006-04-25 11:16:00) [3]
> которуя я вижу как наименее трудозатратную.
> Мне просто нужно узнать: КАК ЗАПУСТИТЬ ехешник, из буфера
> своего приложения.
Или никак, или очень сложно. Для запуска процесса ОС предоставляет CreateProcess и ей подобные. Насколько мне известно, для них файл должен быть на диске, хотя толком я этим никогда не интересовался. Ну а наименее трудозатратным мне видится способ [5].
P.S. Смысла в продолжении дискуссии не вижу.
Бабайка (2006-04-25 10:34:00) [4]Речь идет о целевой аудитории, в которой 90% составляют обычные юзеры. Я не хочу лазить по дебаггерам.
Я задал вопрос по реализации, которуя я вижу как наименее трудозатратную.
Мне просто нужно узнать: КАК ЗАПУСТИТЬ ехешник, из буфера своего приложения.
Есть специалисты?
evvcom (2006-04-25 10:27:00) [5]А я и не предлагаю исходники шифровать. Шифровать надо код!
Судя по всему, автор не знаком с такими вещами как дизассемблер и отладчик типа IDA Pro и SoftIce. Вообще-то защита ПО подразумевает под собой хоть какое-то знание способов и имение навыков, которыми пользуются хакеры, если речь, конечно, не идет о защите от ламеров.
Бабайка (2006-04-25 10:07:00) [6]
> Шифруешь код оригинала частично (тела некоторых/нескольких
> функций)
дык это... исходников нету, я же в первом посте писал...
evvcom (2006-04-25 09:13:00) [7]Шифруешь код оригинала частично (тела некоторых/нескольких функций) и ложишь его на диск, но так, чтобы простой запуск не работал. Потом из своего exe, пройдя нужные проверки, грузишь подопытного через CreateProcess с флагом CREATE_SUSPENDED, расшифровываешь и ResumeThread. Подобного не делал, так что могут быть какие-то неточности в изложении, но идея такова.
Бабайка (2006-04-25 08:51:00) [8]
> IMHO, если Автор и исходники уже недоступны :(. то продукт
> не ваш и прятать или открывать его пользователю не в ваших
> полномочиях
Именно, что это ВАШЕ имхо :)
Тут обсуждается вопрос реализации...
Alarm (2006-04-25 08:44:00) [9]off top
IMHO, если Автор и исходники уже недоступны :( . то продукт не ваш и прятать или открывать его пользователю не в ваших полномочиях
Бабайка (2006-04-25 08:39:00) [10]
> Так аспротектом можно сразу защитить "оригинальный бинарник".
> Зачем еще один экзешник?
Ээээ... Может я чего-то не допонял, но защищаемый ехешник работает через API протектора, запрашивая, например, HardwareID и запрашивая ключ у пользователя. А если файло изначально не разрабатывалось для защиты, то это не пройдет....
evvcom (2006-04-25 08:35:00) [11]Так аспротектом можно сразу защитить "оригинальный бинарник". Зачем еще один экзешник?