github傳送門linux
Table of Contents
依賴
implementation 'fairy.easy:mobilehardware:{latest-version}'
複製代碼
數據信息
代碼示例
PackageHelper.getPackageInfo(getApplicationContext())
複製代碼
數據格式
{
"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版本名 |
代碼示例
ListAppHelper.mobListApp(getApplicationContext())
複製代碼
數據格式
[
{
"packageName":"com.huawei.android.tips",
"versionName":"1.0",
"versionCode":"1",
"isSystem":"false"
}
]
複製代碼
數據鍵 |
數據類型 |
數據解釋 |
packageName |
String |
app包名 |
appVersionCode |
String |
app版本號 |
appVersionName |
String |
app版本名 |
isSystem |
String |
是不是系統app |
代碼示例
AudioHelper.mobGetMobAudio(getApplicationContext())
複製代碼
數據格式
{
"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 |
當前提示聲音音量 |
代碼示例
BandHelper.mobGetBandInfo()
複製代碼
數據格式
{
"baseBand":"21C30B323S006C000,21C30B323S006C000",
"innerBand":"STF-AL00 8.0.0.360(C00GT)",
"linuxBand":"$unknown"
}
複製代碼
數據鍵 |
數據類型 |
數據解釋 |
baseBand |
String |
基帶版本 |
innerBand |
String |
內部版本 |
linuxBand |
String |
linux內核版本 |
代碼示例
BatteryHelper.mobGetBattery(getApplicationContext())
複製代碼
數據格式
{
"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 |
電池總電量 |
代碼示例
CpuInternals.getInstance().getCpuSampler().start();
CpuInternals.getInstance().getCpuSampler().getCpuList();
CpuInternals.getInstance().getCpuSampler().stop();
複製代碼
代碼示例
BluetoothHelper.mobGetMobBluetooth(getApplicationContext())
複製代碼
數據格式
{
"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 |
手機設置的名字 |
代碼示例
BuildHelper.mobGetBuildInfo()
複製代碼
數據格式
{
"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 |
用戶可見的安全補丁程序級別 |
代碼示例
CameraHelper.getCameraInfo(getApplicationContext())
複製代碼
數據格式
{
"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 |
攝像頭支持的格式 |
代碼示例
CpuHelper.mobGetCpuInfo()
複製代碼
數據格式
{
"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架構 |
代碼示例
DebugHelper.getDebuggingData(getApplicationContext())
複製代碼
數據格式
{
"isOpenDebug":"true",
"isDebugVersion":"true",
"isDebugging":"false",
"isReadProcStatus":"false",
"isAllowMockLocation":"false"
}
複製代碼
數據鍵 |
數據類型 |
數據解釋 |
isOpenDebug |
String |
是否開啓了調試模式 |
isDebugVersion |
String |
是不是Debug版本 |
isDebugging |
String |
是否正在調試 |
isReadProcStatus |
String |
讀取id判斷是否在調試 |
isAllowMockLocation |
String |
是否打開位置模擬 |
代碼示例
DnsHelper.mobDNS("ip")
複製代碼
代碼示例
EmulatorHelper.mobCheckEmulator(getApplicationContext())
複製代碼
數據格式
{
"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架構檢測 |
代碼示例
HookHelper.isXposedHook(getApplicationContext())
複製代碼
數據格式
{
"isHaveXposed":"false",
"isHaveSubstrate":"false",
"isHaveFrida":"false"
}
複製代碼
數據鍵 |
數據類型 |
數據解釋 |
isHaveXposed |
String |
是否有Xposed |
isHaveSubstrate |
String |
是否有Substrate |
isHaveFrida |
String |
是否有Frida |
代碼示例
LocalHelper.mobGetMobLocal()
複製代碼
數據格式
{
"country":"CN",
"language":"zh"
}
複製代碼
數據鍵 |
數據類型 |
數據解釋 |
country |
String |
當前國家 |
language |
String |
當前語言 |
代碼示例
MemoryHelper.getMemoryInfo(getApplicationContext())
複製代碼
數據格式
{
"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 |
內存卡所有內存 |
代碼示例
MoreOpenHelper.checkVirtual(getApplicationContext())
複製代碼
數據格式
{
"checkByPrivateFilePath":"false",
"checkByMultiApkPackageName":"false",
"checkByHasSameUid":"false"
}
複製代碼
數據鍵 |
數據類型 |
數據解釋 |
checkByPrivateFilePath |
String |
檢測私有路徑 |
checkByMultiApkPackageName |
String |
maps檢測 |
checkByHasSameUid |
String |
ps檢測 |
代碼示例
NetWorkHelper.mobGetMobNetWork(getApplicationContext())
複製代碼
數據格式
{
"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 |
熱點加密類型 |
代碼示例
RootHelper.mobileRoot(getApplicationContext())
複製代碼
代碼示例
ScreenHelper.mobGetMobScreen(getApplicationContext())
複製代碼
數據格式
{
"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 |
屏幕是否開啓自動旋轉 |
代碼示例
SDCardHelper.mobGetSdCard()
複製代碼
數據格式
{
"isSDCardEnable":"true",
"sDCardPath":"/storage/emulated/0"
}
複製代碼
數據鍵 |
數據類型 |
數據解釋 |
isSDCardEnable |
String |
SDCard是否可用 |
getSDCardPath |
String |
SDCard的路徑 |
代碼示例
SettingsHelper.mobGetMobSettings(getApplicationContext())
複製代碼
數據格式
{
"androidId":"f573c0f6ca5178a2"
}
複製代碼
數據鍵 |
數據類型 |
數據解釋 |
androidId |
String |
androidId |
代碼示例
SignalHelper.mobGetNetRssi(getApplicationContext())
複製代碼
數據格式
{
"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 |
代理端口號 |
代碼示例
SimCardHelper.mobileSimInfo(getApplicationContext())
複製代碼
數據格式
{
"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 |
流量卡運營商 |
代碼示例
StackSampler.getStackInfo(Thread.currentThread())
複製代碼
代碼示例
PhoneIdHelper.getPsuedoUniqueID()
複製代碼
代碼示例
UserAgentHelper.getDefaultUserAgent(getApplicationContext())
複製代碼
代碼示例
XposedHookHelper.checkXposedInjet(getApplicationContext())
複製代碼
數據格式
{
"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了經度 |