pwndasys 发表于 2023-7-26 15:01

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


Hmily 发表于 2023-8-1 14:02

@pwndasys图片贴错了,搞复杂了,看下这个修改下https://www.52pojie.cn/misc.php?mod=faq&action=faq&id=29&messageid=36

caotao369 发表于 2023-7-26 19:24

不错。收藏了

GoingUp 发表于 2023-7-26 21:27

刚学过加密,竟然还能看出点门道。感谢提供思路。

amd123 发表于 2023-7-26 21:37

学习了啊,大神牛啊

ATM111 发表于 2023-7-26 22:03


学习了啊,大神牛啊

bingpulsar 发表于 2023-7-26 23:49

收藏!学习学习!

rotga 发表于 2023-7-27 00:12

好文章,学到了不少。

xu688 发表于 2023-7-27 08:21

向大牛学习

hdydy 发表于 2023-7-27 08:50

向大佬学习

mollykd 发表于 2023-7-27 08:54

暂时还没用到,但先收藏了,学习中。
页: [1] 2
查看完整版本: 2023 巅峰极客 gore