Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ UO Pilot _ Шифровка скрипта

Автор: yuroc 31.10.2014, 17:31

Здравствуйте, ув. форумчане,
возможно ли каким-либо способом зашифровать текст скрипта?т.е. чтобы его нельзя было ни скопировать, ни изменить... ?
либо же сделать так,чтобы текст скрипта вообще не было видно в пилоте?
или вплоть до того,чтобы и самого пилота не было видно... а управлять им чисто из батников?
за ранее спасибо

Автор: Kanibal 31.10.2014, 18:04

Цитата(yuroc @ 31.10.2014, 16:31) *

Здравствуйте, ув. форумчане,
возможно ли каким-либо способом зашифровать текст скрипта?т.е. чтобы его нельзя было ни скопировать, ни изменить... ?
либо же сделать так,чтобы текст скрипта вообще не было видно в пилоте?
или вплоть до того,чтобы и самого пилота не было видно... а управлять им чисто из батников?
за ранее спасибо

А зачем такое делать, если не секрет? Скрыть пилот с глаз долой можно через VB Script, будет только в процессах висеть, но сам файл скрипта всё равно можно будет прочесть.

Автор: yuroc 31.10.2014, 18:29

делать это для того,чтобы не было копирования скрипта =)
в игре хочу дать одному человеку скрипт, но так, чтобы он не мог его передать другим

Автор: Kanibal 31.10.2014, 18:36

Цитата(yuroc @ 31.10.2014, 17:29) *

делать это для того,чтобы не было копирования скрипта =)
в игре хочу дать одному человеку скрипт, но так, чтобы он не мог его передать другим

Я думаю, что тут без вмешательства в uopilot.exe будет сложно что-то придумать. Разве что тот человек совсем чайник.

Автор: yuroc 31.10.2014, 18:46

да я тоже так думаю... конечно, как вариант, можно как можно максимум изменить внешний вид uopilot.exe, до не узнаваемости, привязать его к какому-то ключу лицензии\железу, чтоб на других не запускался, но это (изменить внешний вид) до не узнаваемости, наверное не реально

Автор: WKnight 6.11.2014, 5:39

Наверно все-таки узнаваемо smile.gif


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: Zeleax 8.11.2014, 9:52

Цитата(WKnight @ 6.11.2014, 5:39) *

Наверно все-таки узнаваемо smile.gif

И что это, как это? )

Автор: DarkMaster 8.11.2014, 12:03

Я так подозреваю это смесь пилота и инжекта.

Автор: EL-GReeN 8.11.2014, 15:10

Если хорошо знать пилот то можно сделать ОЧЕНЬ длинный запутанный код с привязкой к чему то, readmem есть, и наверно как то можно реестр читать.
Но если твой друг хорошо разбирается в пилоте то все на смарку.

Автор: Mirage 8.11.2014, 16:49

А "друг" не может просто передать зашифрованный скрипт кому то еще чтобы он тоже им пользовался? smile.gif Какая разница - не хочешь делиться не передавай.

Автор: Cockney 8.11.2014, 16:57

Цитата(Mirage @ 8.11.2014, 17:49) *

А "друг" не может просто передать зашифрованный скрипт кому то еще чтобы он тоже им пользовался? smile.gif Какая разница - не хочешь делиться не передавай.





упоминалась привязка к железу

Автор: DarkMaster 8.11.2014, 16:57

шифрованный проще привязать. Например сделать readmem имени чара и все норм.

Автор: yuroc 10.11.2014, 22:09

подскажите на счет readmem, как именно его тут можно использовать?да и скрин с узнаваемостью тоже заинтересовал)))

Автор: DarkMaster 10.11.2014, 23:23

если сам скрипт не "завернешь" в пилот от глаз пользователя - толку не будет.
Что именно подробнее про редмем? Берешь артмани, ищешь в памяти клиента адрес с логином или ником чара, в скрипте считываешь этот адрес, сравниваешь с заранее заданным, если не совпал - останавливаешься скрипт.

Код
readmem $var 0x123456 S 7
if  $var = "Василий"
    gosub main
else
    stop_script
end_if

Тут есть потенциальная дырка. Оно будет работать со всем начинающимся на "Василий". Чтобы этого не произошло, нужно считывать размер не '7', а максимально возможный размер логина/ника, либо считывать посимвольно, пока не дойдешь до символа конца строки '\0'(он равен нулю). Но тут тоже нужно быть аккуратнее. Если логин хранится в char массиве, то '\0' будет почти обязательно, а вот в стринге может и не быть или быть их несколько, т.к. стринг имеет помимо самой строки еще и параметр размера, который хранится в отдельной переменной и для определения конца строки может использоваться именно это переменная, а не символ '\0'.
В общем и целом - спрячешь скрипт, вернемся к вопросу плотнее, напишем что-нибудь дельное.

