ホームページ  >  記事  >  運用・保守  >  idaPro がアプリ復号化 lua スクリプトを分析する方法

idaPro がアプリ復号化 lua スクリプトを分析する方法

WBOY
WBOY転載
2023-05-18 08:34:191423ブラウズ

前の IDAPRO または HOOK を使用すると、XXTEA 復号化キーを取得できます。SIGN の場合は、元のファイルを直接開くことができます:

idaPro がアプリ復号化 lua スクリプトを分析する方法

これにより、SIGN 値を確認できます。バイズ。したがって、xxtea 復号化ツールを使用して (GitHub でソース コードを取得してコンパイルすることによって)

idaPro がアプリ復号化 lua スクリプトを分析する方法

index.luac を例として見てみましょう。 Index.luac 復号化の前後の変更:

idaPro がアプリ復号化 lua スクリプトを分析する方法

xxtea によって復号化された lua スクリプトはまだ平文ではないことがわかります。以前、cocos2d フレームワークのソース コードとマスター APK のデコード結果に基づいて xxtea 暗号化が使用されていると判断し、アプリの Lua スクリプトにも署名値があり、これも xxtea 暗号化方式であることを確認しましたが、復号化した結果ははまだプレーンテキストではないため、復号化が完了していない可能性があります。確認するには、idapro に戻る必要があります。

IDAPRO で libgame.so を開き、エクスポート ウィンドウで Byds を検索し、byds_d 関数を見つけてダブルクリックします。

idaPro がアプリ復号化 lua スクリプトを分析する方法

# 直接 F5 キーを押すとエディターが表示されます。コード:

idaPro がアプリ復号化 lua スクリプトを分析する方法

これには特別なことは何もありません。フレームワークのソース コードのコードと同等です。復号化が完了していない場合は、この関数の上位レベルを再度呼び出して復号化プロセスを続行する必要があります。この関数呼び出しを追跡するために外部参照をジャンプしましょう: 1 つは取得されたテーブルですが、これは間違いなく当てはまりません。最初の関数:

idaPro がアプリ復号化 lua スクリプトを分析する方法

は単なるラッパー関数です。追跡を続けましょう:

idaPro がアプリ復号化 lua スクリプトを分析する方法ダブルクリックして入力します:

idaPro がアプリ復号化 lua スクリプトを分析する方法 この関数の名前は、ソース コード内の xxtea_decrypt の呼び出しと同じであることがわかり、この関数も最初の侵害に含まれていました。これで、スクリプトが byds_d によって復号化された後、再び解凍されたことがはっきりとわかります。基本的にはクリアになっているはずです。lua スクリプトは圧縮および暗号化されているはずなので、復元したい場合は、最初に復号化する必要がありますxxtea を使用して復号化します。 GitHub で zlib を解凍するスクリプトを見つけることができます。これを使用して、復号化されたテキストを解凍することができます。

# 平文になっていることがわかります。

以上がidaPro がアプリ復号化 lua スクリプトを分析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。