因为一点私人事情,废物了一把,出去玩了几天,调整了一下自己。要继续努力了,继续奋斗,坚持。
1.明天课设答辩,因为之前太废物,只搞了一天课设,课设应付的,心里还有点自责。。。。如果挂了,也是活该。
2.刷了一道题
直接上JEB,
查看show函数,
所以参数应该是1.
然后使用Android原生 对密码进行加密。
IDA查看原生代码。
Init函数将v2分解,分别给了v3,v4,v5,然后对这三个参数进行验证,都正确则返回1.
查看First函数,
注意,这里只对前四位进行了变换,写第一个脚本:
s1 = ''
t1 = 'LN^d'
for i in t1:
s1 += chr((ord(i) ^ 0x80) // 2)
s1 += 'l'
print(s1)
然后对v4的前4位进行了变换,此时v3已经经过了变换,即v3=‘LN^dl’,第二个脚本:
s2 = ''
t2 = [0x20, 0x35, 0x2d, 0x16]
for i in range(len(t2)):
s2 += chr(ord(t1[i]) ^ t2[i])
s2 += chr(0x61)
print(s2)
v5的思路也是一样,第三个脚本:
s3 = ''
t3 = 'AFBo'
for i in range(len(t3)):
s3 += chr(t2[i] ^ ord(t3[i]))
s3 += '}'
print(s3)
然后将分析了Init函数,
就是将参数的值取余3,每一位分别赋给一个变量,脚本合体:
flag = ''
for i in range(5):
flag += s1[i] + s2[i] + s3[i]
print(flag)
我要继续努力,不能因为一点挫折就一蹶不振,加油!加油!加油!