Компель LUA

Страницы: 1
RSS
Компель LUA
 
Скажите, а Квик без проблем работает с откомпилированным lua? И если возможность защиты от декомпиляции, а то я смотрю вместе с компелятором ставят в набор декомпилятор. :)
 
Работает без проблем. И с компилированный в байт-код и в формате LUA C-LIb (если всё правильно сделать и нет ошибок).
Насчёт декомпиляторов - чтобы тут не говорили некоторые "умники"-роботорговцы - на сегодняшний момент не существует защиты от неё без ущерба работоспособности и совместимости алгоритма. Как говорится, при желании - всё можно "посмотреть".
 
Я надеюсь хотя бы обфусцировать можно, хотя вопрос - я видел в одном продукте к Квику в качестве сервера (для передачи данных клиенту) через LUA цепляется dll, это что? вроде это бинарник, а не скомпелированный байт-код lua

Цитата
package.cpath = getScriptPath() .. "\\QuikConnector.dll"

require("QuikConnector")
 
Цитата
Роман пишет:
Я надеюсь хотя бы обфусцировать можно, хотя вопрос - я видел в одном продукте к Квику в качестве сервера (для передачи данных клиенту) через LUA цепляется dll, это что? вроде это бинарник, а не скомпелированный байт-код lua
Цитата
package.cpath = getScriptPath() .. "\\QuikConnector.dll"

require("QuikConnector")
это библиотека для LUA скомпилированная в dll. LUA - может работать и с этим.

Цитата
Я надеюсь хотя бы обфусцировать можно
только если сделать своего робота (или чего-то там ещё) в формате dll. И то, в наше время - и на это есть свои методы - просто времени больше уйдёт.
 
Ну, а примеры где можно взглянуть?
Библиотека пишется на LUA или на C# и т.д. нужно опять писать отдельно?
 
Если в машиный код под обфусцию сделать можно, то пусть месяцами с ассемблером взяться - не страшно
 
Цитата
Роман пишет:
Ну, а примеры где можно взглянуть?
весьма сопливо, конечно, но вот: http://quik2dde.ru/viewforum.php?id=14
 
Цитата
Роман пишет:
то пусть месяцами с ассемблером взяться
в наше время - и месяца не уйдёт))))))))))))))
 
сама LUA, равно как и её байт-код - являются opensource. Так о чём тут ещё можно говорить?)))
 
Что то там через чур саплива.
Ну во-первых я так понял что мы можем загружать бинарные библиотеки (написанные на С#) и инициировать функции из них прямо в скрипте запущенном в Квике.
Во вторых, мы можем писать дравину на C# используя Квиковскую DLL lua, т.е. прямо в дравине запрашивать и обрабатывать портфели, графики и всю остальную инфу.

Это так так? Если так, то это совсем другой поворот ...
 
Разработчиков так же прошу прокомментировать - эту возможность!

т.к. вижу в скрипте инициализируются пару переменных передающихся в подключаемую дравина, не каких функции в скрипте более нет, это говорит о том что дравина на прямую берёт и отдаёт инфу.
 
Добрый день, Роман.
Что такое дравина?
 
Цитата
Роман пишет:
.к. вижу в скрипте инициализируются пару переменных передающихся в подключаемую дравина, не каких функции в скрипте более нет, это говорит о том что дравина на прямую берёт и отдаёт инфу.
в этом нет никаких противоречий - т.к. "в той" dll прописаны и зарегистрированы функции: main, штатные коллбеки квика. Таким образом, QLUA VM после выполнения "пары переменных", а именно: выполнения функции require - имеет в глобальной таблице (_G) своего контекста (Lua_State) все минимально необходимые для работы скрипта функции.
Чтоб не было недопонимания: функция main - такой же коллбек для квика, как и другие (если опустить все остальные особенности). И где Вы его пропишите - не имеет абсолютно никакого значения. Главное, чтоб было в рамках одного Lua_State.

-----------------------------
если бы Вы уделили чуть больше своего времени на прочтения того форума (благо он "микроскопический") - то Вы бы и не задавали таких вопросов.
 
Да, там она просто подключается и всё, даже не каких вызовов и инициалиации в скрипте нет, main по ходу в дравине.

А примеры есть, хотя бы посмотреть простой принцип?
 
Цитата
Роман пишет:
простой принцип?
простой принцип - Вам уже описали выше. а вообще, для начала почитайте книгу от Роберто Иерусалимски "Программирование на языке LUA". Третье издание.
После этого у Вас исчезнет большая часть вопросов.

Цитата
Роман пишет:
main по ходу в дравине.
если под "дравиной" Вы понимаете dll - то Да, так оно и есть.
 
Здесь скорее не вопрос в LUA, а в том как это на С# реализовывается, в тех хлюпиньких примерах показано как дравина общается с функциями скрипты через память, а в том что я видел, в скрипте не каких функций скрипта нет.

Простой пример, ну к примеру, как на C# прописать что бы получить версию Квика и вывести её в диалоговом окне Квика?
 
С# - это то еще упражнение в данном случае.
Но в целом смешно читать про сопли там, и параллельно с этим - сопливое клянченье "ну расскажите", хотя всё уже написано в этой ветке
 
Цитата
Роман пишет:
а в том как это на С# реализовывается
оставьте эту затею. LUA VM + виртуальная машина "шарпа" = оно Вам надо? Тогда уж лучше C++
 
Не кто не будет писать сотни строк кода - ради примера - вот и спрашиваю простейший принцип, который можно понять и не в тягость написать. Честно я API так и не нашёл, на на qlua.dll, а то все рассуждают что лучше, какой язык круче, это честно абсолютно не актуально, если знаете напишите несколько строк в пример!
 
http://www.lua.org/manual/5.1/manual.html
3 – The Application Program Interface
This section describes the C API for Lua, that is, the set of C functions available to the host program to communicate with Lua.
All API functions and related types and constants are declared in the header file lua.h.
 
Николай - что то типа этого но под API Квика: Получить версию -- отправить в диалоговое окно.
 
Примера так и не кто не выдаст? Т.е. связка не жизни способна?
 
То есть вы хотите увидеть реализацию межпроцессного взаимодействия между управляемой средой и неуправляемой в примерах на форуме QUIK?
Наберите в гугле IPC.
Самое простое решение: ZeroMQ и ищите примеры коммуникации.
После этого попробуйте сформулировать вопрос о правильном размещении методов, обеспечивающих прием/передачу пакетов.
Вот так было бы корректно.
Страницы: 1
Читают тему
Наверх