Автор: cirus 11.11.2014, 3:03

Цитата
Берешь артмани, ищешь в памяти клиента адрес с логином или ником чара, в скрипте считываешь этот адрес, сравниваешь с заранее заданным, если не совпал - останавливаешься скрипт.

Адреса логина и пароля нашлись, а вот читать не хочет, возвращает -1.
Код
readmem $var 0x20789F8E S 11
//размер никак не влияет проверял разные значения
//Тип: текст UNICODE 22 байта (для логина) и 26 байт (для пароля)
//Размер 11 и 13 соответственно.
//Для пароля есть еще тот же самый адрес, но UNICODE 16 байт

Еще такое дело: запускаю 2 окна л2 ввожу логины и пароли, захожу в игру. Адреса логина и пароля уже найдены (они статичны, 1 адрес для логина, 1 адрес для пароля). Выбираю в артмани процесс л2 (1-е окно) показывает логин и пароль 1-го окна , выбираю процесс л2 (2-е окно) показывает логин и пароль 2-го окна. Получается в 1 адрес пишутся все логины? И во второй адрес все пароли? И как их вообще читать?

Автор: DarkMaster 11.11.2014, 10:59

Цитата
Получается в 1 адрес пишутся все логины?

Адреса не физические, а программные. Для каждого приложения своя нумерация. К физической адресации памяти из винды, насколько мне известно, добраться не возможно. В никсах есть возможность на уровне ядра.

В артмани снимал галку модульной адресации? Надо было снять.

Автор: cirus 11.11.2014, 12:00

Цитата
В артмани снимал галку модульной адресации? Надо было снять.

Всегда снята. Забыл что к окну надо привязывать smile.gif Возвращает только первый символ из логина или пароля, не зависимо от указанного размера строки.

Автор: WKnight 11.11.2014, 12:57

Цитата
Я так подозреваю это смесь пилота и инжекта.
Нет, просто оболочка для какогото бота. Внутри все тот же пилот.

Автор: DarkMaster 11.11.2014, 13:27

Подозреваю, что из-за кодировки. Попробуй в качестве теста читать и прибавлять по 1 к адресу и снова читать. Есть у меня подозрение что из-за кодировки. Доп байты пустые, т.е. равны 0, а 0 - это '\0', т.е. конец строки. Пилот возможно воспринимает этот знак, как конец строки и соответственно прекращает чтение.

Автор: cirus 11.11.2014, 13:41

Код
 Попробуй в качестве теста читать и прибавлять по 1 к адресу и снова читать

Спасибо. Работает, символы расположены через 1 адрес.

Автор: DarkMaster 11.11.2014, 15:27

Цитата
Спасибо. Работает, символы расположены через 1 адрес.

На самом деле нет, просто разница кодировок. Именно это я и предполагал =)

Автор: IvaniuS 13.11.2014, 2:08

очень интересная тема, если бы можно было как-то зашивать в пилот скрипт и давать только его и запускать, мне как фрилансеру очень бы пригодилось на будущее, пока не получается на пилоте зарабатывать, только с помощью селениума +VBS,VBA .
А к стати, реально ли привязать библиотеку селениума к Пилоту??? очень была бы крутая уж связка. Тем более для всех известных мне языков есть порт начиная от С закачивая скриптовыми фитонами и ВБА, ВБС

Автор: DarkMaster 13.11.2014, 2:25

Цитата
А к стати, реально ли привязать библиотеку селениума к Пилоту???

Реально привязывать по сути что угодно. Просто необходимо будет писать длл-прокладку между ним и пилотом. По сути все содержимое длл - это парсинг входящих параметров для дальнейшей передачи.

Автор: WKnight 13.11.2014, 7:26

Цитата
очень интересная тема, если бы можно было как-то зашивать в пилот скрипт и давать только его и запускать,

Скрипт теоретически в пилот зашить можно, например в ресурс покласть, но нет приемлимых механизмов защиты скрипта от любопытных пользователей.

Автор: EL-GReeN 13.11.2014, 8:55

Сохранить скрипт в зашифрованный файл.
Запустить этот файл без отображения текста скрипта.
Вот чего они хотят, да кому надо вытащат скрипт из процесса но это уже другая история.

Автор: IvaniuS 14.11.2014, 9:59

Цитата(WKnight @ 13.11.2014, 6:26) *

Скрипт теоретически в пилот зашить можно, например в ресурс покласть, но нет приемлимых механизмов защиты скрипта от любопытных пользователей.

Я думаю этого достаточно "защиты от дурака", кому нужно будет тот или сам весь интернет перероет или заплатит кому и достанет.

Автор: Moonfawn 5.1.2015, 17:47

Цитата(EL-GReeN @ 13.11.2014, 8:55) *

