Androidは一般的なコマンドを逆にします

「[Android]アプリケーションセキュリティ保護と逆解析」を学習する過程で、一般的に使用されるコマンドをいくつか記録します。

目次

 1つの非シェルコマンド

2、シェルコマンド

3、apkコマンドを操作します

第四に、プロセスコマンド


 1つの非シェルコマンド

1. adb shell dumpsys activity top
説明:現在のアプリケーションのアクティビティ情報を表示できます。
使用法:表示する必要のあるアプリケーションを実行します。
ケース:
adb shell dumpsys activity top

2. adb shell dumpsysパッケージの
説明:指定されたパッケージ名アプリケーションの詳細情報を表示できます(アプリケーションのAndroidManifest.xmlのコンテンツに相当します)。
使用法:adb shell dumpsys package [pkgname]
ケース:
adb shell dumpsys package com.tencent.mn


3. adb shell dumpsys meminfo
description:指定されたプロセス名またはプロセスIDのメモリ情報を表示できます。
使用法:adb shell dumpsys meminfo [pname / pid]
例:
adb shell dumpsys meminfo com.gihoo.appstore


4. adb shell dumpsys dbinfo
description:指定されたパッケージ名Yingchuanのデータベースストレージ情報(保存されたSQLステートメントを含む)を表示できます。
使用法:adb shell dumpsys dbinfo [パッケージ名]
ケース:
adb shell dunpsys dbinfo com .qihoo .appstore


5. adb intall
description:アプリケーションパッケージapkファイルを
インストールします使用法:adb install [apkファイル]。
例:
adib install D:ldemo .apk

6.adbのアンインストール
手順:アプリケーションをアンインストールします。
使用法:adb uninstall [packagename]
ケース:
adbUninstallcn.wjdiankong。Demcは
上記のコマンド同様です。


7. adbプル
命令:デバイス内のファイルをローカルに配置します。
使用法:adbは、デバイスカタログファイルのローカルディレクトリをプルします。
ケース:
adb pull /sdcard/tmp.txt D:i
操作中にファイル権限の問題が発生する可能性があることに注意してください。chmodを使用して権限を変更してください。

8. adbプッシュ
命令:ローカルファイルをデバイスに配置します。
使用法:adbpushローカルディレクトリファイルデバイスディレクトリ。
ケース:
adb push D:!tmp.txt / sdcard
操作中にファイルのアクセス許可の問題が発生する可能性があることに注意してください。アクセス許可を変更するには、chmodを使用してください。


9. adbシェルscreencapの
説明:スクリーンショット操作。
使用法:adb shell screencap-pスクリーンショットファイルパス。
例:
adb shell screencap -p /sdcard/tmp.png

adb shell screencap -p /sdcard/tmp.png
adb pull / sdcard / tmp.png D:l
start D:itmp.png


10. adbシェルscreenrecordの
説明:画面記録操作。
使用法:adbシェルscreenrecordビデオ保存パス。
例:
adb shell screenrecord!sdcard / tmp.mp4

11. adbシェル入力テキストの
説明:入力テキストの内容。
使用法:adb shell input text [テキストボックス内容を入力する必要があります]
ケース:
入力内容が必要なテキストボックスにフォーカスを合わせます:
adb shell input text'Helloworld '

12.adb転送の
説明:デバイスのポート転送。
使用法:adb forwrad [(リモートエンド)プロトコル:ポート番号] [(デバイスエンド)プロトコル:ポート番号]
ケース:
adb forward tcp:23946 tcp:23946
adb forward tcp:8700 jwdp:1786
このコマンドはIDAデバッグで非常に役立ちます。


13. adb jdwp
description:デバイスでデバッグできるアプリケーションのプロセス番号を表示します。
使用法:adb jdwp
ケース:
adb jdwp
このコマンドはあまり使用されない場合がありますが、それでもデバッグ時に役立ちます。

14.adb logcatの
説明:現在のログ情報を表示する
四川の法則:adb logcat -sタグ
ケース:adb logcat -s fb
使用法2:adb logcat | findstr pname / pid /キーワード
ケース:adb logcat lfindstr cn.wjdiankong .demo

2、シェルコマンド

1.実行時の
説明:ルート化されていないデバイスで、指定されたデバッグモードのパッケージ名アプリケーションサンドボックスデータを表示できます。
使用法:run-as [パッケージ名]
ケース:run-as cn.wjdiankong .demo


2. ps
description:デバイスのプロセス情報または指定されたプロセスのスレッド情報を表示します。
使用法:ps | grep filter content
ps -t [pid] pidに対応するスレッド情報を表示します。
ケース:
ps l grep cn.wjdiankong.deno
ps -t 11798
このコマンドの重要性は言うまでもなく、grepを組み合わせて情報をフィルタリングできます。

3.pm明確な
説明:指定されたパッケージ名アプリケーションのデータをクリアします。
使用法:pm clear [packagename]
ケース:pm clear cn.wjdiankong.demo
アプリケーションのデータをクリアしたい場合、操作するために設定ページに移動する必要がある場合があります。そんなに面倒なことはありません。
このコマンドを使うだけです。

