2020 JUSTCTF F@k3 0ff1c@l REVERSE WP

本文详细解析了2020年JUSTCTF中关于REVERSE类挑战的解题过程,涉及IDA分析、字符串搜索、代码逆向、异或操作、MD5解密、迷宫问题解决以及随机数生成器的漏洞利用。通过参考他人WP和实际动手实践,成功解出题目。
摘要由CSDN通过智能技术生成

写在前面:首先感谢出题人和运维的辛苦付出,让jkd有了第一届CTF,祝比赛越办越好

       第一次写wp,同时由于自己太菜,赛中很多是参考了类似题的wp才能做出来,大部分直接手撕。为了让这篇wp显得不那么拉跨,于是参考了某究极卷王黄爷爷的脚本和出题人原汁原味的两道wp。

1.

下载附件,点开一看

丢进exeinfope,是个64位的

打开ida64,shift+f12,搜索字符串

2.

应该是非预期解(我大概也没有哪个题是预期解

做题参考博文:

https://blog.csdn.net/xiangshangbashaonian/article/details/83476084?utm_source=app

(此处感谢安卓出题人,同样也是这道题的出题人,让孩子去你的博客找base64解法,没找到,却找到了这题的解法)

以下是反编译的代码

关键代码是第23行,需要将数组md5s的四组十进制数转回十六进制,再每组进行md5解密,最后拼在一起,就是flag

然后对着博文里的抄转十六进制的代码

第三组少了一位,应该是转十六进制的时候出了问题,赛后看了黄爷爷的wp后才知道最前面少了一个0,分组去在线md5网站解密

网站:https://pmd5.com/

或者使用前面所提及的博文中的脚本进行爆破

#937b8b318c5691f3 = JUST{
#b9ed7cb8a2f0bafe = you_a
#0e29cc9171a49daf = re_ri
#a99e9ee21f22d4d7 = ght_}
#flag=JUST{you_are_right_}

3.

题目提示使用uncompyle6的库进行反编译,没管(直接去了在线反编译网站

然鹅md5那题不能这么干,使用网站反编译出来的会少代码

这里放一下安装及使用的代码

pip install uncompyle6    #安装前记得安装pip

uncompyle6 models.pyc > models.py   #将mode
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值