2011-12-24 8 views
5

私はLuaJITバイトコードファイルを逆コンパイルしようとしています。私はそれを分解することができました(しかし、それを再構成する方法は見つかりません)。そこで私は、LuaJITバイトコードを標準のLuaバイトコードに変換するソフトウェアを書くことを検討しています。標準のLuaバイトコードとLuaJITバイトコードの違い

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

答えて

1

正確な答えを得るには、両方のプロジェクトのBCジェネレータを比較する必要がありますが、コンバータを気にせず、LuaJITがオープンソースで、IIRCもそうです.LuaDecだから、LuaJITバイトコード。

しかし、使用するcommand-line options of LuaJIT自体を見てください。バイトコードのリストをダンプするものや、バイトコードのC/h/obj/oファイルをダンプするものがあります。あなたは欲しい。

+0

私はバイトコードのダンプのためにすべてのフラグを試しましたが、どれも再構築できないフォーマットを返すか、LuaDecにフィードできません。 – R4000

10

違いはかなり大きいです。 LuaJITは標準のLuaよりもはるかに多くの演算子を使用します。なぜなら、関数からの戻り値と1つの戻り値などで返される関数のようないくつかの演算を専門に扱うからです。Lua opcodesLuaJIT opcodesの定義を比較してください。あなたがそれらの間で翻訳できるかどうかを見てください。しかし、これは簡単なことではありません。

+0

私はこれを恐れていた:(助けてくれてありがとう、私は覗いてみる)。 – R4000

関連する問題