栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

app测试基础篇

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

app测试基础篇

前言

本文主要是app测试中常见工具的使用,都是报告上的东西主要是备忘,萌新笔记大佬轻喷。

客户端应用测试 一、数字签名验证:

1.数字签名作用:

①.签名就是app的身份,安卓系统只会接受有证书app的安装请求。

②.当两个apk包名相同时,系统就会对以安装的apk进行覆盖,这时就需要两个apk的签名一致。

总的来说数字签名的作用就是为了让内容不被篡改。

2.通用证书,第三方证书的不安全性:

①如果攻击者拿到了开发者的签名证书,就可以直接替换掉原apk的内容。恶意app会被当做正常app被下载。

3.利用jarsigner进行检查安装包的签名。

①进入jdk工具目录,进行签名验证。

②这里我们可以看到签名者,单位,地区等信息。现在的加密算法要求都是SHA2。以下的两个例子都是自定义的证书。

4.证书的生成:

①使用jdk自带的工具:keytool

常用参数:

-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书 -v 显示密钥库中的证书详细信息
-keyalg    指定密钥的算法 (如 RSA  DSA(如果不指定默认采用DSA))
-keysize     指定密钥长度
-validity    指定创建的证书有效期多少天
-alias 产生别名 
-keypass 别名密码
-keypass 指定别名条目的密码(私钥的密码)
-list 显示密钥库中的证书信息
-validity 有效天数

制作语句:

keytool.exe  -genkey -v -keystore 目录/new2-key -alias hhh -keypass 123456  -keyalg RSA -keysize 2048 -validity 2000

生成签名证书截图:

查看证书信息:

keytool -v -list -keystore C:UsersAdministratorDesktop测试文件bianyinew2-key

5.apk签名:

①使用工具:jarsigner

常用参数:

-keystore              密钥库位置
-storetype             密钥库类型
-signedjar             签名算法的名称
-digestalg             摘要算法的名称
-verify                   验证已签名的 JAR 文件

案例演示:

jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA1 -keystore 签名证书地址  需要签名apk位置 别名

如果要自己测试的可以在网上随便下载一个app,利用apktool解包之后再打包。这样就可以验证签名是否成功。

java  -jar  apktool的名字  d(反编译)  要解包的apk  -o(输出)  文件名

java  -jar  apktool的名字  b(打包)  要打包的文件夹名字

在这里我们可以顺便验证一下应用的完整性,在解包后对apk内容进行修改,比如更改log图片,之后进行打包和签名。在安装后查看应用是否存在自校验。

二、apk反编译

1.更改apk后缀为.zip进行文件解压:

2.对classes.dex文件进行反编译:

案例演示:

d2j-dex2jar.bat C:UsersAdministratorDesktop测试文件1classes.dex

3.使用jd-gui工具阅读jar:

4.加壳识别:

①可以在.so库里进行特征识别

案例演示:

比如这个apk就是用的邦邦企业版。

②包名查看

③apk查壳工具

三、本地文件安全测试

1.本地文件权限配置安全:

①本地权限查看目的:

检查应用文件权限后三位是否为空,最多能有一个执行位。这样的目的是为了让敏感信息不会泄露,除了自己以外的其他人不能进行读写操作。

②利用adb shell进行文件查看:

这里我是用的夜神模拟器自带的shell进行连接,如果是用真机连接的话需要进行root,不然很多命令都是没有权限执行。

③案例演示:

进入/data/data/目录下查看apk的文件目录权限是否设置安全。

2.本地文件内容安全:

①测试文件内容安全目的:

确保app目录中的文件没有泄露敏感信息,常见测试点为文本文件,xml文件,db文件。

可以直接使用cat命令也可以把文件pull出来阅读。

adb pull 需要复制文件 粘贴地址

3.本地日志内容安全:

①日志文件读取:

直接adb logcat就可以查看日志文件了。

常用logcat命令:

adb logcat -f            将日志输出到文件, 默认输出到标准输出流中
           -s            设置输出日志的标签, 只显示该标签的日志
           -d           将缓存的日志输出到屏幕上, 并且不会阻塞

adb logcat >C:UsersAdministratorDesktopmoniqi1.txt 将日志发送到该目录下,并创建1.txt文件

②案例演示:

参考文章

Android安全开发之通用签名风险——阿里聚安全

APK查壳特征识别

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/606309.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号