安全性测试之安装包测试

安装包测试主要包括以下几点:

1、反编译代码;

2、安装包签名;

3、完整性校验;

4、权限设置检查。

下面对以上几点做详细介绍:

1、反编译代码:移动应用发出去后最终用户获得一个程序安装包,我们需关注用户能否从这个安装包中获取项目的源代码。从安全方面考虑,程序开发人员是否会在程序源代码中硬编码一些敏感信息,如密码等。常用的反编译方法是使用dex2jar工具并结合jd-gui工具(java的反编译工具)查看源代码。

下载dex2jar和JD-GUI

找到我们准备测试用的apk,并将 后缀.apk改为.zip

将test.zip解压,并查看目录,找到classes.dex

并将这个文件拷至dex2jar工具存放目录下

打开控制台,使用cd指令进入到dex2jar工具存放的目录下,如图

进入到dex2jar目录下后,输入“dex2jar.bat    classes.dex”指令运行

执行完毕,查看dex2jar目录,会发现生成了classes.dex.dex2jar.jar文件

上一步中生成的classes.dex.dex2jar.jar文件,可以通过JD-GUI工具直接打开查看jar文件中的代码

被混淆过的class反编译后的效果图(类文件名称以及里面的方法名称都会以a,b,c....之类的样式命名):

2、安装包签名

安装包是否签名:IOS系统不必太考虑这些问题,因为IOS每一个App发布出来都有一个正式的发布证书来签名,发布到App Store 时,App Store会做校验,保证APP是合法的开发者发布出来的。对于Android来说,发布的渠道多样,没有此类权威检查,我们需要验证下签名使用的Key是否正确,以防被第三方应用恶意覆盖安装,我们可以使用一下命令检查:

jarsigner -verify -verbose -certs apk包路径

如果运行后,显示 jar已验证,说明签名校验成功

3、完整性校验

为确保安装包不会在测试完成到最终交付过程中因为各种问题发生文件损坏,需要对安装包进行完整性校验。通常做法是检查文件的md5值。

4、权限设置检查

对app申请某些特定权限的必要性进行检查,如访问通讯录等

android:检查manifest文件来读取应用所需的全部权限;

ios:在用户使用app过程中需要使用权限时,系统会弹出提示框,用户可以选择接受或者拒绝;

原文地址:https://www.cnblogs.com/toray-xiaopm/p/8440866.html

时间: 2024-10-06 21:32:02

安全性测试之安装包测试的相关文章

测试:安装包的测试

交流学习,不断总结.借鉴,知识分享 移动端安装包的测试 测试项 测试子项 输入说明 预期结果 备注 实际结果 测试结果 移动端安装包的测试 移动应用的安装 安装手册是否规范,是否简洁,是否通俗易懂. 安装手册是否齐全,正确,有改动时,文档是否同步更新 直接复制安装程序到电脑上,能否正常安装 按安装手册给出的步骤进行安装,安装是否正确 查看在安装过程中存在的提示信息是否明确,意思是否明确 在安装过程中,点击取消按钮,能否正常退出安装程序,软件是否可用. 安装时是否识别有SD卡,并默认安装到sd卡中

mysql主从复制及读写分离(附安装包)

实验目的:在实际生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论在安全性.高可用性,还是高并发等各个方面都是完全不能满足实际需求的,因此,一般需要通过主从复制(master-slave)的方式来同步数据,再通过读写分离提升数据库的并发负载能力.主从复制(一)原理复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位

CentOS和Ubuntu下安装配置Greenplum数据库集群(包括安装包和源码编译安装)

http://blog.csdn.net/prettyshuang/article/details/50501904 首先说一下,无论是CentOS/RedHat还是Ubuntu都可以按源码方式.安装包方式编译安装. 1.   规划 192.168.4.93(h93)       1个主master  2个主segment.2个镜像segment 192.168.4.94(h94)       1个备master  2个主segment.2个镜像segment 都安装在/home/wslu/gp

Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法

原文:Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法 前几个月使用Advanced Installer 打包了一堆安装包,其中有使用默认主题的,也有根据UI设计更改过一些功能的,当时在Windows7下测试没有任何问题,就直接上线给用户使用了. 这两天在禅道上发现指派了一个BUG过来,描述的内容是在Windows10下安装包会出现重启后再次自动运行的问题,见鬼了,没有写过自启动注册表啊,马上打开工程查看,发现了一个很奇怪的现象,下面来介绍. 1.当

iOS安装包瘦身的那些事儿

在我们提交安装包到App Store的时候,如果安装包过大,有可能会收到类似如下内容的一封邮件: 收到这封邮件的时候,意味着安装包在App Store上下载的时候,有的设备下载的安装包大小会超过100M.对于超过100M的安装包,只能在WIFI环境下下载,不能直接通过4G网络进行下载. 在这里,我们提交App Store的安装包大小为67.6MB,在App Store上显示的下载大小和实际下载下来的大小,我们通过下表做一个对比: iPhone型号 系统 AppStore 显示大小 下载到设备大小

Windows安装包制作指南——Advanced Installer的使用

1. 前言 最近需要制作windows的安装包,据说Advanced Installer比较强大,遂拿它来制作安装包.在网上少量资料以及官网简约文档中摸索前进,总算是制作出可用的安装包,在此记录,仅供参考. Advanced Installer版本: Advanced Installer 11.0, 目前的最新版是13.1,不过大同小异. 2. 安装包制作 2.1 新建工程 由于希望能够自己定制一些安装界面,我们选择Professinal版本,语言选择中文,然后创建工程: 2.2 产品详情 填写

VS2015 安装包缺失(联网安装失败)问题解决

Win7 x86 测试可行 *  如果前面有尝试过安装不成功, 一定要用卸载程序删除已安装的部分,否则会出乱子. 1. 或者是用虚拟光驱加载ISO, 或者是解压到硬盘上, 都没有关系. 2. 用管理员权限启动CMD控制台, 进入VS2015 安装盘的根目录 (vs_enterprise.exe 所在的目录). 3. 执行命令 vs_enterprise.exe /NoWeb /ProductKey 2XNFG-KFHR8-QV3CP-3W6HT-683CH 运行安装, 这个KEY是企业版的KEY

.net安装包自动安装Mysql数据库

原文:.net安装包自动安装Mysql数据库 在制作.Net安装包的时候,如果项目有用到数据库,怎么能够把数据库打包安装呢?网上已经有很多自动安装Sql Server数据库的例子,但是自动安装mysql的例子似乎不多.本文就介绍一下如何在.Net安装包中自动安装Mysql数据库. 最终我们要实现的效果是,部署.Net桌面应用程序时,能够一键自动安装应用程序以及附带的MySql数据库,并初始化数据库. 实现步骤如下: 1.准备一个干净的MySql安装包 mysql本身是开源的,安装完mysql数据

中标麒麟学习笔记3:试验制作wireshark二进制安装包

Wireshark是个优秀的网络包嗅探工具,对于学习理解网络知识有很大的帮助.中标麒麟桌面版本没有集成这一软件,所以想自己试着安装并学习一下如何制作RPM包. 学习了<fedora官网RPM包制作指南>后,觉得事情比较简单,主要就是编辑一个SPEC配置文件嘛,加上configure.make.make  install等指令,修改修改描述说明什么的就完活了.于是想先找个wireshark源码包,再找一个现成的SPEC文件,比如fedora21的SRPM包中就有,然后稍作修改就可以用rpmbui