リバースツール
電話のルート
Android リバース エンジニアリングの前提条件は、root 化された電話、できれば実際の電話が必要であることです。ルート化された携帯電話がないと、逆の作業を続行するのは困難ですが、携帯電話の場合は、OEM のロックを解除できます。携帯電話をルート化するには、通常次の手順があります。
- OEMのロックを解除する
- ブートローダーのロックを解除する
- Magiskをインストールする
- ルートパッケージを作る
- 電話機にブラシで入力する
Android システムの場合、一部のリバース エンジニアリング ツールはシステムの最新バージョンをサポートしていないため、最新バージョンを使用することはお勧めできません。
逆コンパイルツール
多くの逆コンパイル ツール、古い apktool、jeb、およびいくつかのニッチな逆コンパイル ツールがありますが、ここで使用することをお勧めします。MT文件管理器
非常に使いやすく、apk の抽出、逆コンパイル、ソース コードの表示、smari から Java への変換、パッケージの署名などの機能があります。難点は、メンバーシップを開設する必要があることですが、生涯メンバーシップも非常に安価です。繰り返しになりますが、優れたツールを使用すると、時間を大幅に節約できます。
フックツール
フック ツールも多数あり、Android の場合、jvm レイヤーのフックとネイティブ レイヤーのフックがあります。ここでは、私がよく使用するフック ツールをいくつか列挙します。
- Java レイヤーのフック ツールには、Algorithm Assistant.apk、JSHook.apk、Frida が含まれます。
- ネイティブ層のフック ツールには、Frida、Unidbg が含まれます。
これらのツールはすべて地球上で入手できます。
WebViewツール
ここで説明している WebView ツールとは、デバッグに使用できるように、アプリケーション内で H5 をデバッグする機能を指しますinspect
。
そのようなツールは次のとおりです。
- アルゴリズムアシスタント.apk
- WebViewPP.apk
キャプチャツール
パケット キャプチャ ツールには 2 種類あり、1 つはモバイル端末用、もう 1 つはコンピュータ端末用です。
- モバイル端末: HttpCanary
(android)
、ストリーム(ios)
- コンピューター: チャールズ、フィドラー
動的デバッグツール
まず動的デバッグとは何かについて説明します。動的デバッグとは、プログラムの実行中にコードにブレークポイントを設定することです。このとき、段階的にデバッグして、いくつかの変数の値とコードのビジネス ロジックを確認できます。 。
Android リバース エンジニアリングに一般的に使用される動的デバッグ ツールは、 AndroidStudio と IDA、AS は主に smali 言語の動的デバッグ用、IDA はライブラリとアセンブリ言語のデバッグ用です。
要約する
木こりにとってナイフを研ぐことは間違いではありません。リバースを開始する前に、まずリバース作業に便利なように、リバース環境とツールを準備してください。この記事ではリバースエンジニアリングで使用するツールを中心に紹介しますが、一部のツールの使い方については後の記事で説明します。
Smali 命令、パッキングとアンパッキング、Xused フレームワーク、Frida、パケット キャプチャ、暗号化と復号化アルゴリズムなど、これらは Android リバース セキュリティ開発エンジニアが習得しなければならない知識ポイントです。
学習ノートについては、上記の知識ポイントをもとに、誰でも学びやすく、みんなで一緒に学べるように整理しました。参考方法:https://qr18.cn/CQ5TcL
Android リバースセキュリティ研究ノート
Androidリバースエミュレータ環境構築(詳細説明)
Smali命令詳細説明
梱包と開梱の開始
NDK とリバース エンジニアリング:https://qr18.cn/CQ5TcL
Xped フレームワーク
フリーダ~竜殺しのナイフ 逆展開~
Android のリバースで一般的に使用される暗号化アルゴリズム:https://qr18.cn/CQ5TcL