6

LuaJITバイトコードファイルを逆コンパイルしようとしています。私はなんとかそれを分解することができました(しかしそれを再組み立てする方法を見つけることができません)。そこで、LuaJITバイトコードからLuaDecを正常に実行する標準のLuaバイトコードに変換するソフトウェアを作成することを検討しています。

しかし、LuaJITバイトコードと標準のLuaバイトコードの違いは何ですか?

4

2 に答える 2

9

違いはかなり大きいです。LuaJIT は、関数からの戻りと 1 つの戻り値での戻りなど、いくつかの操作に特化しているため、標準の Lua よりも多くのオペコードを使用します。

あなたができる最善の方法は、 Lua オペコードLuaJIT オペコードの定義を比較し、それらの間で変換できるかどうかを確認することですが、これは簡単なことではありません...

于 2011-12-24T13:34:09.643 に答える
1

正確な答えを得るには、両方のプロジェクトの BC ジェネレーターを比較するだけで済みますが、LuaJIT はオープンソースであり、IIRC も LuaDec もそうであり、LuaJIT のバイトコードに変換するのは非常に簡単なはずです。

ただし、使用するLuaJIT自体のコマンドラインオプションを確認する必要があります。バイトコードリストをダンプするためのもの、またはバイトコードのC/h/obj/oファイルをダンプするためのものがあります。どちらも行うために使用できますあなたが欲しいもの。

于 2011-12-24T06:51:48.457 に答える