Сохранить скрипт в зашифрованный файл.
Запустить этот файл без отображения текста скрипта.
Вот чего они хотят, да кому надо вытащат скрипт из процесса но это уже другая история.


Тема до сих пор актуальна, но предложения по её реализации ни от кого так и не поступило.

Резюмирую что люди хотят:
1. Скрыть основную часть скрипта - да бы не допустить его бесплатного распространения
2. Возможность установить УОпилот со скриптом только в случае наличия ключа, привязка данного УОпилота к машине (например проверяет наличие в реестре ключа или привязывается к жесткому диску). Такое ощущение что кто то уже давно написал подобное ПО - но вот вопрос как оно называется или как искать....

Автор: Cockney 5.1.2015, 18:44

куча предложений по реализации,только толку их писать?это не перспективная задача для разработчика пилота(хотя вроде пока все стабильно работает и ничего фиксить не надо)

софт есть и не мало,стоит поискать только

Автор: RL_ka 5.1.2015, 19:51

Как я понимаю люди хотят зарабатывать на этом деньги, продавая свои скрипты в закрытом виде.
Система сложная, даже очень, потому что в ином случае это будет взламываться в два счёта.
Хочешь зарабатывать - разрабатывай подобное самостоятельно.

Исходники, например, инжекта есть в свободном доступе. Берёшь в руки и в путьsmile.gif

Автор: Cockney 5.1.2015, 20:07

таки кнайт тоже может заработать на этом

Автор: Moonfawn 5.1.2015, 20:36

Цитата(Cockney @ 5.1.2015, 18:44) *

куча предложений по реализации,только толку их писать?это не перспективная задача для разработчика пилота(хотя вроде пока все стабильно работает и ничего фиксить не надо)

софт есть и не мало,стоит поискать только

Это не в коих случаях не камень в огород разработчика UoPilot - и так огромное спасибо на том что есть такая прекрасная программа.

Позволю себе порассуждать на тему "скрытности" скрипта или его части. Эта функция простимулирует скриптеров писать скрипты, и делиться ими (продавать). Как вариант можно было бы сделать "профессиональную" версию для скриптеров они могли бы её покупать (так как цель у них заработать на этом).

Касательно установщика погуглил и действительно нашел Actual Installer 5.6 - pro версия позволяет устанавливать программу при наличии серийника. Теперь остается каким то образом спрятать скрипт и сделать привязку к компьютеру

Цитата(RL_ka @ 5.1.2015, 19:51) *

Как я понимаю люди хотят зарабатывать на этом деньги, продавая свои скрипты в закрытом виде.
Система сложная, даже очень, потому что в ином случае это будет взламываться в два счёта.
Хочешь зарабатывать - разрабатывай подобное самостоятельно.

Исходники, например, инжекта есть в свободном доступе. Берёшь в руки и в путьsmile.gif


Ну зачем усложнять себе жизнь и писать что то с нуля (тем более при отсутствии навыков программирования). С Инжектом пока не работал так как не для ультимы онлайн у меня затея (я так понимаю он больше под нее заточен, тогда как УОпилот работает с любым приложением.

Касаемо уровня защиты - ну мы же не фотошоп продаем, а всего то скрипт на который потратили свое время, и набили опыт. Тот кто может взломать\достать скрипт и.т.п. без труда сможет и сам скрипт написать.

Автор: Moonfawn 6.1.2015, 1:17

Цитата(WKnight @ 13.11.2014, 7:26) *

Скрипт теоретически в пилот зашить можно, например в ресурс покласть, но нет приемлимых механизмов защиты скрипта от любопытных пользователей.


Да простит меня разработчик UoPilot (а это как я понимаю Вы). Но я тот самый любопытный пользователь который установил Ресторатор, и пытаюсь порыться в ресурсах Уопилота в попытке найти параметр отображения окна редактора (там где сам скрипт). Нашел кусок кода:
Код
goAlwaysShowEditor


Убрал его -но окно редактора так и присутствует. Пытался найти ссылки на SynEdit но и этого нет.

За то в процессе пользования обнаружил интересную вещь (не знаю баг или нет) при запущенном скрипте нажимаю Альт+ф4 - и то самое окно редактора которое мне хочется спрятать - скрывается (скрипт запускал кликом по кнопке плея). Сейчас попробовал повторить этот опыт почему то не прокатывает, может из за "задержек" на исполнение скрипта - помню было в районе 100 мс и не было команды на ожидание после посыла клавиши.

Автор: Cockney 6.1.2015, 1:26

все это - извращение,которое будет расковыриваться за два часа и менее.


самый надежный вариант - клиент-серверная защита,все,остальное - шлак

Автор: Warstone 6.1.2015, 6:34

А можно я предложу компиляцию?..

А вообще - вы всегда можете перехватить CreateWindowEx и по классу окна узнать поле-ли это ввода и не создавать его. Насколько я помню компоненты Delphi у них раза 3 копируется текст, прежде чем он появится в SetWindowText (или как оно там зовется).

Автор: DarkMaster 6.1.2015, 8:26

Цитата
А можно я предложу компиляцию?..

А можно ты ее сделаешь?)

