Android
拿到的apk丢到JEB里分析,从MainActivity看起
代码很简洁,注册了一个本地的广播接收器,接收到本地广播后打印log
this.getString(2131427361)里对应的内容在上图的R类里
public static final int flag = 2131427360;
public static final int hidden_action = 2131427361;
因为是本地广播(应用进程内)LocalBroadcastManager,所以无法通过普通权限甚至root权限发送action为hidden_action的广播带出日志数据
不可行: am broadcast -a hidden_action
那就跟到下面这个函数里:
Deobfuscator$app$Debug.getString(0)
函数比较复杂
考虑使用frida hook该函数(设备需root),拿到数据
根据函数特点,编写frida.js脚本,内容如下:
1 |
|
然后执行如下命令:
frida -U -f com.tamu.ctf.hidden -l frida.js
得到flag