device 设备信息读取——型号、系统版本、CPU、分辨率
支持的信息
| 接口 | 返回内容 |
|---|---|
device.model | 设备型号(如 SM-G9910) |
device.brand | 品牌(如 Samsung、Xiaomi) |
device.manufacturer | 制造商 |
device.androidVersion | Android 版本(如 13) |
device.sdkVersion | SDK 版本号(如 33) |
device.cpuAbi | CPU 架构(如 arm64-v8a) |
device.cpuCount | CPU 核心数 |
device.screenWidth | 屏幕宽度(像素) |
device.screenHeight | 屏幕高度(像素) |
device.screenDensity | 屏幕密度 |
device.deviceId | 设备唯一标识(Android ID) |
device.phoneNumber | 手机号(部分设备需要权限) |
device.totalMemory | 总内存 |
device.freeMemory | 可用内存 |
快速示例
console.log('[+] 设备信息:');
console.log(' 型号: ' + device.model);
console.log(' 品牌: ' + device.brand);
console.log(' Android: ' + device.androidVersion);
console.log(' CPU: ' + device.cpuAbi + ' x' + device.cpuCount);
console.log(' 屏幕: ' + device.screenWidth + 'x' + device.screenHeight);
典型使用场景
设备兼容性判断
某些脚本在特定 Android 版本或设备型号上不工作,提前判断做降级:
if (device.sdkVersion >= 33) {
// Android 13+ 的逻辑
} else {
// 旧版本的兼容逻辑
}
日志里记录设备信息
发 issue 或跟别人讨论问题时,附上设备信息能快速定位:
function printDeviceInfo() {
console.log('=== 设备信息 ===');
console.log('型号: ' + device.model);
console.log('Android: ' + device.androidVersion + ' (SDK ' + device.sdkVersion + ')');
console.log('CPU: ' + device.cpuAbi);
console.log('屏幕: ' + device.screenWidth + 'x' + device.screenHeight);
console.log('内存: ' + device.totalMemory);
console.log('JSHook: ' + runtime.modVersion);
console.log('================');
}
防滥用(反反作弊思路)
如果脚本不想在模拟器上被滥用,可以用 device 信息判断是不是真机:
if (device.model.indexOf('sdk') !== -1 ||
device.model.indexOf('generic') !== -1 ||
device.manufacturer.indexOf('Genymotion') !== -1) {
console.log('[!] 检测到模拟器,脚本退出');
// return;
}
runtime 和 device 的区别
device 模块读取的是手机硬件层面的信息,runtime 模块提供的是Frida 运行时层面的信息:
| 接口 | 说明 |
|---|---|
runtime.packageName | 当前注入的应用包名 |
runtime.processName | 当前进程名 |
runtime.isKernel | 是否内核驱动模式 |
runtime.coreVersionCode | JsHook 版本号 |
runtime.modVersion | fridamod 版本 |
runtime.appInfo | 当前应用的 ApplicationInfo |
device.model | 设备型号 |
device.androidVersion | 系统版本 |
device.screenWidth | 屏幕宽度 |
两个模块常用 runtime.isKernel 判断脚本运行环境,device.* 记录日志。