从主界面可以看到,本应用开发了以下功能:获取设备基本信息;获取设备应用信息;获取传感器信息;获取网络信息;获取位置信息;获取图像信息;获取联系人信息;获取手机短信。
BIFragment.java
fragment_basic_information.xml
其中获取的设备信息包括:设备基板;设备引导程序版本号;设备品牌;设备驱动;版本信息;唯一标识;硬件名称;主机地址;设备版本号;设备制造商;设备型号;整个产品的名称;设备标签;设备版本类型。
从这些信息中可以了解手机的型号信息,假如发起攻击,可以针对不同型号的手机进行不同的操作。
AIadapter.java:获取app信息。
AIFragment.java:定义列表各项的样式。
fragment_app_information.xml:创建list。
app_information_list_item.xml:安排list中的信息布局。
此功能获取了手机中的存在哪些应用,并且显示应用是否启用,源目录的路径,数据目录的路径。
从这些信息中可以了解手机拥有哪些应用,假如发起攻击,可以针对不同应用进行不同的操作。
SIFragment.java
fragment_sensor_information.xml
此功能获取了手机中拥有哪些传感器,并且显示传感器的名称、供应商、类型、版本、最大和最小范围、最小延迟、功率、分辨率。
从这些信息中可以了解手机拥有哪些传感器和具体信息,假如发起攻击,可以针对不同传感器进行不同的深入操作。
NIFragment.java
fragment_network_information.xml
此功能会显示手机现在连接了哪个WiFi,以及手机可以扫描到附近的哪些WiFi,以及这些WiFi的一些信息,包括:wifi名称、BSSID、频率、加密和身份验证方案、信号强度、时间戳。
有些人可能认为获取手机周围有哪些WiFi并没有什么作用,其实获取手机周围的WiFi是有助于定位设备的具体位置。加入之前获得了设备的gps位置坐标,但是现在的城市中拥有很多高层的楼房,gps位置坐标只能定位二维坐标,并不能知道设备所在的具体楼层,而通过获取周围的WiFi信息可以有助于定位设备在哪一层等具体位置。
LIFragment.java
fragment_location_information.xml
此功能获取了手机的具体位置信息,包括经度和纬度。
CIFragment.java
fragment_camera_information.xml
后置摄像头:
前置摄像头:
此功能可以打开手机的前置摄像头和后置摄像头,后续可以添加传输将获取的图像传出出去。
此功能在最新的手机系统中测试时,当开启摄像头后,通知栏会显示“摄像头打开”的提示。而在旧版本的手机上测试时,手机并没有明显的提示,只能通过一些细微的细节来发现摄像头被打开,比如开启后手机的手电筒不能使用,但是这种细节一般人们很难发现。而且假如只是调用一下摄像头拍摄照片而不是视频时,即使有提示也会很快消失,难以被发觉。也就给了攻击者可乘之机。
CTIFragment.java
fragment_contacts_information.xml
此功能可以获取手机通讯录中存储的联系人信息,包括名字和电话。从这些信息中有可能可以推断出机主的社会关系网络。
smsFragment.java
fragment_sms_information.xml
此功能可以获取手机短信中所有短信的具体内容,从中可以提取机主的相关信息。
现在很多应用的安全认证都是使用了短信验证码,而短信验证码的泄露也会造成不必要的损失。