Автор: Moonfawn 6.1.2015, 14:21

Цитата(Cockney @ 6.1.2015, 1:26) *

все это - извращение,которое будет расковыриваться за два часа и менее.
самый надежный вариант - клиент-серверная защита,все,остальное - шлак


Cockney спасибо за заботу, ну вы поймите - что взламывается все что угодно - начиная от Фотошопа, и Винды - которые стоят в эквивалентах денег и времени куда больше чем 50-100 строчный скрипт который я или другие хотят продать 10 раз по 100 рублей например. Речь просто о простой защите в том плане что бы каждый 2-ой купивший по доброте душевной не делился этим на своем форуме\сайте, или не изменял и не перепродавал =) Единицы людей из 1000 понимают что такое "ресурсы" - я об этом только вчера например узнал. И вообще много нового для себя открыл.

Даже поставил вижуал студио и пытаюсь разобраться с Активатором, который не дает запустить приложение без валидации на серверной стороне ключа доступа. Думаю многим будет полезно https://activatar.codeplex.com/ - вот сайт. Это первый уровень защиты - пилот просто не запустится на другой машине так как не будет совпадать данные по системе (если есть желающие помочь с этой штуковиной сам я не очень программист - то welcom wink.gif .

Второй уровень защиты как я предполагаю - это "скрыть" "перекрыть" окно редактора, и как предложил Wknight засунуть сам скрипт в ресурсы. Вполне доступная защита которая "сдержит" буйное распространение скрипта на первое время.

Цитата(Warstone @ 6.1.2015, 6:34) *

А можно я предложу компиляцию?..

А вообще - вы всегда можете перехватить CreateWindowEx и по классу окна узнать поле-ли это ввода и не создавать его. Насколько я помню компоненты Delphi у них раза 3 копируется текст, прежде чем он появится в SetWindowText (или как оно там зовется).


При помощи ресторатора методом перебора пробую скрыть или уменьшить окно редактора - но пока что все попытки тщетны. Может вы знаете как эти функции вызывающие или отображающие редактор называются. Я как понимаю все настройки лежат в этом (самом большом файле TFMMAIN выгрузил его в открытый доступ может кто поможет найти это https://drive.google.com/file/d/0BzUrtU_8uc4AQklMdzRjclpjb1U/ )

Автор: Warstone 6.1.2015, 14:21

Цитата
А можно ты ее сделаешь?)

Я ее могу сделать. Как я довольно давно уже говорил - у пилота структурные проблемы. Они с парсером, со... всем. Там надо передумывать многое (не все, сразу скажу).

Автор: Warstone 6.1.2015, 14:36

Есть 2 варианта...
1) Кнайт, подскажи - поле редактирования клиента создается в рантайме, да? Его в дизайнере нету-же, правда?
2) Если есть, то скорее всего вам надо химичить с этим кодом:

Код
object mmoText: TMemo
      Left = 8
      Top = 8
      Width = 417
      Height = 47
      TabOrder = 0
    end
Но не уверен. Я-бы считал что там 1е. Если первое, то в этих файлах вы не найдете того, что ищете.

Автор: Cockney 6.1.2015, 14:49

не обязательно же пихать в пилот,можно компилятор вынести в отдельный модуль

Moonfawn, клиент-сервер способен защитить все куда надежнее,если использовать шифрование,то получить скрипт как из трафика так и из памяти уже почти нереально, скрипт будет построчно грузиться построчно и сразу выполняться(либо сразу целиком), доступ осуществляется по предварительно зарегестрированному ключу(к железу привязка),и в итоге получается что ни скопировать ни отдать этот скрипт никому не получится. и главное - это не требует огромных трудозатрат, и + коммисия в карман кнайту за место под скрипт на сервере

Автор: Moonfawn 6.1.2015, 15:02

Цитата(Warstone @ 6.1.2015, 14:36) *

2) Если есть, то скорее всего вам надо химичить с этим кодом:
Код
object mmoText: TMemo
      Left = 8
      Top = 8
      Width = 417
      Height = 47
      TabOrder = 0
    end


Спасибо!
Попробовал поменять эти значения несколько раз ни как не реагирует редактор на них .

Так же решил попробовать воздействовать на шрифт редактора (попытавшись выудить его местонахождение в этом файле) поменяв Microsoft Sans на Impact во всех возможных значениях - на редактор тоже не повлияло.

Автор: Warstone 6.1.2015, 16:02

Цитата(Cockney @ 6.1.2015, 14:49) *
получить скрипт как из трафика так и из памяти уже почти нереально
Как 2 пальца, если дибилы писали. Проверено.

