Androidで新しいプロジェクトを作成する方法
May 29, 2023 pm 11:37 PMコンテンツ
1. 便利なツールに関する簡単なチュートリアル (Insight)
何を学ぶことができますか?
#超強力な分析アシスタント ソフトウェア。 2.Android 最適化プロセス分析何が学べるでしょうか? 1. Android の最適化プロセスを深く理解する2. Android のソース コードを詳しく観察する
2. 大きなボスのシェルの下部にある関数を確認できます
##何を学ぶことができますか?
1. ダウンロードできるその他の機能
2. dex ファイルを解析するプロセス3. シェルリングとダウンロードに関するちょっとした知識
4. Android DEX クラスの分析ロードプロセス
何が学べるでしょうか?
1. クラスローディングの完全なプロセス
2. シェルリングおよび強化クラスの選択
0x01 便利なツール (Insight) の簡単なチュートリアル
このソフトウェアは c/c の解析に非常に役立ち、java ソースコードには強力な補助機能があり、後で使用しますので、簡単に紹介します。
ツールは添付ファイルにあります。アップロードとダウンロードを別々に行うだけです。
SI3US-205035-36448
登録コードはここに提供されます。
インストール、次、次。
#新しいプロジェクトの作成
新しいプロジェクトを選択します。
#単一マシン OK
最初のマシンを選択
[ツリーの追加] を選択します。これは、すべてのツリーを追加することを意味します。
# 読み込みが完了したら、このソフトウェアを使用して分析します。
Android 最適化プロセス分析
冗長になりたいのですが、この時点で英語の重要性はわかっています。もちろん、私の英語は上手ではありませんが、で調べることができます。辞書。
では、この関数の意味はzipを解凍する処理になります。
それでは、段階的に分析してみましょう。
DexClassVerifyMode verifyMode = VERIFY_MODE_ALL;
この文は検証モジュールである verifyMode を定義しています。ここで初期化されるデータは VERIFY_MODE_ALL で、すべてが検証されることを意味します。

