Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Доброго времени суток форумчане! Всех с наступившим Новым Годом, и всем кто это прочел SetVar "[Happy]" "100%" Первое число года - а я до сих пор курю всякие мысли о разработке (потому что нравиться) Тут дело такое - фантазии у меня не хватает, думаю только тут могут направить на путь истинный. Не нужно мне все разжевывать (по крайней мере я думаю что пойму) мне хотябы путь показать, а далее я сам Суть в чем - Есть программа (как я спрашивал ранее про прокручиваемый список) в которой будет находится всякого рода контент, в основном этот контент - исполняемые файлы запускаемые моей программой. Ума разрезать, перемешать, склеить, зашифровать, упаковать файл у меня хватило, а вот простую защиту от дурака от копирования этого исполняемого файла увы... нет. Может есть у кого какие мысли?! Дело в том что при запуске файл собирается в рабочий вид и запускается, и можно спокойно высмотреть местонахождение файла и скопировать его даже если этот файл исполняется =\ Мне хотябы организовать защиту от "Дурака" тоесть тупого копирования, скажем сделать файл уже нерабочим если его попробовать запустить. Ах да, этот исполняемый который запуститься программой на NeoBookе сварганен в другой среде. Вобщем у кого какие-то мысли есть? p.s. Я прошу сильно не утруждаться над вопросом, это я просто так спрашиваю с надеждой на светлую голову =) I will alive before dead
В этом случае думаю что никак не защитить. тем более что
ЦитатаUserDead ()
этот исполняемый который запуститься программой на NeoBookе сварганен в другой среде.
Если бы в НБ, можно было бы сначала проверить путь нахождения файла, и если там где надо, то запустить.
Если при извлечении только, то до запуска можно было бы к примеру изменить любой байт плагином например NeoHexEdit и файл был бы не рабочий. А при запуске восстанавливать файл этим же плагином.
Вот думал кусок из файла выдрать, прокатило, но да, опять таки до тех пор пока не запустил исполняемый, там надо возращать как нужно, если бы можно было загрузить приложение в память и подредактировать исполняемый, ну к примеру вырвать кусок кода инициализации в нем же который уже считай не нужен. Эх если бы НБ запускал вложенный в него Exe из себя не извлекая - цены бы ему небыло. Я просто подумал может есть какой-то плагин который разширенно работает с процессами или нечто вроде, хотя опять таки - кажется нереально.
Добавлено (01 Января 2014, 23:45) --------------------------------------------- Одним словом получается что-то вроде контейнера из которого идет запуск. (Сейчас тестирую что в голову приходит - умудрился редактором реестра сделать левый формат - исполняемым типа .exv но толку) )
Да я все понял michem я еще в самом первом сообщении забыл упомянуть о том, что я вкурсе что на любой замок найдется и ключ и отмычка. Зачем секретность? Хочется оставлять контент в рамках площадки которую я готовлю орудуя самыми простыми инструментами. Порой кажется можно придумать что-то гениальное и простое, а это не каждый сначала может заметить, а тем более понять. Да и вообще если часть контента будет иметь стоимость (допустим с расщетом на светлое будущее) получиться один умник приобретет и распылит кучу копий =\ уже не есть гуд. --- Неуж то меня накрыло что я ради этого тему создал -_- Ответ кроется один. Если НБ не может работать с уже исполняемым файлом или следить за ним (чтобы не сделал ноги ) корневой вариант в... в самом этом исполняемом зашить что-то умное, только среда этого умного исполняемого не столь умна как необук. Слава Плагинам и разширениям =) I will alive before dead
Мне хотябы организовать защиту от "Дурака" тоесть тупого копирования, скажем сделать файл уже нерабочим если его попробовать запустить.
Запускайте файл из командной строки, в которой пропишите что-то типа "пароля на запуск".... Если, конечно, та другая среда, в которой сварганен файл, позволяет делать файлы, восприимчивые к параметрам командной строки.
С Новым годом! - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Не понял... А что толку? Файл чужой. Какая разница откуда он его будет запускать?
Извлек в папку темп, и все, его кто угодно скопирует и запустит. Не говоря уже о том что просто посмотрит что это за файл и скачает его. Какую бы там защиту не поставили.
Одно могу сказать, дурак, он даже понятия не имеет где искать этот файл. А тот кто имеет, скачать его уж точно сможет. Не хочешь читать хелп?
А что толку? Файл чужой. Какая разница откуда он его будет запускать?
Гм... А для чего существуют параметры командной строки? Проанализировать параметры, и если что-то не так, то... действовать соотвественно.
Если же, файл чужой и уже скомпилирован, то тогда не пойдет. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Эх о коммандной строке я тоже мечтал, и сейчас отчаянно пытался записать измененный массив hex содержимого calc.exe (для теста) на что был послан на три веселых самой программой А вот идея с паролем мне понравилась в коммандной строке, но та среда не воспринимает параметры коммандной строки. Обоже, как всегда, спросил одно, думал об одном, а в голове уже два! Это как клетки размножаются... эволюционируем! Ок дефрегментируем мысли и по порядку 1 - Пораскинул я и решил вооообще по другому пойти, запрашивать разрешение на запуск у сервера если платформа online вдобавок запускаемая программа будет читать из файла спец параметры которые НБ запишет ну чтото вроде пароля) Но помоему первый вариант черезчур и требует знания php 2 - Я извиняюсь, но спрошу, если запустить программу на нб с параметрами, параметры поместятся в переменную [CommandLine]? А то чтото у меня кривовато выходит контроллировать коммандную строку. Мб я ее неправильно отправляю pro.exe /params OR pro.exe -params P.S. А я надеялся что плагин есть который приблизит меня к упрощению задачи =B а сейчас немного растормошившись вижу что эта функция возможна только на низкоуровневом управлении системой и выглядит по настоящему параноидально и такое писать никто не будет. I will alive before dead
епть, так ты и будешь послан, ты меняешь в папке виндоус, а там системная защита. Вынь его куда нибудь в другое место, и меняй. (я так думаю, или предполагаю. я ж тоже еще пока пить не разучился. )
ЦитатаUserDead ()
параноидально и такое писать никто не буде
Ага, моск работать начал.
Можно что, сделать что то на уровне сервиса (теория, предположение), который будет мониторить буфер, и если там есть путь к этому файлу, очищать буфер, блокировать, или что ты там еще придумаешь... Не хочешь читать хелп?
Навеялся еще вопрос, с целью защиты от шкодников и решения проблемы (от части) однопоточности движка, можно ли сделать программу на нб .... "невидимой" как daemon? I will alive before dead
Не помню точно, процесс по моему убрать нечем, но что тто в памяти колышится, вроде бы как есть что то такое. А окна из панели и из трея есть возможность спрятать. Не хочешь читать хелп?
не сегодня. Или попозже. Ща до ларька дойду, а то все кончилось. Или посмотри у плагина Петра по моему что то есть с этим связанное. Не хочешь читать хелп?
Вот интересные люди, празднуют, а на форум все таки поглядывают =) Я тоже как задроt какой-то, хотя по сути делать нечего. Нашел я мегаклассный (тут же) NeoCommands вот это весчь! А то что нужно это rlFuncrions и (или) ksFunctions. Так что звиняюсь за беспокойствие Сделаем деймон и впилим среди остальных функций контроль буфера обмена (где-то видел возможность читать его содержимое) I will alive before dead
Сообщение отредактировано UserDead - Чт, 02 Января 2014, 13:10
Вот этого кусочка я чуть чуть не понял. Я я просто здесь на сайте нашел целый каталог по плагинам. Ну а то что я работаю на чужом движке с чужими плагинами руководствуясь чужим каталогом собранный на чужом движке... помоему это всегда так выходит. Мне алгоритмичность необука намнооого более понятна чем что либо еще, поэтому он классный, чужой но все таки классный Такъ ну вывод тут по вопросу один, надо любыми методами зашивать в исполняемый защиту от левых запусков, нб тут не силен, а демон который в памяти будет, обеспечит какую никакую защиту для самой программы на нб. До этих мыслей я бы без вас не дошел. Спасибо вам *поклон* I will alive before dead
UserDead, Я тут не совсем понял, может Ваш проект ограничится запускаемыми модулями NB? Там и расширение файла можно поменять, и если мне память не изменяет, то и отображать модули в окне главного приложения можно. А храниться будут в Temp...
Как это? Я чтото упустил в справке? Или вы про отдельный подпрограммы exe написанные на НБ? Я сейчас курил документацию и решил уже проблему на теории, осталась практика. I will alive before dead
Почти оно. Я так понимаю просто указан файл другого формата этот же mdl вместо exe а запус идет как простого exe несмотря на формат верно? I will alive before dead
Модули скомпилированы галкой "в виде запускаемого модуля" это означает что к данному модулю не прикреплён плеер нб, из чего следует два плюса... размер заметно меньше, и если на компе шкодников не будет установленной НБ, либо плеера в нужном месте, то он не сможет запустить и просмотреть модуль как самостоятельный файл.
Хотя я не до конца понял вот эту строчку:
ЦитатаUserDead ()
а вот простую защиту от дурака от копирования этого исполняемого файла увы... нет
Очень интересный вариант Омар. Но та программа которую мне нужно защитить выполнена в другой среде, а значить не можетбыть запущена необуком как модуль. Что касается модулей. что сама программа с кнопками запустилась что сами mdl запустились будучи переименованными в exe но в первой программе при нажатии на кнопки понятное дело пишет о ненайденном как я понимаю плеере. Проблему что я описывал я уже решил на практике, кто подкидывал идеи огроменное спасибо! Сейчас танцую с бубном против декомпиляции файла. I will alive before dead
Проанализировать параметры, и если что-то не так, то... действовать соотвественно.
Найдут. Эти параметры хорошо видны не хитрыми методами. В общем случае, вариантов у ТС два: использовать виртуальную среду (ThinApp, etc) или запуск приложений из памяти программы. Первый не имеет отношения к НБ, второй невозможен её штатными методами. Да и на прямой запуск кода из памяти будут сильно ругаться всякие антивирусы, а винды выше висты, с включенным UAC, вряд ли запустят (не проверял, но думается так). Думаю, забить бы стоило. катился колобок по лесу пел песню он закрыв глаза а как с открытыми катиться когда ты катишься лицом
Не сомневаюсь потому что сам вижу эти параметры, я решил прикрутить чтото другое, пусть параметры и увидят но если начнуть с ними баловаться преложение отрепортит нам о чьейто попытке "потанцевать с бубном" потому что будут дополнительно читаться параметры из файла и запрос данных с сервера. Чтобы уже такое прибрать уже нужно копать исходник который тоже достать надо) Так что теоретически вопрос решен, осталась практика)
Ну, в любом случае, для запуска с памяти надо писать плагин или что-то подобное. Я писал такое лет 5-6 назад, вирустотал в ужасе просто скатывался под стол. В принципе, можно даже сделать exe-файл, контейнер, содержащий шифрованные файлы нужных тебе программ. Нужно только продумать, чтобы их мог запускать только ты. Возможно, активация сборника через твой сервер. С php-кодом могу помочь, есть наработки.
Также можно сделать иначе. Шифровать заголовок exe-файла либо одну его секцию. Либо, что ещё проще, произвольную часть файла. В таком виде файл просто не запустится. Твоя программа расшифровывает нужный участок, затем немедленно запускает файл, а, после инициализации приложения (это когда образ PE-файла загружается в память твоего компа), возвращает всё обратно. Как ты отследишь инициализацию - дело твое, можно просто таймер повесить, если будет работать - ради Бога, можно и так. Суть в том, что, если сравнивать с распаковкой уже готового файла во всякие "секретные" места типа %TEMP%, этот способ хорош тем, что сниффером это отследить так же легко, но вот то и куда твоя программа записала - это уже выяснить куда сложнее. Только отлаживать твою прогу, но это не каждый пользователь может сделать.
Я бы выбрал вариант из второго абзаца. Уж слишком прост и гениален
Добавлено (08 Января 2014, 12:51) --------------------------------------------- Только сейчас правильно прочитал ))
ЦитатаUserDead ()
и запрос данных с сервера. Чтобы уже такое прибрать уже нужно копать исходник который тоже достать надо)
А вот и нет Если только ты не шифруешь запрос к серверу. Иначе - сниффер+прокси, и твоя программа ничего больше на сервер не отправит, зато будет думать, что всё ок. Желательно делать хотя бы так:
Остаётся только повторить алгоритм в НБ и готово. Можно и функции Mcrypt в php использовать, если нужен какой-нибудь 3DES или RC6. катился колобок по лесу пел песню он закрыв глаза а как с открытыми катиться когда ты катишься лицом
Сообщение отредактировано toizy - Ср, 08 Января 2014, 12:54
Toizy, оооочень интересный ответ у вас получился, спасибо) Дойду до этого сектора разработки, уже будет виднее на практике чтои как сделать, как писал куча теории но практики пока нет. Буквально вчера танцевал с примерами на php чтобы склепать самостоятельно скрипт для сбора данных о системе с защитой от левых сливов) Еще чуть чуть и уже нужно воплощать в реальность то что в здесь в постах описано.
Ах да, у меня стоит Anvir task manager и там все прозрачно видно касательно процессов, даже используемые файлы, надо будет посмотреть видно ли там будет эти %temp%... I will alive before dead