4.pmインストール
手順:インストールデバイスのapkファイルと機能はadbinstallと同じです。
'使用法:pm install [apkファイル]
ケース:
pm install /sdcard/demo.apk
このコマンドは、adbinstallコマンドと同じです。

5.pmアンインストール
手順:デバイスでアプリケーションをアンインストールします。機能はadbアンインストールと同じです。
使用法:pm uninstall [packagename]
ケース:
pn uninstall cn.wjdiankong.derno
このコマンドは、adbuninstallコマンドと同じです。

6.am開始の
説明:アプリケーションを開始します。
使用法:am start -n [パッケージ(パッケージ)名] [パッケージ名]。[アクティビティ(アクティビティ)名]
ケース:
am start -n com.android.browser / com.android.browser.BrowserActivity
注:デバッグモードを使用できますアプリケーションを起動します(am start -D -n ...)。特に、アプリケーションを逆コンパイルおよびデバッグする場合
は、アプリケーションをデバッグモードで起動する必要がある場合があります。


7.am startserviceの
説明:サービスを開始します。
使用法:am startservice -n [パッケージ(パッケージ)名] / [パッケージ名]。[サービス(サービス)名]
ケース:
am startservice -n com.android.traffic / com.android.traffic.maniserviceは
、上記のコマンド同様です。サービスを開始します。


8.amブロードキャストの
説明:ブロードキャストを送信します。
使用法:am Broadcast -a [broadcast action]
ケース:
am Broadcast -a android.NET.conn.CONNECTIVITY_CHANGE
上記のコマンドと同様に、ブロードキャストを送信します。ブロードキャストが定義されている場合があり、テストが必要になることがあります。
この関数を使用して、ブロードキャストの送信をシミュレートできます。


10.netstatの
説明:デバイスのポート番号情報を表示します。
使用法:netstat

11.app_process
description:Javaコードを実行します。
使用法:app_process [run code directory] ​​"run main class]
例:
export CLASSPATH = / data
/ demo.jar exec / system / bin / app_process /data/cn.wjdiankong.Main
このコマンドは、主にAndroidの特別な開発シナリオで使用されます。 jarパッケージを開始したいのですが、このjar
パッケージには要件があります。dexファイルをjarパッケージ関数に変換するにはdxコマンドが必要です。実際、これは通常のjarパッケージではありません
。classes.dexファイルを含む圧縮ファイルです。アップ。


12.dalvikvmの
説明:dexファイルを実行します。
使用法:dalvikvm -cp [dexファイル] [メインクラスの実行]
ケース:
dalvikvn -cp /data/demo.dex cn.wjdiankong.Main
このコマンドを使用して、上記のコマンドとは大きく異なるdexファイルの機能をテストできる場合があります。大きな類似点
は、実行中のファイルが異なることです。

13.トップの
説明:現在のアプリケーションのCPU消費情報を表示します。
使用法:top [-n / -m / -d / -s / -t]
-m /最大で表示されるプロセスの数
-n / lリフレッシュ時間
-d // lリフレッシュ間隔(デフォルトは5秒)
-sl / pressどの列の並べ替え
-t //表示メッセージスレッドではなく、プロセスの
ケースを:
トップ1 -m 10は、-d
このコマンドをアプリケーションのパフォーマンス、アプリケーション情報解析を分析する際に非常に便利ですチェック、フィルタに使用のgrepにしたいことがあり
、現在のCPUを確認します使用率。


14.getpropの
説明:システムプロパティ値を表示します。
使用法:getprop [property value name]
ケース:
getprop ro.debuggable
このコマンドは、デバイスのバージョン番号、システムプロパティなどのデバイス情報を表示できます。後の章では
、デバイスをルート化した後に紹介します。これらのシステムプロパティを変更することもできます。たとえば、デバッグスイッチを使用すると、すべてのアプリケーションを調整可能な
状態にすることができます


3、apkコマンドを操作します

1. aaptを使用してapkコマンドを操作します。
説明:apkの情報を表示し、apkパッケージを編集します。
使用法:aapt dump xmltree [apkパッケージ] [表示するリソースファイルxml]
ケース:
aapt dump xmltree demo.apk AndroidManifest .xml

2. dexdumpを使用してdexコマンドを操作し
ます説明:dexファイルの詳細情報を表示できます。
使用法:dexdump [dexファイルパス]
ケース:
dexdump D:lclasses.dex


第四に、プロセスコマンド

1.現在のプロセスのメモリ読み込み状況を表示します。
コマンド
cat / proc / [pid] / mapsを使用
して、ファイルやdexファイルが読み込まれるなどの現在のプロセスのメモリマッピング情報表示できます。


2.プロセスのステータス情報を表示する
次のコマンドcat。/proc/
[pid] / statusを使用し
て、既知のTracerPidなどの現在のプロセスのステータス情報表示できます。

3.現在のアプリケーションで使用されているポート番号情報を表示します。
次のコマンドを使用できます
cat / proc / Ipid] / net / tcp / tep6 / udp / udp6
 

おすすめ

転載: blog.csdn.net/someby/article/details/108754961
おすすめ