题目来源: 暂无
题目描述:无
发现程序的逻辑是将输入通过encrypt处理之后再getSecret,然后与getSecret处理之后的getFlag进行比较
既然都被getSecret处理了,因此只需要让经过encrypt处理的输入等于getFlag即可
encrypt与getFlag都在phcm库里
将库拖入IDA,观察这两个函数
在这里有一处要点,可以将a1变量设置成JNIEnv*类型
encrypt很简单,就是把字符串的每个字符ascii减一
getFlag比较复杂,但是因为它输出的结果是固定的,因此考虑直接输出即可
这里通过ApkIDE修改smali
将正常Toase弹出Failed的内容改为输出getFlag的结果,发现是“ek`fz@q2^x/t^fn0mF^6/^rb`qanqntfg^E`hq|”
然后将结果每个字符ascii+1得到flag
flag{Ar3_y0u_go1nG_70_scarborough_Fair}