1625-5 王子昂 总结《2018年1月24日》 【连续第481天总结】
A. 结营赛前方高能WP
B.
前方高能
XMAN第七组WriteUp
说实话好像确实有点难,不过逻辑链条很完整,是中规中矩的逆向题。就是内容有点太多了2333有兴趣的可以再自己做做,都是我觉得挺有意思的题型
没人做到真正的部分让我们挺失落的qvq
qvqNDK的C不支持内联x86汇编,动态解密部分可是我辛辛苦苦用汇编Patch上去再不断调试了一个上午才完成的。不看我的面子也要看欣蕾姐被我们拖累到半夜四点还在上传题目的面子上啊(欣蕾姐真是对不起orz
作为出题人有点上帝视角,感觉这些东西都是轻轻松松就能被做出来的样子。比赛去结题的时候发现每一个步骤都有很多种可能,要逐个验证排除才能做出来~
第一次出题,转换视角的经验还是挺有意思的-0-
下面奉上WP
PS:正如分享时所说,模拟器中Android4.0\5.0是可以正常安装被伪加密的APK的。而高版本的安卓则不行,需要先去除伪加密。
伪加密
打开发现被加密,在模拟器中正常安装所以猜测伪加密
使用脚本清除所有”504b0102”后第8个字节的第一比特位
加密脚本如下
f = open(r"matex.apk", "rb")
res = f.read()
f.close()
flag = b"\x50\x4b\x01\x02"
for i in range(len(res)):
if(res[i]==0x50):
print(res[i:i+8])
for j in range(3):
if(res[i+j]!=flag[j]):
break
else:
if(not res[i+8]&1):
res = res[:i+8] + bytes(((res[i+8]) + 1 ,)) + res[i+9:]
f =