首页 技术 正文
技术 2022年11月12日
0 收藏 946 点赞 2,265 浏览 768 个字

今天遇到一个bug,比较有意思。

情景:

  • 测试一个钻石提现功能,条件是账户里必须有价值等于或者超过50美元的钻石,才允许提现,否则无法进行下一步。

测试步骤:

  1. 提现页面输入一个小于50美元的提现金额,不点击下一步
  2. 进入手机shell,获取root权限,执行 am start -n com.cs.test/.activity.WithdrawCardListActivity,回车之后就能进入选择银行卡页面查看apk包名和Activity名
  3. 输入银行卡卡号,下一步,提现了

这个测试的意图就是,在不满足判断条件的情况下,越过app的验证,继续后面的操作。

这里要学习的就是 am start -n com.cs.test/.activity.WithdrawCardListActivity 这个命令。

前面的篇章有介绍过,am start -n <包名>/<包名>.<Activity名> 这条命令的作用就是启动程序或者直接启动某个Activity,就像这个测试中的跳转一样。

那么问题来了,怎么获取这个app的包名和Activity名呢?

查看包名的方法有以下两种但不局限于这两种:

  • aapt dump badging <apk文件路径> ,aapt是SDK的一个小工具,在build-tools里面

查看apk包名和Activity名

  • 使用re文件管理器,查看/data/app

查看Activity名的方法

  • adb shell dumpsys activity | grep “Card”          —–Linux
  • adb shell dumpsys activity | findstr “Card”        —–Windows

查看apk包名和Activity名

记得一定要进行过滤,因为一个app会有很多个Activity,不过滤会找得头都晕的。

然后,问题又来了,aapt 这个命令又该怎么用呢?知道aapt可以用来查看包名、activity名、版本等很多信息,后面用到再逐个去了解,先知道有这么回事儿就行了。

查看apk包名和Activity名

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,024
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,514
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,362
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,143
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,776
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,854