2011-12-24 9 views
5

Próbowałem dekompilować plik bajtowy LuaJIT. Udało mi się go zdemontować (ale nie mogę znaleźć żadnego sposobu na ponowne złożenie go). Rozważam więc napisanie oprogramowania do konwersji z kodu bajtowego LuaJIT na standardowy kod bajtowy Lua, który następnie będzie działał przez LuaDec.Różnice między standardowym kodowaniem Lua i kodem LuaJIT

Czym różnią się kody bajtów LuaJIT od standardowego kodu bajtowego Lua?

Odpowiedz

1

Aby uzyskać dokładną odpowiedź, musisz porównać tylko generatory BC obu projektów, jednak po co zawracać sobie głowę konwerterem, LuaJIT jest open-source, a IIRC, tak jak LuaDec, powinno być całkiem proste przekonwertowanie go na LuaJIT kod bajtowy.

Należy jednak przyjrzeć się samemu sobie, jaki jest kod command-line options of LuaJIT, są one przeznaczone do wyrzucenia listy kodów bajtowych lub wyrzucenia plików C/h/obj/o kodu bajtowego, z których oba mogą być użyte do wykonania chcesz.

+0

Próbowałem wszystkich flag w celu zrzucenia kodu bajtowego, żaden z nich nie zwraca formatu, który można ponownie złożyć lub podać do LuaDec. – R4000

10

Różnice są dość znaczne. LuaJIT używa o wiele więcej niż opcodes standardowego Lua, ponieważ specjalizuje się w niektórych operacjach, jak powrót z funkcji vs. powracającego z 1 wartości zwracanej itp

Najlepiej można zrobić, to porównać definicje Lua opcodes i LuaJIT opcodes i zobacz, czy mógłbyś przetłumaczyć między nimi, ale to nie będzie trywialne ...

+0

Bałem się tego :(Dziękuję, że jesteś pomocna, zerknę. – R4000

Powiązane problemy