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

Вниз

Защита программы: как запустить приложение из памяти?   Найти похожие ветки 

 
Бабайка   (2006-04-25 07:48) [0]

Ситуация такая: есть разработанный продукт. Автор и исходники уже недоступны :(

Встала задача по защите продукта. Пока идея есть такая: я пишу свой ехешник, который защищен программой типа AsProtect/EXECryptor. После подтверждения валидности копии я расшифровываю оригинальный бинарник и отдаю ему управление.
Расшифровка на диск и запуск оригинального файла с диска = отсутствие защиты.

Поэтому вопрос такой: как стартануть процесс из памяти? Может есть готовые недорогие инструменты, мы бы купили.


 
evvcom ©   (2006-04-25 08:35) [1]

Так аспротектом можно сразу защитить "оригинальный бинарник". Зачем еще один экзешник?


 
Бабайка   (2006-04-25 08:39) [2]


> Так аспротектом можно сразу защитить "оригинальный бинарник".
>  Зачем еще один экзешник?

Ээээ... Может я чего-то не допонял, но защищаемый ехешник работает через API протектора, запрашивая, например, HardwareID и запрашивая ключ у пользователя. А если файло изначально не разрабатывалось для защиты, то это не пройдет....


 
Alarm ©   (2006-04-25 08:44) [3]

off top

IMHO, если Автор и исходники уже недоступны :(. то продукт не ваш и прятать или открывать его пользователю не в ваших полномочиях


 
Бабайка   (2006-04-25 08:51) [4]


> IMHO, если Автор и исходники уже недоступны :(. то продукт
> не ваш и прятать или открывать его пользователю не в ваших
> полномочиях

Именно, что это ВАШЕ имхо :)
Тут обсуждается вопрос реализации...


 
evvcom ©   (2006-04-25 09:13) [5]

Шифруешь код оригинала частично (тела некоторых/нескольких функций) и ложишь его на диск, но так, чтобы простой запуск не работал. Потом из своего exe, пройдя нужные проверки, грузишь подопытного через CreateProcess с флагом CREATE_SUSPENDED, расшифровываешь и ResumeThread. Подобного не делал, так что могут быть какие-то неточности в изложении, но идея такова.


 
Бабайка   (2006-04-25 10:07) [6]


> Шифруешь код оригинала частично (тела некоторых/нескольких
> функций)

дык это... исходников нету, я же в первом посте писал...


 
evvcom ©   (2006-04-25 10:27) [7]

А я и не предлагаю исходники шифровать. Шифровать надо код!
Судя по всему, автор не знаком с такими вещами как дизассемблер и отладчик типа IDA Pro и SoftIce. Вообще-то защита ПО подразумевает под собой хоть какое-то знание способов и имение навыков, которыми пользуются хакеры, если речь, конечно, не идет о защите от ламеров.


 
Бабайка   (2006-04-25 10:34) [8]

Речь идет о целевой аудитории, в которой 90% составляют обычные юзеры. Я не хочу лазить по дебаггерам.
Я задал вопрос по реализации, которуя я вижу как наименее трудозатратную.
Мне просто нужно узнать: КАК ЗАПУСТИТЬ ехешник, из буфера своего приложения.
Есть специалисты?


 
evvcom ©   (2006-04-25 11:16) [9]


> которуя я вижу как наименее трудозатратную.
> Мне просто нужно узнать: КАК ЗАПУСТИТЬ ехешник, из буфера
> своего приложения.

Или никак, или очень сложно. Для запуска процесса ОС предоставляет CreateProcess и ей подобные. Насколько мне известно, для них файл должен быть на диске, хотя толком я этим никогда не интересовался. Ну а наименее трудозатратным мне видится способ [5].
P.S. Смысла в продолжении дискуссии не вижу.


 
Сергей М. ©   (2006-04-25 12:30) [10]


> КАК ЗАПУСТИТЬ ехешник, из буфера своего приложения


В контексте отдельного (нового) процесса - никак.
В контексте текущего (либо существующего, "суррогатного") процесса - только в частных случаях.

Тебе это о чем-то говорит ?


 
Alarm ©   (2006-04-25 12:46) [11]

В продолжение Сергей М. ©   (25.04.06 12:30) [10]
См. Alarm ©   (25.04.06 08:44) [3]



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

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

Наверх





Память: 0.47 MB
Время: 0.038 c
2-1154422393
Nagano
2006-08-01 12:53
2006.08.20
поиск файлов


15-1151931171
Parus
2006-07-03 16:52
2006.08.20
Словарь


2-1153999311
learner
2006-07-27 15:21
2006.08.20
Порядок объявления переменных.


1-1152261282
dwar
2006-07-07 12:34
2006.08.20
Добавление TAction в TActionList


15-1152305966
Германн
2006-07-08 00:59
2006.08.20
Вот странно!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский