这题比较简单,之前类型的见过,直接放jadx里看。
这里很明显,需要先切到FlagActivity(这里FlagActivity是没导出的,要点开以后切),然后是点击10000下,弹出flag。
可以看到falg是从布局文件中取的,直接找到对应的布局文件即可。
拖进jadx,MainActivity内容如下,代码不多,基本流程就是,获取输入字符,通过Xor函数计算,输入正确的flag提示win。
可以看到上面的代码中给出了flag的长度为25,还有对应的”密文“,我直接抠出代码爆破。
放进jadx,也是两个页面,输入账号密码,账号给出来了,账号通过rc4,生成base64码表,解密一下密码即可。
可以用frida去hook,把码表hook出来,这里我嫌麻烦直接抠代码跑了一遍,把码表跑出来。
直接解密:
放进jadx,发现被处理过,各种分支跳转。
勉强能看出还是用encode处理,有两处,输入的字符串2也是不一样的。
继续看密文也给出来了:
hook了一下,encode的参数:
那大概是需要跳转进另一个分支执行。
此时发现了一处判断是否被调试:
直接用jeb调试看看,题目名字也提示需要调试下:
还没分析完,flag就弹出来了。。。。。。