2023 巅峰极客 gore
本帖最后由 pwndasys 于 2023-7-26 15:02 编辑查壳,发现有upx壳,手脱之后用ida打开可以找到main_main函数,其中包含了以下主要加密过程:
首先AES加密,再base64换表加密,这里v50经过偏移生成了新的秘钥v57
https://attach.52pojie.cn//forum/202307/26/145558yseennenrnrae3ra.png?l
https://attach.52pojie.cn//forum/202307/26/145600c2zj5hoh5m77zmmm.png?l
这里进行异或和字符拼接
https://attach.52pojie.cn//forum/202307/26/145603d5wpd90oxyk0wxp0.png?l
最后和开始给的数据比较
https://attach.52pojie.cn//forum/202307/26/145605ox599jwycgwz4wkg.png?l
基本的加密流程就是将输入进行aes加密,然后进行换表的base64加密,最后与0x1a进行异或跟密文进行对比
这里的keywvgitbygwbk2b46d是动态调试出来的
解密一下我们的异或
t='wvgitbygwbk2b46d'
flag=''
enc=[0xE6, 0xCE, 0x89, 0xC8, 0xCF, 0xC5, 0xF5, 0xC9,
0xD2, 0xD9, 0xC0, 0x91, 0xCE, 0x7F, 0xAC, 0xCC, 0xE9, 0xCF,
0xB7, 0xC0, 0x96, 0xD4, 0xEA, 0x92, 0xE2, 0xD7, 0xDF, 0x84,
0xCB, 0xA5, 0xAE, 0x93, 0xA6, 0xCA, 0xBE, 0x97, 0xDF, 0xCE,
0xF0, 0xC9, 0xB7, 0xE1, 0xAE, 0x6B, 0xC4, 0xB1, 0x65, 0xDB,
0xCE, 0xED, 0x92, 0x93, 0xD6, 0x8C, 0xED, 0xC3, 0xA3, 0xDA,
0x94, 0xA5, 0xAA, 0xB2, 0xB5, 0xA7]
for i in range(len(enc)):
for j in range(0,0xff):
k = j ^ 0x1a
temp = k + ord(t)
if temp == enc:
flag += chr(j)
print(flag)
再用cyberchef解一下换表的base64和aes,得到flag
https://attach.52pojie.cn//forum/202307/26/145607tuiilxx0xs0u6l27.png?l
@pwndasys图片贴错了,搞复杂了,看下这个修改下https://www.52pojie.cn/misc.php?mod=faq&action=faq&id=29&messageid=36 不错。收藏了 刚学过加密,竟然还能看出点门道。感谢提供思路。 学习了啊,大神牛啊
学习了啊,大神牛啊 收藏!学习学习! 好文章,学到了不少。 向大牛学习 向大佬学习 暂时还没用到,但先收藏了,学习中。
页:
[1]
2