思考
ここを変更する場合、この検証は省略してもよいでしょうか。
アイデアがある場合は、この値を自分で定義できます。 DexOptimizerMode dexOptMode = OPTIMIZE_MODE_VERIFIED;
引き続き下を向いてみましょう。
dexOffset は、後でここに戻ることができるようにファイルの位置を記録します。これは、実際には dex ファイルの読み取りの開始位置です。
次の関数を見てみましょう。
zip アーカイブを開いて、DEX エントリを見つけます。
明らかに、この部分が行っていることは、apk から dex ファイルを見つけることです。
その後、分析を進めます。
DEX データを現在のオフセットでキャッシュ ファイルに抽出します。dex ファイルのオフセットをいくつか記録します。
次に説明するのは、dex odexing のプロセスです。
ここでのデータはどこから来たのか、どこで比較するのかを考えてみましょう。 ·
これらのデータは build.prop で比較されます。
PS:
これからシェルリングに非常に関連する非常に重要な場所に触れます
##dvmDexFileOpenPartial これまでに他の人のシェルリング チュートリアルを見たことがある場合は、次のことを行う必要があります。よく使われるエンドポイントはこれまでダウンロードすることしか知らなかったのですが、ソースコードにこの関数が存在することが分かりました。
dvmDexFileOpenPartial 関数の呼び出しを見てみましょう
ここでは 2 回呼び出されており、1 回は独自の定義です。
最初に dvmDexFileOpenPartial のプロトタイプを見てみましょう
int dvmDexFileOpenPartial(const void* addr, int len, DvmDex** ppDvmDex)
パラメータ 1: ロードされた DEX のベースメモリ内のファイルのアドレス (つまり、DEX.035) パラメータ 2: ロードされた DEX ファイルのファイル長、
パラメータ 3: 出力パラメータ、DEX ファイルは DvmDex 構造に変換されます。 Dex ファイルのクラス、フィールド、メソッド、文字列情報。 Dalivk が Dex ファイルに対して操作するオブジェクトは構造体です。
#最後にヘッダー情報がここに記述されます。
0x03 Android DEX ファイルの解析と分析
#最初に基本的な変数を定義します。
#ファイル形式で非常に重要なのはマジック ナンバーであることは誰もが知っています。そこで、マジック ナンバーを決定するための最初のステップである verifyMagicAndGetAdler32 を説明します。ここでの魔法はマジックナンバーです。
#時間とファイルサイズの検証です。
この関数は重要な関数であり、分析に重点を置く必要がある関数でもあります。その主な関数は、odex を生成することです。 dexに対応するファイル、いわゆるodex化です。機能を追跡して見てみましょう。
以下は dexOptGenerateCacheFileName() 関数の一部です。私たちの主なことは、それがどこに出力されるかを確認することです。
このようにフォーマットします。
つまり、odex ファイルはここで生成されています。
次に行うことは、この関数 dvmDexFileOpenFromFd() で、さらに最適化してマッピングを完了し、読み取り可能なファイルとして設定します。この機能を開きます。場所は DvmDex.cpp にあります。
この関数が呼び出される場所は、キー関数 dvmRawDexFileOpen です。この関数は、最初に dexOptGenerateCacheFileName を呼び出して odex を生成し、次に別の最適化のために dvmDexFileOpenFromFd を呼び出します。
最適化の最後のステップは dexFileParse() で、DEX を解析します。この見解は、DexFile
に簡単にまとめられています。
dvmRawDexFileOpen() メイン制御関数 - dexOptGenerateCacheFileName() は対応する odex を生成します - dvmDexFileOpenFromFd() はさらに最適化します - dexFileParse() は dex を解析します。
PS: ヒント
dexfileopenpartial が次のセクションにある場合、それを破る方法がないことがわかるかもしれません。その場合は、dexOptGenerateCacheFileNamePKcS0、dvmdexfileopenfromfd およびその他の関数を選択して次のセクションに進むことができます。セクション。
一般に、dexfileopenpartial はシェルで処理する場合に優れています。
0x04 Android Dex クラスのロード プロセス
他のソース コードは、メイン制御関数によって他の主要な機能が動作するように誘導されます。dex クラスのロード プロセスも同様です。
その主な制御関数は Dalvik_dalvik_system_DexFile_defineClassNative()です
注意が必要な関数もあります Dalvik_dalvik_system_DexFile_openDexFileNative
ここで注意する必要があるのは、ダンプできる場所が 2 か所あるということです。
引き続きメインの制御関数を見てみましょう。
メイン制御関数にそのような呼び出しがあります。
この呼び出しは Cookie を検証するためのものですが、この Cookie は復号化された dex Cookie である可能性が高いため、この Cookie をここでダンプすることもできます。
それから下を見てください。
dvmDefineClass関数、この関数はクラスのロードを確認する関数です。
#関数は独自に判断しますが、返されるのは確かに大きな頭です。この関数を追跡して見てみましょう。
#この構造の詳細を見てみましょう。
#この構造が dex 構造とまったく同じかどうかは、これが必要なものであることを示しています。
以上がAndroidで新しいプロジェクトを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











新しいレポートは、噂のSamsung Galaxy S25、Galaxy S25 Plus、Galaxy S25 Ultraのカメラアップグレードのひどい評価を提供します

Samsung Galaxy S25 Ultraの最初のレンダリング画像がリークされ、噂のデザイン変更が明らかに

IFA 2024 | TCLのNXTPAPER 14は、パフォーマンスではGalaxy Tab S10 Ultraに匹敵しませんが、サイズではほぼ匹敵します

Vivo Y300 Pro は、7.69 mm のスリムなボディに 6,500 mAh のバッテリーを搭載

新しいレポートは、噂のSamsung Galaxy S25、Galaxy S25 Plus、Galaxy S25 Ultraのカメラアップグレードのひどい評価を提供します

Samsung Galaxy S24 FEは、4色と2つのメモリオプションで予想よりも低価格で発売されると請求されています

Motorola Razr 50s は初期リークで新たな予算を折り畳める可能性があることを示す

Xiaomi Redmi Note 14 Pro Plusは、Light Hunter 800カメラを搭載した初のQualcomm Snapdragon 7s Gen 3スマートフォンとして登場します
