Android 逆向(四) - adb常用逆向命令

来源:https://www.cnblogs.com/zhjing/p/18085814
-Advertisement-
Play Games

Android 逆向(四) - adb常用逆向命令 本篇文章繼續記錄下adb 的一些常用逆向命令. 1: adb shell ps 該命令可以查看進程信息. 用法: adb shell ps |grep [pname] zh@zh:~/workSpace$ adb shell ps USER PID ...


Android 逆向(四) - adb常用逆向命令

本篇文章繼續記錄下adb 的一些常用逆向命令.

1: adb shell ps

該命令可以查看進程信息.

用法: adb shell ps |grep [pname]

zh@zh:~/workSpace$ adb shell ps
USER            PID   PPID     VSZ    RSS WCHAN            ADDR S NAME                       
root              1      0 2189532   3660 0                   0 S init
root              2      0       0      0 0                   0 S [kthreadd]
root              3      2       0      0 0                   0 I [rcu_gp]
root              4      2       0      0 0                   0 I [rcu_par_gp]
root              8      2       0      0 0                   0 I [mm_percpu_wq]
root              9      2       0      0 0                   0 S [ksoftirqd/0]
root             10      2       0      0 0                   0 I [rcu_preempt]
root             11      2       0      0 0                   0 I [rcu_sched]
root             12      2       0      0 0                   0 I [rcu_bh]
root             13      2       0      0 0                   0 S [rcuop/0]
root             14      2       0      0 0                   0 S [rcuos/0]
root             16      2       0      0 0                   0 S [rcuob/0]
root             17      2       0      0 0                   0 S [migration/0]
root             18      2       0      0 0                   0 S [cpuhp/0]
root             19      2       0      0 0                   0 S [cpuhp/1]
root             20      2       0      0 0                   0 S [migration/1]
root             21      2       0      0 0                   0 S [ksoftirqd/1]
root             23      2       0      0 0                   0 I [kworker/1:0H-kblockd]
root             24      2       0      0 0                   0 S [rcuop/1]
root             25      2       0      0 0                   0 S [rcuos/1]
root             26      2       0      0 0                   0 S [rcuob/1]
root             27      2       0      0 0                   0 S [cpuhp/2]
root             28      2       0      0 0                   0 S [migration/2]
root             29      2       0      0 0                   0 S [ksoftirqd/2]
root             31      2       0      0 0                   0 I [kworker/2:0H-kblockd]
root             32      2       0      0 0                   0 S [rcuop/2]
root             33      2       0      0 0                   0 S [rcuos/2]
root             34      2       0      0 0                   0 S [rcuob/2]
root             35      2       0      0 0                   0 S [cpuhp/3]

過濾進程名稱:

zh@zh:~/workSpace$ adb shell ps |grep com.sohu.inputmethod.sogou
u0_a434       29729    733 6858060 173656 0                   0 S com.sohu.inputmethod.sogou
u0_a434       29968    733 7345116 174220 0                   0 S com.sohu.inputmethod.sogou:home

python 用法:

python 執行adb 命令的代碼也很簡單,如下:

import subprocess

subprocess.run(["adb", "shell", "ps |grep  com.sohu.inputmethod.sogou"])

執行結果:

/usr/bin/python3 /home/zh/workSpace/python/Test1/venv/adb.py 
u0_a434       29729    733 6858060 173656 0                   0 S com.sohu.inputmethod.sogou
u0_a434       29968    733 7327680 174220 0                   0 S com.sohu.inputmethod.sogou:home

Process finished with exit code 0

2: adb shell top

該命令可以實時查看資源占用情況

用法: adb shell top

Tasks: 744 total,   6 running, 737 sleeping,   0 stopped,   1 zombie
  Mem:  7823156K total,  7527928K used,   295228K free,   2592768 buffers
 Swap:  4194300K total,  1431156K used,  2763144K free,  3952064K cached
