Есть небольшой коммерческий спрос на решение, реализованное мною на UO Pilot. Хотелось бы продать это решение в количестве более 1 раза, поскольку без всякой защиты от копирования это решение рискует оказаться в общем доступе или начать перепродаваться.
Стою перед выбором, стоит ли мне начинать этим заниматься и пытаться реализовать защиту от копирования и сокрытие от пользователей факта того что используется на самом деле UO Pilot. Вопрос выбора обусловлен тем, что у меня нет никакого представления о сложностях, возможностях и вариантах реализации подобных задач. Суть задач - сокрыть элементы интерфейса и сделать кликер визуально неузнаваемым, а так же сокрыть исполняемый код скрипта и взаимодействие с кликером свести к заполнению полей для ввода некоторых параметров. В остальном реализовать защиту по Hardware ID, так что бы помешать пользователям свободно передавать это решение между собой.
И надеюсь, ничего предосудительного со стороны сообщества данного форума я не задумал, поскольку мои помыслы не претендуют нарушить какое либо лицензионное соглашение? Да и на самом деле много на этом заработать у меня не выйдет в любом случае, но тем не менее спортивный интерес по монетизации хобби все же возник и хотелось бы получить наводки, подсказки и советы по данной теме.
Запуск его на каком-то своем сервере, а юзеры взаимодействуют с ним ключами или типа того.
Есть одна очень простая формула "насколько надо"/защита. Если будет реально надо - все равно сломают. Вообще самый простой на мой взгляд спобособ скомпилить под луа, там же какие-то моменты защиты предусмотреть. Базовые защиты. Типа имени перса или если получиться легко дернуть hardware id. Но если будет нужно - сломают. Смысла замаричаться с крутой защитой просто нет. Вспомните гта4 - ввалено 100 000 000 долларов только в защиту - итог кряк написан еще до офф релиза.
--lua
local arr, a = findimage (0, 0, 1920, 1080, {[[C:\111.bmp]]}, 2) -- поиск картинки
if arr then -- если найдена
move (arr[1][1], arr[1][2]) -- навести курсор на неё
end
Но findimage, это оператор, функционирующий исключительно в UO Pilot? Код, приведенный вами, будет работать в UO Pilot, но не в Lua отдельно от UO Pilot?
DarkMaster предложил скомпилить под луа, но в этом случае, на сколько я понимаю, придется отказаться от встроенных в UO Pilot функций (таких как findimage) и обходится исключительно тем что есть в Lua.
Поэтому я и спросил, существуют ли в Lua готовые решения поиска картинки на экране, функционирующие подобно оператору Findimage в UO Pilot? Или что я понимаю неправильно?
Lua встроен в пилот. Включается с помощью --lua в первой строке. Все доступно, все работает.
А что в данном случае означает "скомпилить под луа"? Пользователю придется использовать UO Pilot с той лишь разницей, что весь код скрипта будет лежать в зашифрованном lua файле и подгружаться в UO Pilot, так что пользователь будет видеть UO Pilot, но код скрипта видеть не будет (кроме строчки подгрузки этого файла)? Или что я понимаю неправильно?
Создайте ярлык/батник для пилота с ключами на запуск скрипта. В настройках пилота выставить запуск в трей, запускать свернутым. В скрипте прописать скрытие окна.
я когда фрилансил любил такой херней пострадать, чтобы обезопасить себя пока ПО тестят и еще не оплатили его.
- Hardware ID делал, но это банально
- из простого на пару строк - обращение к текстовому файлику на моем сайте, в котором "1", если ПО получило ответ "1", то все норм.
- делал ключи, за ПО закрепляется ключ, хочешь передавай ПО 3тим лицам, но одновременно 2 ПО с одинаковым ключем и разными IP положительного ответа от бекэнда не получат
- делал чуть интереснее вышесказанного, типа криптование. ПО кодирует цифру алгоритмом например: (год*день_недели*минута)/месяц и шлет ее бэкэнду, бэкэенд его проверяет по тому же алгоритму и в случае положительного результата возвращает ответ по второму похожему алгоритму, который так же есть в ПО. если пользователь просниферил и придумал как совать в ПО эти циферки чтобы обойти защиту, то понять алгоритм не так просто и если будет подсовывать ПО херню, то дальше не буду говорить что -)
понятно, что все это можно обойти, но пострадать этим было занимательно)
Самое простое решение, как сказал DarkMaster - это скомпилить Lua и прятать окно пилота. В самом коде предварительно ты можешь указывать Hardware ID, если он заранее будет известен тебе. С помощью какого-то софта из интернета можешь изменить иконку и имя приложению, если принципиально.
На выходе получится, что юзер получивший копию софта сможет запускать его только на указанном ПК, в противном случае скрипт выдаст ошибку с твоим уведомлением.
Подобное можно сделать еще рядом методов, включая полный редизайн пилота и его функций, но сомневаюсь что идея себя окупит даже при наличии соответствующих навыков. Так что первый вариант наиболее приемлем.
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)