Вам может понадобиться замыкание, а не вычисляемое свойство.
lazy var customBtn: CustomButton = {
let frame = CGRect(x: 48.0, y: 177.0, width: 80.0, height: 40.0)
let custom = CustomButton(frame: frame, title: "Test",alignment: NSTextAlignment.right)
return custom
}()
Здесь, внутри MainViewController
customBtn.addTarget(self,
action: #selector(touchCancel),
for: .touchUpInside)
, вы добавляете цель во вновь созданный экземпляр, а не в добавленный как подпредставление, и это основное различие между вашей реализацией (вычисляемое свойство) и замыканием
Похоже, Сам LuaDec последний раз обновлялся для Lua 5.0.2. Новая версия для байт-кода Lua 5.1.x была выпущена как LuaDec51 . Вики - это всегда хорошее место для поиска ресурсов, как упоминает f3lix. Список рассылки также является хорошим местом для вопросов.
Обратите внимание, что относительно легко добавить обфускацию или даже шифрование в загрузчик байт-кода. Ни то, ни другое не потребует внесения изменений в ядро Lua. Если система, которую вы анализируете, предприняла какие-либо из этих мер, у вас может быть больше работы.
Похоже, был какой-то инструмент с именем LuaDec , но сайт, похоже, не работает. Есть еще один доступный декомпилятор здесь , он подходит для массовой декомпиляции.
На странице Lua Tools вики-сайта lua-users.org приведено несколько декомпиляторов. Ваш выбор будет зависеть от того, какую версию Lua вы пытаетесь декомпилировать ...