耗电量测试
- 公共耗电量测试环境:http://jenkins.testing-studio.com:9999/
- https://developer.android.com/studio/profile/battery-historian
安装
git clone https://github.com/google/battery-historian.git
cd battery-historian
go get -d -u github.com/google/battery-historian/...
#vi setup.sh 修改20170409修改为20190301
go run setup.go
go run cmd/battery-historian/battery-historian.go
带有墙外js地址,需要***
开启wifi模式,避免充电干扰。也可以使用断线后进行测试,完成后再连线提取数据
adb tcpip 7777
#断掉usb线
adb connect 192.168.0.100:7777
运行脚本
battery_rerun(){
adb shell dumpsys batterystats --reset
adb shell dumpsys batterystats --enable full-wake-history
#启动app
adb shell am start -S -W -n com.mobike.mobikeapp/.SplashActivity
sleep 3
adb shell input keyevent 4
#模拟业务行为
for i in {1..100} ; do
echo index = $i
adb shell input swipe $((1000*(RANDOM%10)/10)) 1400 $((1000*(RANDOM%10)/10)) 500 ;
sleep 1;
adb shell input tap 949 1311;
sleep 1;
done
#收集电量信息
adb bugreport bugreport_$(date +%Y%m%d%H%M).zip
echo Finish
}
diff数据
安全参考
A1:2017 - 注入 ….…………..…………………… 7
A2:2017 - 失效的身份认证 …………………...…. 8
A3:2017 - 敏感信息泄露 …….………………… 9
A4:2017 - XML 外部实体(XXE) .……………. 10
A5:2017- 失效的访问控制 …………………….. 11
A6:2017 - 安全配置错误 …….………………... 12
A7:2017 - 跨站脚本(XSS) …..……………… 13
A8:2017 - 不安全的反序列化 .……………….. 14
A9:2017 - 使用含有已知漏洞的组件 ……….………. 15
反编译
-
apktool apk反编译与打包 iBotPeaches / Apktool / Downloads — Bitbucket
-
jd-gui jar包源代码分析
-
jadx 综合性的apk源代码分析工具
-
smali语法
修改代码加签名,安装并启动后就可以看到onCreate的执行时间
03-16 15:12:15.773 20676 20676 I hogwarts: 1552720335773
03-16 15:12:15.935 20676 20676 I hogwarts: 1552720335935
动态hook
编译xposed installer
git clone https://github.com/rovo89/XposedInstaller
cd XposedInstaller
cp -r /Users/seveniruby/Library/Android/ndk/toolchains/mips64el-linux-android-4.9/ /Users/seveniruby/Library/Android/sdk/ndk-bundle/toolchains/
#使用java8
./gradlew assembleRelease
开发自己的xposed模块
不要使用instant run模式
接口安全测试
- zap https://github.com/zaproxy/zaproxy/wiki/Downloads https://ibotpeaches.github.io/Apktool/
- burpsuite
- 安全测试演练环境:http://jenkins.testing-studio.com:10000 admin/password
作业1
对比自己公司的app,相同的业务,不同的版本,进行耗电量对比测试