Автор: Cockney 6.1.2015, 16:26

ну получить можно иероглифы, а дальше то что?

Автор: Warstone 6.1.2015, 22:39

Я-то текст получу.

Просто потому что будет место, когда код в открытом виде будет передан инструменту выполнения.

А вот если компилировать, то текста не будет. Что я и предлагал

Автор: Cockney 6.1.2015, 22:40

ну это как закрыть это место...

Автор: Warstone 6.1.2015, 23:05

IDA все вскроет.

Автор: Moonfawn 7.1.2015, 0:17

Цитата(Warstone @ 6.1.2015, 23:05) *

IDA все вскроет.

Вообщем провозился с попыткой скрыть текст скрипта целый день, ничего не вышло. Завтра еще рога поломаю, но я уже к вечеру начал думать а черт бы с ним - продавать так в открытом виде и с комментариями - пускай учатся и пользоваться фотошопами для определения координат и цветов, вкуривают мануалы и юзают поиск smile.gif

Автор: Cockney 7.1.2015, 1:14

так почему не напишите компилятор?

Автор: WKnight 13.1.2015, 7:58

Цитата
1) Кнайт, подскажи - поле редактирования клиента создается в рантайме, да? Его в дизайнере нету-же, правда?
Кстати да...

Шрифт для редактора берется из конфига.

Автор: zvzead86rus 18.1.2015, 18:21

всем Ку, подобную тему тоже создал, но мне сразу сказали "НЕТ" тут я почитал и понимаю что всё таки несколько вариантов для защиты скрипта есть. Поддержу тех кто заявляет то что те кто взломают защиту могут и сами скрипт написать. Достаточно защиты от чайников, хотя бы так чтобы скрипт было видно но если текст скрипта скопировать и передать другому что бы не работало. пускай это будет 1 строчка в которой нужно будет вписать свои цифарки((символы) уже хорошо, многие даже до туда не дойдут! Из того что вы написали не всё понятно, точнее почти ничего не понятно)))) но вот был вариант считать реестр и сравнить, хотя бы как это сделать подскажите! какие команды , что читать, пример если можно.
P.S. спасибо DarkMaster что подсказал эту тему

Автор: Cockney 18.1.2015, 18:39

сами ничего вы не сделаете,нужно пилот сам править

Автор: zvzead86rus 20.1.2015, 18:07

что то надо однозначно выдумать))

Автор: Warstone 20.1.2015, 21:19

Да блин... ну все-же понятно как сделать... Берете либу, пихаете ее в старт ехе (Кнайт, дай непожатый ASPack'ом клиент), в либе перехватываете CreateWindowEx и классом поля редактирования (надо смотреть что за класс, может так просто и не получится), в фигачите ей WM_HIDE в класс. После этого на 2-3 АПИшки подписываетесь и не даете воткнуть WM_SHOW в это окно. А так-же при старте записываете туда ваш скрипт...

В результате у вас окно редактора не видно.

Делов на 2-3 вечера. Вскрывается просто (скрипт в самой dll), но не так просто, если не знать куда смотреть.

Если скучно будет - нарисую систему, код выложу в гугль коде. Вскрываться такая длл будет на ура, конечно. Можно сам код срипта еще подписывать чем-нибудь. Тогда будет сложнее.

Подумал - надо еще CreateFile перехватить, чтобы ничего не писало куда не надо и RegQueryKey, чтобы не читало дефолты. После этого можно через дефолты скормить ей неправильный путь и при обращении туда - подсовывать свой код в нее.

Если оп уму - неделя кодинга. Ладно... С 2-3 дня я промахнулся ))

Автор: Warstone 21.1.2015, 2:25

https://code.google.com/p/uop-crypscript/

Пока там только инъекция (собрал из того что было). Нормального ничего нету.

Использование:

Собрали либу, положили рядом с ней УОПилот (забекапили его), написали вот такой батничек:

Код
rundll32 CryptedScript.dll,Infect32 uopilot235.exe
pause
Запустили. Если не поругался, то рядом должен появиться uopilot235.exe.backup
Запустили uopilot235.exe если появилось окошко с надписью Bingo! - все запахало.

Автор: Warstone 21.1.2015, 2:36

Кнайт, компонентик-то вот так называется: TSynMemo ??

Автор: WKnight 26.1.2015, 5:53

Цитата
Кнайт, компонентик-то вот так называется: TSynMemo ??
Да.
Цитата
Кнайт, дай непожатый ASPack'ом клиент
upx, распаковывается им же. За непожатым идти далеко.

Автор: zvzead86rus 29.1.2015, 15:33

Жесть! я ни чё не понял, для дебилов, без сленга прогерского , как это сделать? или дебилам не понять?

Автор: DarkMaster 29.1.2015, 15:57

