android apk反编译安全检查----文件任意读写漏洞

本文介绍apk文件反编译后文件可读写漏洞的检查方法


一、文件任意读写所需的Java方法:

openFileOutput(String name , int mode)

name:文件名

mode:打开方式

mode有如下几种:

Context.MODE_PRIVATE = 0 (0x0000)--代表文件是私有数据,只能被应用本身访问,写入后会覆盖原有内容。这是默认的操作模式。
Context.APPEND = 32768 (0x8000)------代表文件是私有数据,只能被应用本身访问,是追加方式写入,不会覆盖原来的内容
Context.MODE_WORLD_READABLE = 1 (0x0001)---代表文件可以被其他应用读取
Context.MODE_WORLD_WRITEABLE = 2 (0x0002)----代表文件可以被其他应用写入

二、文件任意读写漏洞风险点

mode=读、写、读写的时候,具有风险。


三、apk反编译检查

smali代码中检查openFileOutput方法,再判断mode的值,为0x1,0x2,0x3表示文件可读、可写、可读写。例如:

const-string/jumbo v3, "libcuid.so"

const/4 v4, 0x1

invoke-virtual {v2, v3, v4}, Landroid/content/Context;->openFileOutput(Ljava/lang/String;I)Ljava/io/FileOutputStream;

表示文件libcuid.so可读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值