bugku安卓First_Mobile wp
1 打开题目,下载apk
2 将下载好的apk拖进android killer中,提示文件名过长,随便更改一下文件名即可
3 查看入口文件源码(点击android killer工具栏咖啡杯图标)
4 发现调用了encode类的check函数(传进去的参数为输入框EditText的值),点击跟踪进encode类
5 发现在emcode.check函数中为flag的加密算法,返回值为bool类型,让check返回为true即可,我使用python3写了一个根据加密思路的解密脚本,代码如下:
a = [23, 22, 26, 26, 25, 25, 25, 26, 27, 28, 30, 30, 29, 30, 32, 32] key = '' for m in range(16): for i in range(128): k = i k = (k + a[m]) % 61 k = k * 2 - m if k == i: print(f"[*]第{m+1}位是{k}") key = key + chr(k) break print("XMAN{" + key + "}")
flag为:XMAN{LOHILMNMLKHILKHI}