Ждать чуда, что варстон доделает, а не в очередной раз очень много наговорит wink.gif

Автор: Warstone 29.1.2015, 16:51

Я в 12 до дома доходу постоянно... Могу текущее скинуть, но оно не выполняет то, что надо )))

Цитата(zvzead86rus @ 29.1.2015, 15:33) *

Жесть! я ни чё не понял, для дебилов, без сленга прогерского , как это сделать? или дебилам не понять?
Там все построено на соплях... Смысл в том, что или запретить окну отрисовываться и реагировать на некоторые сообщения или запретить реагировать на сообщения и накрыть поверх еще одним окном.

Сам скрипт зашивать в dll.

Цитата(DarkMaster @ 29.1.2015, 15:57) *

Ждать чуда, что варстон доделает, а не в очередной раз очень много наговорит wink.gif
Обычно я смотрю на реакцию. Если все молчат, значит никому ничего не надо и толку?..
Так с UOExt стало.

Автор: Cockney 29.1.2015, 21:18

какая реакция,если даже не понятно,как это юзать

Автор: Warstone 29.1.2015, 21:43

Так не доделано )) Было-бы доделано...
На выходных попробую 2 вещи:
- перекрыть окно новым.
- Отобрать DC у окна или подменить его "взятие" на свое, чтобы туда вообще никто никогда ничего не рисовал.

Ну а дальше будет дело техники... Там все просто.

Но это все - хорошо если завтра. На сегодня - тест Вексоров в С1 в спайдере. Получился фит на 14КК. Если протанчат - будет вообще хорошо. Но есть мнение, что надо впихивать LSE, так как подушки нету вообще.

Автор: zvzead86rus 29.1.2015, 21:49

ну теперь понятно какой будет итог. пока только это и понятно)) я так понял это пока только в теории и надо проверять\пробовать . ну если получится было бы клёва подробную инструкцию посмотреть, какой софт нужен, куда тыкать, и чего не тыкать)))

Автор: Warstone 29.1.2015, 21:59

Если для использования, то никакой не нужен будет (В поставке будет dll и txt фаил, в котором будет написано как этим пользоваться). Если для разработки - Delphi XE.

Автор: zvzead86rus 29.1.2015, 22:01

Цитата(Warstone @ 29.1.2015, 21:59) *

Если для использования, то никакой не нужен будет (В поставке будет dll и txt фаил, в котором будет написано как этим пользоваться). Если для разработки - Delphi XE.

не понял) я напишу сурипт, скину кому то и этот кто-то не сможет прочитать и/или поделится скриптом. вот для чего нужно)

Автор: Cockney 29.1.2015, 22:28

а если так?:
создать класс synmemo из dll,воткнуть туда код,и передать ссылку на класс этот в обработчик пилота.

тогда ничего перекрывать не нужно,так возможно?

Цитата(zvzead86rus @ 29.1.2015, 22:01) *

не понял) я напишу сурипт, скину кому то и этот кто-то не сможет прочитать и/или поделится скриптом. вот для чего нужно)



напишешь,обработаешь его,и дашь кому-то,небоясь,что он получит распространения

Автор: Warstone 29.1.2015, 22:33

Цитата
создать класс synmemo из dll,воткнуть туда код,и передать ссылку на класс этот в обработчик пилота.
Ссылку на конструктор ты искать в пилоте будешь?..
А обработчик тоже ты искать будешь?

Мой вариант чем хорош, он не требует никакой информации о бинаре пилота, он его "накалывает" исключительно модифицируя оружающее пространство.
Ну кто-ж знал, что при Классе TSynMemo теперь создается окно поверх текущего?
Кто-ж знал, что при загрузки теперь перехватывается работа с реестром и там черном по белому написано что у нас Х вкладок было открыто их код надо прочесть по пути /nowhere/tab0, /nowhere/tab1 и т.д. и что Винда научилась с такими путями работать?..

Кнайт не знал )))

Цитата(zvzead86rus @ 29.1.2015, 22:01) *

не понял) я напишу сурипт, скину кому то и этот кто-то не сможет прочитать и/или поделится скриптом. вот для чего нужно)
Я тоже видно твой первый вопрос не понял. Ты спросил как этим пользоваться, я сказал что если тебе пользоваться, то в текстовичке будет написано - как. Если разрабатывать, то вон то и вот так.

Автор: Cockney 30.1.2015, 0:05

ну,вы же сведущи в копании программ..

с деде можно найти имя процедуры обработки,а адрес memo будет рядом,думаю так,да

Автор: Warstone 30.1.2015, 13:18

Цитата
с деде можно найти имя процедуры обработки
Конструкторы не анонсируются в VMT (Virtual Method Table). У них нету имени в бинаре. То ест просто по имени так сделать нельзя... Да и не надо ))

