题目 VidarCamera
解法
这是一道安卓逆向题目,放在模拟器里打开看看
需要输入一个序列号啥的,扔jadx里吧。
通过字符串搜索定位到关键代码
这里应该就是一个变种TEA,更改了加密轮次,delta。
不过是TEA加密,写脚本不太难,自己的太丑了,贴个别人的
点击查看代码
from Crypto.Util.number import *
def decrypt(v, k):
v0 = v[0]
v1 = v[1]
delta = 0x34566543
x = delta * 33
for i in range(33):
x -= delta
x = x & 0xFFFFFFFF
v1 -= (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (x + k[(x >> 11) & 3])
v1 = v1 & 0xFFFFFFFF
v0 -= (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (x + k[x & 3]) ^ x
v0 = v0 & 0xFFFFFFFF
v[0] = v0
v[1] = v1
return v
c = [0x260202FA, 0x1B451064, 0x867B61F1, 0x228033C5, 0xF15D82DC, 0x9D8430B1, 0x19F2B1E7, 0x2BBA859C, 0x2A08291D, 0xDC707918]
key = [2233, 4455, 6677, 8899]
flag = b''
for i in range(len(c)-1):
d = decrypt(c[-2:], key)
flag = long_to_bytes(d[1])[::-1] + flag
c = c[:-2] + [d[0]]
print(flag)