2022年4月网刃杯RE部分

99 篇文章 34 订阅
本文介绍了进行逆向工程分析的过程,包括对64位ELF和32位EXE文件的处理。通过使用exeinfope、虚拟机、IDA64和IDA32等工具,提取并解密了文件中的关键信息,最终得到MD5值和解密代码。同时,讨论了在解决此类问题时可能出现的思维误区和技术盲点,提醒读者注意文件的差异性和动态行为。
摘要由CSDN通过智能技术生成

2022年4月网刃杯

freestyle:

照例扔入 exeinfope 中查看信息:
在这里插入图片描述
.
.
64 位 ELF 文件,照例扔入虚拟机中运行一下,查看主要回显信息:
在这里插入图片描述
.
.
照例扔入 IDA64 中查看伪代码,有 main 函数看 main 函数:
在这里插入图片描述
在这里插入图片描述
.
.
最终 flag 就是 3327105 的 md5 值:
比较有意思的是一开始我这样提交时并不对,搞到我以为是其它数,乱想了很久,但是后来又对了,浪费了太多时间,得吐槽一下。

flag{31a364d51abd0c8304106c16779d83b1}

.
.

Re_function:

做这道题时我有很大的思想上的问题,比如两个文件,一个 EXE 一个 ELF 文件,按照以前的做题习惯我竟然以为是同一个文件的两个不同版本,是为了照顾那些只有 LINUX 系统的同学的,所以最后只解出了 fun1 后就提交了,提交错误还找不到原因。当然这其中也缺少对第一层密文是 base64 变表的怀疑。

第二个就是自己学 PE 文件结构学啥了,看到 fun1 的 .text 段代码 F5 反汇编不出来还以为是使用了什么高深的段属性动态修改技巧,傻B地以为 .code 段才是代码段,然后一直分析汇编代码,真的是越来越糊涂了啊!!!一直没看到那个 +1 的反静态编译。

犯的错误说完了,进入正题了~
.
.
首先解压缩包:
在这里插入图片描述
.
照例扔入 exeinfope 中查看信息:
在这里插入图片描述
.
.
32 位 EXE 文件,无壳,照例运行一下,查看主要回显信息:
在这里插入图片描述
.
.
照例扔入 IDA32 中查看伪代码,有 main 函数看 main 函数:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
.
.
直接搬出解密代码:

secret=[  0x64, 0x71, 0x54, 0x54, 0x64, 0x78, 0x74, 0x78, 0x64, 0x41, 
  0x40, 0x48, 0x70, 0x6D, 0x18, 0x4A, 0x41, 0x78, 0x66, 0x72, 
  0x41, 0x78, 0x5E, 0x4E, 0x5D, 0x52, 0x0E, 0x3D]
flag=''
for i in range(0,len(secret),2):
    flag+=chr(secret[i]^0x37)
    flag+=chr(secret[i+1])
print(flag)

在这里插入图片描述
.
.
同理第二个文件分析:
在这里插入图片描述
.
.
提取出变表后扔入加密解密小工具中解密即可:
在这里插入图片描述
.
.

定时启动:

这种题目设置对应时间运行即可,不过这题中一次不成功则要删除在当前目录生成的 Readme.txt

(因为测试出程序是通过判断当前目录下有无 Readme.txt 来判断程序是不是第二次运行,所以以后遇到时间类多出文件的就要保持警惕了,最好一直用原始文件来试)
在这里插入图片描述
.
.
第 4 题暂未复现~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沐一 · 林

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值