Автор: Cockney 30.1.2015, 14:09

короче,ладно,пусть и так будет)в конце-концов это не так важно..

Автор: DarkMaster 30.1.2015, 15:44

Цитата
Обычно я смотрю на реакцию. Если все молчат, значит никому ничего не надо и толку?..

Мне про драйверок напомнить или не будем в грязь лицом?)

Автор: zvzead86rus 30.1.2015, 16:35

ждём ваших трудов, я правда опять ни чё не понял XD

Автор: beremiz 28.4.2019, 20:43

привет

Я искал везде, и только нашел эту тему, и даже тогда ответы не были объективными. Кому-нибудь удалось зашифровать код, сгенерированный в UOPilot?

Автор: RaX 6.7.2020, 6:19

Цитата(Warstone @ 30.1.2015, 19:18) *

Конструкторы не анонсируются в VMT (Virtual Method Table). У них нету имени в бинаре. То ест просто по имени так сделать нельзя... Да и не надо ))


Внезапно тема умерла пять лет назад. И кажется, сам пилот тоже умирает.

Несколько дней назад я пришел к вам на форум, чтобы написать простой кликер. Перебрал много вариантов, но остановился на пилоте, как самом удобном из вариантов. Внезапно, сам того не ожидая, некоторые люди захотели у меня его купить. И тут созрел бизнес план...

Это была предыстория.

Что нам нужно: возможность защитить свои скрипты от копирования.

Как нам это нужно:
1. зашифровать код. Картинки могут остаться как прежде, они вообще не интересны.
2. Передать зашифрованный код в обработчик uopilot.
3. В обработчике код будет расшифровываться по ключу. Ключ можно генерировать ручками, для каждого пользователя, я не против это делать.
4. Запрашивать по https текущую дату. Если я буду продавать "лицензию" на свою программу временно.
5. Убрать окно с кодом. Очевидно.

Что можно добавить:
1. Прописывать свой "лицензионный ключ" в реестр. Чтобы только с одного компа запускалось. Но это можно сделать средствами http через свой сайт на каком-нибудь дешевом хостинге.
2. Изменять окно пилота, добавлять чекбоксы и поля integer. Этого будет достаточно, чтобы менять переменные в коде.

Что нам не нужно:
1. Мудреная защита.
2. Долго ждать.
3. Мертвый форум.

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

Какие из этого плюсы: финансовая поддержка разработчикам пилота. Привлечение новых разработчиков их материальной заинтересованностью в пилоте. Развитие самого пилота.

Надеюсь, что эта лошадь не сдохла и её ещё можно оживить.

Я, как новеньки, искренне надеюсь, что эта платформа ещё жива и что она как-то будет развиваться. После пяти лет молчания. Мало-ли...

Автор: Cockney 6.7.2020, 12:26

Цитата(RaX @ 6.7.2020, 6:19) *


Как нам это нужно:
1. зашифровать код. Картинки могут остаться как прежде, они вообще не интересны.
2. Передать зашифрованный код в обработчик uopilot.
3. В обработчике код будет расшифровываться по ключу. Ключ можно генерировать ручками, для каждого пользователя, я не против это делать.
4. Запрашивать по https текущую дату. Если я буду продавать "лицензию" на свою программу временно.
5. Убрать окно с кодом. Очевидно.

Что можно добавить:
1. Прописывать свой "лицензионный ключ" в реестр. Чтобы только с одного компа запускалось. Но это можно сделать средствами http через свой сайт на каком-нибудь дешевом хостинге.
2. Изменять окно пилота, добавлять чекбоксы и поля integer. Этого будет достаточно, чтобы менять переменные в коде.


Бесперспективно. Это методы 2000-х годов. Отламывается на раз-два. Советую посмотреть в сторону онлайн сервисов. Т.е. у пользователя есть только учетка, а все остальное выполняется на сервере.

Автор: Fors1k 6.7.2020, 15:13

Цитата(RaX @ 6.7.2020, 6:19) *
...

Если ваш скрипт на луа, то пришлите мне код по ссылке в подписи. Думаю можно будет сделать то, что вы хотите.

Автор: RaX 7.7.2020, 9:08

Цитата(Fors1k @ 6.7.2020, 21:13) *

Если ваш скрипт на луа, то пришлите мне код по ссылке в подписи. Думаю можно будет сделать то, что вы хотите.

В этой теме, кажется, обсуждалось, что луа компилируется в байт код, которй декомпилировать легко. И нам нужны функции пилота.

Цитата(Cockney @ 6.7.2020, 18:26) *

Бесперспективно. Это методы 2000-х годов. Отламывается на раз-два. Советую посмотреть в сторону онлайн сервисов. Т.е. у пользователя есть только учетка, а все остальное выполняется на сервере.