800%cpu 179%user  31%nice 116%sys 451%idle   3%iow  14%irq   5%sirq   0%host
   PID USER         PR  NI VIRT  RES  SHR S[%CPU] %MEM     TIME+ ARGS           
 31951 u0_a170      10 -10 7.3G 216M 141M R  109   2.8   0:02.01 com.android.mms
 29729 u0_a434      20   0 6.5G 166M 150M S 67.0   2.1  59:40.47 com.sohu.input+
  1585 system       18  -2  12G 321M 321M S 38.6   4.1 1051:25.3 system_server
  1049 system       -2  -8 2.6G  17M  13M R 15.0   0.2 510:12.70 surfaceflinger
  3855 radio        20   0 6.7G  55M  55M S  9.6   0.7  61:15.16 com.android.ph+
   156 root         20   0    0    0    0 S  8.0   0.0   8:42.71 [kswapd0:0]
   533 logd         30  10 2.1G 5.8M 2.6M S  7.6   0.0 140:49.31 logd
   947 system       -3   0 2.2G 5.1M 4.3M S  4.6   0.0 135:51.76 vendor.qti.har+
 29120 shell        20   0 2.1G 5.7M 4.3M S  3.3   0.0   0:07.47 adbd --root_se+
 31581 root         20   0    0    0    0 I  3.0   0.0   0:00.44 [kworker/u16:1+
   549 system       20   0 2.0G 2.5M 2.3M S  3.0   0.0   0:56.66 android.hardwa+
 31938 shell        20   0 2.0G 4.4M 3.0M R  2.3   0.0   0:00.37 top
  2711 root         19  -1    0    0    0 S  2.3   0.0  91:36.77 [cds_ol_rx_thr+
   731 root         20   0 2.3G 3.8M 3.3M S  2.3   0.0  18:27.65 netd
  3396 u0_a116      20   0 7.9G 106M 106M S  2.0   1.3 201:44.89 com.android.sy+
 22626 u0_a185      20   0 6.1G 110M  94M S  1.6   1.4   0:07.73 com.oppo.userc+
  1501 mediacodec   20   0 2.6G 4.2M 4.2M S  1.6   0.0   0:27.59 media.swcodec +
  1410 root         30  10 2.0G 5.1M 3.1M S  1.6   0.0   3:56.47 storaged
 10841 u0_a179      20   0 5.4G  89M  89M S  1.3   1.1   0:31.45 com.nearme.sta+
^C 730 statsd       20   0 2.1G 2.0M 2.0M S  1.3   0.0   7:27.43 statsd

列含義:

  1. PID(Process ID):進程號
  2. USER:進程所屬用戶
  3. PR(Priority):優先順序
  4. NI(Nice value): 進程優先順序的調整值
  5. VIRT(Virtual Image (kb)):進程使用的虛擬記憶體大小
  6. RES(Resident size (kb)):進程使用的物理記憶體大小
  7. SHR(Shared memory (kb)):進程使用的共用記憶體大小
  8. S(Process Status): 進程狀態 R:運行 S:睡眠
  9. %CPU:當前瞬間占用cpu的百分比
  10. %MEM:進程使用的記憶體百分比
  11. TIME+:進程運行的累計時間
  12. ARGS:進程的命令名稱

3: 查詢UID

用法: adb shell dumpsys package |grep userId

zh@zh:~$ adb shell dumpsys package com.sohu.inputmethod.sogou |grep userId
    userId=10434

本文由博客一文多發平臺 OpenWrite 發佈!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前置概念 無併發的解決方案 一些小型項目,或極少有併發的項目,這些策略在無併發情況下,不會有什麼問題。 讀數據策略:有緩存則讀緩存,然後介面返回。沒有緩存,查詢出數據,載入緩存,然後介面返回。 寫數據策略:數據發生了變動,先刪除緩存,再更新數據,等下次讀取的時候載入緩存,或一步到位更新數據後直接更新 ...
  • mysql語句總結 創建 --create 創建 <create> create database 資料庫名 [charset=utf8]; create table 數據表名 ( (欄位 類型 約束[, 欄位 類型 約束]) | -- 級聯刪除/級聯更新 on delete/update casc ...
  • Redis語句總結 一、基本概念 Redis 全稱: Remote Dictionary Server(遠程字典伺服器)的縮寫,以字典結構存儲數據,並允許其他應用通過TCP協議讀寫字典中的內容。 使用C語言編寫,並以記憶體作為數據存儲介質,所以讀寫數據的效率極高 *redis的官方只提供了linux版 ...
  • 華為雲GeminiDB是一款相容Redis協議的彈性KV(Key-Value)資料庫,支持遠超記憶體的容量和極致的性能,可支撐用戶平滑遷移,在廣告、游戲、電商等行業有著廣泛的應用。 今年3月上線的新版本,GeminiDB已全面支持Redis 6.2,用戶可在華為雲GeminiDB產品官網購買使用。新版 ...
  • 作者本人使用的是vmware17Pro虛擬機,大家可以去網上找相關教程下載安裝,此總結後邊有多次安裝遇到的bug,要是有地方不妥,歡迎相互交流 在剛開始時,我們先部署的是Linux虛擬機,在設置Linux系統基礎環境時,系統就基本具有一些網路服務功能,差不多類似於現實中大型的伺服器,還有設置網路這一 ...
  • 近年來,新質生產力、數據要素及數據資產入表等新興概念猶如一股強勁的浪潮,持續衝擊並革新著企業數字化轉型的觀念視野,昭示著一個以數據為核心驅動力的新時代正穩步啟幕。 面對這些引領經濟轉型的新興概念,為了更好地服務於客戶並提供切實可行的實踐指導,自3月20日起,袋鼠雲將推出全新《袋鼠雲大數據實操指南》系 ...
  • 本文分享自華為雲社區《GaussDB(分散式)實例故障處理》,作者:subverter。 一、說明 GaussDB Kernel實例出現故障時,可以按照本節的辦法進行實例快速修複。 1、執行gs_om -t status --detail查看集群狀態,cluster_state為Normal,bal ...
  • 近日,以“行業更優數據底座,華為雲資料庫創新發展論壇”為主題的資料庫分論壇,通過對雲原生資料庫的發展與展望、技術實踐分享與研討,共同探索行業數字化轉型最優解。 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...