Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Подгрузка модулей
warden
сообщение 3.8.2023, 12:59
Сообщение #1


*

Registred
Сообщений: 1
Регистрация: 3.8.2023
Группа: Пользователи
Наличность: 0
Пользователь №: 20.583
Возраст: 22



Поискал везде по форуму и не понял как пользоваться методом require. Объясните пожалуйста как им пользоваться.

Я сделал тестовый файл в формате .lua. В нем ничего кроме print("Hello") нет. Скомпилировал этот тестовый файл в .luac. Далее закинул .luac в папку Scripts, где содержаться скриты пилота. Создал новый скрипт пилота:
Код

-- lua
local test = require("luactest.luac") -- Пробовал так, ничего не находит
local test = require([["C:\Users\Administrator\Desktop\pilot\Scripts\luactest.luac"]]) -- Пробовал так, тоже ничего
log(test)


Подскажите, что я делаю не так и как подрузить luac файл
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
yodich
сообщение 3.8.2023, 22:43
Сообщение #2


***

Novice
Сообщений: 90
Регистрация: 24.8.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.728
Возраст: 29



Попробуй этот, я им пользуюсь, правда редко. тот же luajit.
Просто копируй свой код который хочешь скомпилировать в папку "sources" и нажми "obusfacte.bat" (в bin есть стандартный способ) и перенеси в папку где пишешь свой проект.
подключить на обычный require, например require "main"

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


Прикрепленные файлы
Прикрепленный файл  LuaObfuscator.zip ( 241,07 килобайт ) Кол-во скачиваний: 57
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 6.8.2023, 17:53
Сообщение #3


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



а задача именно скомпиленный подгрузить? вообще разницы нет, просто обратил внимание на то, что вы в байт код преобразуете.

так же хочу заметить, что подгружаемый модуль может вернуть вам значение, если работа будет завершена через return. Но из модуля можно вернуть только одно значение (может быть таблицей)

проблема скорее всего в связи с шаблонами луа. Он будет пытаться дописать .lua. Измените расширение или поправьте шаблоны.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aqualon
сообщение 14.8.2023, 20:33
Сообщение #4


**

Neophyte
Сообщений: 23
Регистрация: 21.3.2023
Группа: Пользователи
Наличность: 1
Пользователь №: 20.503
Возраст: 22



Проблема может быть в том что пилот не воспринимает команду принт.
Попробуйте заменить print на log, но честно говоря я не уверен что это сработает, т.к. при компиляции этот самый лог скорее всего не получится использовать, может вылетать ошибка компиляции.
Как вариант, если вы хотите использовать какие-либо функции из пилота в скомпилированном виде - можете возвращать в скомпилированном луа функцию которая будет использовать функции пилота и аргументами будет принимать те функции которые вам нужны, и использовать в том коде который вы хотите обфусцировать уже её, в теории это должно сработать.
Ниже пример такого кода
Код

-- код в том файле который вы хотите скомпилировать
local function someFunction(pilotFunctions)
    -- не уверен как в скомпиленный луа передаются таблицы но из того что я понял, скомпиленный луа это тот же луа который исполняется при запуске скрипта пилотом, так что проблем быть не должно
    local log = pilotFunctions.log
    log('whatever')
end

return someFunction

А в основном исполняемом файле уже подключаете модуль в котором будет лежать эта функция.
Обратите внимание на то что для пути указанного относительно корневой папкой будет являться папка в которой лежит экзешник пилота.
Код

local someFunction = require('path\\to\\function\\module\\whatevername.luac')

someFunction{ log = log }
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 27.4.2024, 16:38
Designed by Nickostyle