Если я хочу написать бота для игры, то нет, это не инетересно. Предпологается, что у меня будет на одной машине запущено 100 пилотов, подключенных к 100 нокс плееров, в которых открыто 100 игр и 100 разных учеток. Дорого выйдет содержание сервера.

Пусть отламываются, игры обновляются достаточно часто. И при одном из обновлений многие функции перестанут работать. Более того, рассчет не на тех, кто может сломать. Большинство этим заниматься не будет.

Автор: Cockney 7.7.2020, 11:44

Цитата(RaX @ 7.7.2020, 9:08) *

Пусть отламываются, игры обновляются достаточно часто. И при одном из обновлений многие функции перестанут работать. Более того, рассчет не на тех, кто может сломать. Большинство этим заниматься не будет.



Любой софт, игры выпускается в "рассчет не на тех, кто может сломать". Но защиту имеют. Если бот будет представлять хоть какой-то интерес для сообщества, а тем более для сообщества таких халявщиков как ботоводов, то он будет благополучно сливаться после очередной обновы, ибо там из версии в версию максимум что поменять можно - ну шифрование, ну ключ. Это не серьезно.



Вообще, более правильней было бы такое предложение оформлять как-то так: я хочу перевести n сумму на счет разработчика пилота, надеясь, что данный функционал появится. Дайте счета. А то что получается ? Пришел человек, предложил бизнес план, и уверил, что как только все будет он купит даже отдельную версию пилота. Т.е. за время разработки данных возможностей этот человек не передумает ? или не будет искать взломанную версию (ну а зачем платить то ? если есть бесплатное) ? Разработчик и так занят, таких просьб - миллион, а вот если ее подкрепить валютой, а если еще и твердой, то другое дело.

Автор: RaX 7.7.2020, 12:04

Цитата(Cockney @ 7.7.2020, 17:44) *

Любой софт, игры выпускается в "рассчет не на тех, кто может сломать". Но защиту имеют. Если бот будет представлять хоть какой-то интерес для сообщества, а тем более для сообщества таких халявщиков как ботоводов, то он будет благополучно сливаться после очередной обновы, ибо там из версии в версию максимум что поменять можно - ну шифрование, ну ключ. Это не серьезно.
Вообще, более правильней было бы такое предложение оформлять как-то так: я хочу перевести n сумму на счет разработчика пилота, надеясь, что данный функционал появится. Дайте счета. А то что получается ? Пришел человек, предложил бизнес план, и уверил, что как только все будет он купит даже отдельную версию пилота. Т.е. за время разработки данных возможностей этот человек не передумает ? или не будет искать взломанную версию (ну а зачем платить то ? если есть бесплатное) ? Разработчик и так занят, таких просьб - миллион, а вот если ее подкрепить валютой, а если еще и твердой, то другое дело.

Кошелек же есть опубликован на этом форуме в том числе, зачем его просить? Вопрос риторический, ответ - тоже.

Автор: Cockney 7.7.2020, 12:24

Ну тогда нет никаких преград для "ускорения" разработки данных новшеств.

Автор: Fors1k 7.7.2020, 15:30

Цитата(RaX @ 7.7.2020, 9:08) *
В этой теме, кажется, обсуждалось, что луа компилируется в байт код, которй декомпилировать легко. И нам нужны функции пилота.

Я не говорил ничего о компиляции в байт-код.
На каком языке ваш скрипт?
Про функции пилота не понял. У вас пропали какие-то функции пилота?
Присылайте ваш скрипт, сделаю ему защиту. Его нельзя будет передавать, будет работать только по ключу, и т. д. .

В общем, кому надо будет зашифровать скрипт - обращайтесь.

Автор: Zenogiasu 4.10.2023, 8:49

Привет=)
1. Есть ли возможность через скрипт узнать серийник диска или гуид компа, или что-то подобное? С целью сделать простую защиту от дурака. Можно было бы скинуть человеку сначала скрипт, который считал бы серийник, и создал в закромах бы документик с серийником. выдавал при этом мсг с номером, который человек сообщит тебе, и ты, в отсылаемом ему скрипте подредактировал бы чтоб тот работал только при наличии такой-то переменной, являющейся этим серийником, а перед запуском скрипта пилот бы считывал документ текстовый, который создал при считывании серийника и сверял бы совпадает ли эта переменная с текстом в файле. кочено разбирающийся в пилоте чел это изи обойдет, но логика в том что тот кто сможет обойти тот и сам сможет написать скрипт, а нужна защита от дурака.

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

2. Что за ошибка? (скрин прикрепил). писал себе код, никого не трогал. вдруг возникло это и это окошко как в нулевые года баннер с вирусом на весь экран постоянно возникало и не давало ниче сделать, возникало при наведении курсора на рамку окна либо на панель задач. через диспетчер ток смог вырубить.


Эскизы прикрепленных изображений
Прикрепленное изображение

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)