MobileInfo
擷取
Android
手機硬體的全部資訊
github傳送門
Table of Contents
- 資料資訊
- App資訊擷取
- App安裝清單擷取
- 音量資料擷取
- 版本資料擷取
- 電池資料擷取
- Cpu實時資料擷取
- 藍牙資料擷取
- 系統Build資料擷取
- 攝像頭資料擷取
- Cpu資料擷取
- 調試資料擷取
- host資料擷取
- 模拟器資料擷取
- hook資料擷取
- 本地資料擷取
- 記憶體資料擷取
- 多開資料擷取
- 網絡資料擷取
- root資料擷取
- 螢幕資料擷取
- SDCard資料擷取
- 設定資料擷取
- 信号資料擷取
- 手機卡資料擷取
- 堆棧資料擷取
- 唯一ID資料擷取
- UA資料擷取
- Xposed資料擷取
依賴
implementation 'fairy.easy:mobilehardware:{latest-version}'
資料資訊
App資訊擷取
代碼示例
資料格式
{
"appName":"MobileInfo",
"packageName":"com.mobile.mobileinfo",
"packageSign":"521cec5eb6984bc70f5b2a27e437b979",
"appVersionCode":"1",
"appVersionName":"1.0"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
appName | String | app名字 |
packageName | String | app包名 |
packageSign | String | app包簽名 |
appVersionCode | String | app版本号 |
appVersionName | String | app版本名 |
App安裝清單擷取
代碼示例
資料格式
[
{
"packageName":"com.huawei.android.tips",
"versionName":"1.0",
"versionCode":"1",
"isSystem":"false"
}
]
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
packageName | String | app包名 |
appVersionCode | String | app版本号 |
appVersionName | String | app版本名 |
isSystem | String | 是否是系統app |
音量資料擷取
代碼示例
資料格式
{
"maxVoiceCall":"15",
"currentVoiceCall":"3",
"maxSystem":"15",
"currentSystem":"0",
"maxRing":"15",
"currentRing":"0",
"maxMusic":"15",
"currentMusic":"0",
"maxAlarm":"15",
"currentAlarm":"0"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
maxVoiceCall | String | 最大通話音量 |
currentVoiceCall | String | 目前通話音量 |
maxSystem | String | 最大系統音量 |
currentSystem | String | 目前系統音量 |
maxRing | String | 最大鈴聲音量 |
currentRing | String | 目前鈴聲音量 |
maxMusic | String | 最大音樂音量 |
currentMusic | String | 目前音樂音量 |
maxAlarm | String | 最大提示聲音音量 |
currentAlarm | String | 目前提示聲音音量 |
版本資料擷取
代碼示例
資料格式
{
"baseBand":"21C30B323S006C000,21C30B323S006C000",
"innerBand":"STF-AL00 8.0.0.360(C00GT)",
"linuxBand":"$unknown"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
baseBand | String | 基帶版本 |
innerBand | String | 内部版本 |
linuxBand | String | linux核心版本 |
電池資料擷取
代碼示例
資料格式
{
"br":"74.0%",
"status":"charging",
"plugState":"usb",
"health":"good",
"present":"true",
"technology":"Li-poly",
"temperature":"33℃",
"voltage":"4.068V",
"power":"3100.0mAh"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
br | String | 電量百分比 |
status | String | 電池狀态 |
plugState | String | 電池充電狀态 |
health | String | 電池健康狀況 |
present | String | 是否有電池 |
technology | String | 電池的技術制造 |
temperature | String | 電池溫度 |
voltage | String | 電池電壓 |
power | String | 電池總電量 |
Cpu實時資料擷取
代碼示例
CpuInternals.getInstance().getCpuSampler().start();
CpuInternals.getInstance().getCpuSampler().getCpuList();
CpuInternals.getInstance().getCpuSampler().stop();
藍牙資料擷取
代碼示例
資料格式
{
"bluetoothAddress":"$unknown",
"isEnabled":"true",
"device":[
{
"name":"iPhone",
"address":"E4:9A:79:89:C7:24",
}
],
"phoneName":"Honor"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
bluetoothAddress | String | 藍牙位址 |
isEnabled | String | 藍牙是否打開 |
device | JSONArray | 連接配接的手機的資訊 |
name | String | 連接配接手機的藍牙位址 |
address | String | 連接配接手機的藍牙名字 |
phoneName | String | 手機設定的名字 |
系統Build資料擷取
代碼示例
資料格式
{
"board":"STF",
"bootloader":"unknown",
"brand":"HONOR",
"device":"HWSTF",
"display":"STF-AL00 8.0.0.360(C00GT)",
"fingerprint":"HONOR/STF-AL00/HWSTF:8.0.0/HUAWEISTF-AL00/360(C00GT):user/release-keys",
"hardware":"hi3660",
"host":"WUH1000129106",
"id":"HUAWEISTF-AL00",
"manufacturer":"HUAWEI",
"model":"STF-AL00",
"product":"STF-AL00",
"radio":"21C30B323S006C000,21C30B323S006C000",
"serial":"8BN0217901012695",
"tags":"release-keys",
"time":"1553851883000",
"type":"user",
"user":"test",
"osVersion":"HONOR/STF-AL00/HWSTF:8.0.0/HUAWEISTF-AL00/358(C00GT):user/release-keys",
"releaseVersion":"8.0.0",
"codeName":"$unknown",
"incremental":"360(C00GT)",
"sdkInt":"26",
"previewSdkInt":"0",
"securityPatch":"2019-04-05"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
board | String | 主機闆名稱 |
bootloader | String | 系統引導程式版本号 |
brand | String | 系統定制商 |
device | String | 裝置參數 |
display | String | 顯示屏參數 |
fingerprint | String | 硬體名 |
hardware | String | 核心指令行中的硬體名 |
host | String | host |
id | String | 标簽 |
manufacturer | String | 硬體廠商 |
model | String | 版本 |
product | String | 手機廠商 |
radio | String | 無線電固件的版本字元串 |
serial | String | 擷取硬體序列号 |
tags | String | 描述Build的标簽 |
time | String | time |
type | String | type |
user | String | user |
osVersion | String | os版本 |
releaseVersion | String | 版本 |
codeName | String | 目前開發代碼名稱 |
incremental | String | 基礎源代碼控件用于表示此建構的内部值 |
sdkInt | String | SDK的版本 |
previewSdkInt | String | SDK的預覽版本 |
securityPatch | String | 使用者可見的安全更新檔程式級别 |
攝像頭資料擷取
代碼示例
資料格式
{
"cameraInfo":[
{
"cameraFacing":"back",
"cameraLevel":"limited",
"cameraFlashInfo":"true",
"outputFormats":[
"raw_sensor",
"jpeg",
"private",
"yuv_420_888",
"depth16"
]
}
]
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
cameraInfo | JSONArray | 攝像頭資訊 |
cameraFacing | String | 攝像頭的位置 |
cameraLevel | String | 攝像頭支援水準 |
cameraFlashInfo | String | 是否有閃光燈 |
outputFormats | JSONArray | 攝像頭支援的格式 |
Cpu資料擷取
代碼示例
資料格式
{
"cpuName":"0",
"cpuFreq":"1844000KHZ",
"cpuMaxFreq":"1844000KHZ",
"cpuMinFreq":"533000KHZ",
"cpuHardware":"hi3660",
"cpuCores":"8",
"cpuTemp":"36℃",
"cpuAbi":"arm64-v8a,armeabi-v7a,armeabi"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
cpuName | String | CPU名字 |
cpuFreq | String | CPU頻率 |
cpuMaxFreq | String | CPU最大頻率 |
cpuMinFreq | String | CPU最小頻率 |
cpuHardware | String | CPU硬體名 |
cpuCores | String | CPU核數 |
cpuTemp | String | CPU溫度 |
cpuAbi | String | CPU架構 |
調試資料擷取
代碼示例
資料格式
{
"isOpenDebug":"true",
"isDebugVersion":"true",
"isDebugging":"false",
"isReadProcStatus":"false",
"isAllowMockLocation":"false"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
isOpenDebug | String | 是否開啟了調試模式 |
isDebugVersion | String | 是否是Debug版本 |
isDebugging | String | 是否正在調試 |
isReadProcStatus | String | 讀取id判斷是否在調試 |
isAllowMockLocation | String | 是否打開位置模拟 |
host資料擷取
代碼示例
模拟器資料擷取
代碼示例
資料格式
{
"checkBuild":"false",
"checkPkg":"false",
"checkPipes":"false",
"checkQEmuDriverFile":"false",
"checkHasLightSensorManager":"false",
"checkCpuInfo":"false"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
checkBuild | String | build |
checkPkg | String | 包名修改 |
checkPipes | String | 管道檢測 |
checkQEmuDriverFile | String | 驅動程式檢測 |
checkHasLightSensorManager | String | 光傳感器檢測 |
checkCpuInfo | String | cpu架構檢測 |
hook資料擷取
代碼示例
資料格式
{
"isHaveXposed":"false",
"isHaveSubstrate":"false",
"isHaveFrida":"false"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
isHaveXposed | String | 是否有Xposed |
isHaveSubstrate | String | 是否有Substrate |
isHaveFrida | String | 是否有Frida |
本地資料擷取
代碼示例
資料格式
{
"country":"CN",
"language":"zh"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
country | String | 目前國家 |
language | String | 目前語言 |
記憶體資料擷取
代碼示例
資料格式
{
"ramMemoryTotal":"3.90 GB",
"ramMemoryAvailable":"1.56 GB",
"romMemoryAvailable":"40.22 GB",
"romMemoryTotal":"56.30 GB",
"sdCardMemoryAvailable":"40.20 GB",
"sdCardMemoryTotal":"56.28 GB"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
ramMemoryTotal | String | RAM全部記憶體 |
ramMemoryAvailable | String | RAM可用記憶體 |
romMemoryAvailable | String | ROM可用記憶體 |
romMemoryTotal | String | ROM全部記憶體 |
sdCardMemoryAvailable | String | 記憶體卡可用記憶體 |
sdCardMemoryTotal | String | 記憶體卡全部記憶體 |
多開資料擷取
代碼示例
資料格式
{
"checkByPrivateFilePath":"false",
"checkByMultiApkPackageName":"false",
"checkByHasSameUid":"false"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
checkByPrivateFilePath | String | 檢測私有路徑 |
checkByMultiApkPackageName | String | maps檢測 |
checkByHasSameUid | String | ps檢測 |
網絡資料擷取
代碼示例
資料格式
{
"type":"WIFI",
"networkAvailable":"true",
"haveIntent":"false",
"isFlightMode":"false",
"isNFCEnabled":"true",
"isHotspotEnabled":"false",
"hotspotSSID":"$unknown",
"hotspotPwd":"$unknown",
"encryptionType":"$unknown"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
type | String | 網絡類型 |
networkAvailable | String | 網絡是否可用 |
haveIntent | String | 是否開啟資料流量 |
isFlightMode | String | 是否是飛行模式 |
isNFCEnabled | String | NFC功能是否開啟 |
isHotspotEnabled | String | 是否開啟熱點 |
hotspotSSID | String | 熱點賬号 |
hotspotPwd | String | 熱點密碼 |
encryptionType | String | 熱點加密類型 |
root資料擷取
代碼示例
螢幕資料擷取
代碼示例
資料格式
{
"densityScale":"3.0",
"densityDpi":"480",
"width":"1080",
"height":"1920",
"isScreenAuto":"false",
"isScreenAutoChange":"false",
"screenBrightness":"114"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
densityScale | String | 目前螢幕密度與标準螢幕密度的比值 |
densityDpi | String | 螢幕密度 |
width | String | 螢幕寬度 |
height | String | 螢幕高度 |
isScreenAuto | String | 亮度是否為自動調節 |
isScreenAutoChange | String | 螢幕亮度 |
screenBrightness | String | 螢幕是否開啟自動旋轉 |
SDCard資料擷取
代碼示例
資料格式
{
"isSDCardEnable":"true",
"getSDCardPath":"/storage/emulated/0"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
isSDCardEnable | String | SDCard是否可用 |
getSDCardPath | String | SDCard的路徑 |
設定資料擷取
代碼示例
資料格式
{
"androidId":"f573c0f6ca5178a2"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
androidId | String | androidId |
信号資料擷取
代碼示例
資料格式
{
"type":"WIFI",
"bssid":"82:2a:a8:1b:58:de",
"ssid":"GPNL",
"ipAddress":"192.168.1.73",
"ipAddressIpv6":"$unknown",
"macAddress":"D8:C7:71:E4:48:B9",
"networkId":"93",
"linkSpeed":"86Mbps",
"rssi":"-53",
"level":"4",
"supplicantState":"COMPLETED",
"proxy":"false",
"proxyAddress":"$unknown",
"proxyPort":"$unknown"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
type | String | 網絡類型 |
bssid | String | bssid |
ssid | String | ssid |
ipAddress | String | ipv4 |
ipAddressIpv6 | String | ipv6 |
macAddress | String | mac位址 |
networkId | String | 網絡id |
linkSpeed | String | 網絡速度 |
rssi | String | 信号強度 |
level | String | 信号等級 |
supplicantState | String | 連接配接狀态 |
proxy | String | 是否開啟代理 |
proxyAddress | String | 代理位址 |
proxyPort | String | 代理端口号 |
手機卡資料擷取
代碼示例
資料格式
{
"sim1Imei":"$unknown",
"sim2Imei":"866957032955878",
"sim1Imsi":"460037121038284",
"sim2Imsi":"$unknown",
"simSlotIndex":"0",
"meid":"A000007ADE42E2",
"sim1ImsiOperator":"CT",
"sim2ImsiOperator":"$unknown",
"sim1Ready":"true",
"sim2Ready":"false",
"isTwoCard":"false",
"isHaveCard":"true",
"operator":"CT"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
sim1Imei | String | 卡1IMEI |
sim2Imei | String | 卡2IMEI |
sim1Imsi | String | 卡1IMSI |
sim2Imsi | String | 卡2IMSI |
simSlotIndex | String | 有流量的卡的卡槽id |
meid | String | MEID |
sim1ImsiOperator | String | 卡1營運商 |
sim2ImsiOperator | String | 卡2營運商 |
sim1Ready | String | 卡1是否激活 |
sim2Ready | String | 卡2是否激活 |
isTwoCard | String | 是否有兩張卡 |
isHaveCard | String | 是否有卡 |
operator | String | 流量卡營運商 |
堆棧資料擷取
代碼示例
唯一ID資料擷取
代碼示例
UA資料擷取
代碼示例
Xposed資料擷取
代碼示例
資料格式
{
"xposedApp":"false",
"xposedImei":"false",
"xposedImsi":"false",
"xposedSerial":"false",
"xposedSsid":"false",
"xposedMac":"false",
"xposedAddress":"false",
"xposedAndroidId":"false",
"xposedLatitude":"false",
"xposedLongitude":"false"
}
資料鍵 | 資料類型 | 資料解釋 |
---|---|---|
xposedApp | String | 是否hook了本APP |
xposedImei | String | 是否hook了IMEI |
xposedImsi | String | 是否hook了IMSI |
xposedSerial | String | 是否hook了序列号 |
xposedSsid | String | 是否hook了SSID |
xposedMac | String | 是否hook了MAC位址 |
xposedAddress | String | 是否hook了藍牙位址 |
xposedAndroidId | String | 是否hook了AndroidId |
xposedLatitude | String | 否hook了緯度 |
xposedLongitude | String | 是否hook了經度 |