re学习笔记(91)攻防世界 - mobile进阶区 - Android2.0
Posted Forgo7ten
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了re学习笔记(91)攻防世界 - mobile进阶区 - Android2.0相关的知识,希望对你有一定的参考价值。
jeb打开查看MainActivity方法,发现通过JNI.getResult方法来判断成功与否
而getResult是native方法
IDA载入so文件
找到相应函数
Init函数类似每组字数为3的栅栏加密,只不过是没连在一起。
将得到的3组,第一组前4个字符 每个字符乘以2再异或0x80再进行比较
剩下的则是,每组的前四位;第二组异或第一组,第三组异或第二组。再进行比较
写Python脚本得到
r1 = [ord(i) for i in list("LN^dl")]
r2 = [0x20, 0x35, 0x2D, 0x16, 0x61]
r3 = [ord(i) for i in list("AFBo}")]
flag = ""
for i in range(5):
if(i < 4):
r3[i] ^= r2[i]
r2[i] ^= r1[i]
r1[i] = (r1[i] ^ 0x80)//2
flag += chr(r1[i])
flag += chr(r2[i])
flag += chr(r3[i])
print(flag)
得到flag为flag{sosorryla}
以上是关于re学习笔记(91)攻防世界 - mobile进阶区 - Android2.0的主要内容,如果未能解决你的问题,请参考以下文章