安卓相关测试

环境准备:
网易Mumu安卓模拟器,里面还有adb方便调试: http://mumu.163.com/baidu/
adb: brew cask install android-platform-tools

动态调试

adb连接,mac下网易mumu端口是5555,windows下是7555

windows下:
adb connect 127.0.0.1:7555
adb shell

mac下:
adb shell

首先通过字符串搜索,定位到某个位置,command + b下断点。
在mumu上运行apk,然后attach

然后随便点一点能触发到断点的功能。

f6是 单步调试
command + f6是 步入调试
step out在debugger上
如果有两个断点,想迅速调到第二个断点就点击run

通过反编译找到关键位置,然后打断点,执行下来。

这里开始都是int类型,改为string类型就会显示变量的值,这样就可以获取到关键的一些信息。

Frida Hook

也可以利用frida hook一些点,然后能快速得拿到数据。
https://github.com/lyxhh/lxhToolHTTPDecrypt

环境准备:

1、运行frida-server

wget https://github.com/frida/frida/releases/download/12.5.2/frida-server-12.5.2-android-x86.xz
xz -d frida-server-12.5.2-android-x86.xz
adb push frida-server-12.5.2-android-x86 /data/local/tmp/
adb shell
cd /data/local/tmp/
chmod 777 frida-server-12.5.2-android-x86
./frida-server-12.5.2-android-x86

2、python环境,frida安装有点慢

pip3 install colorlog flask flask_socketio requests frida

3、go

python3 app.py

转发端口:
adb forward tcp:27042 tcp:27042

选择一个app:

然后得反编译找到具体一些包名,进行hook后随便点点触发到包,就可以看到具体的一些调用情况,比如调用参数以及调用栈。

反编译源码

1、jeb
jeb加载apk后按Q既可反编译

2、apktools
java -jar apktool_2.3.3.jar d "1.apk" -o out -f

3、dex2jar
解压apk,得到classes.dex
d2j-dex2jar.bat classes.dex

既可得到一个jar,再用jd-gui既可反编译java代码

posted @ 2019-05-15 12:14 l3m0n 阅读(...) 评论(...) 编辑 收藏