第一次做逆向

题目来源:ctf.show

1、下载附件,发现一个exe和一个txt文件

看看病毒加没加壳,发现没加那就直接放IDA

放到IDA找到main主函数,按F5反编译工具就把他还原成类似C语言的代码

然后我们看逻辑,将flag.txt文件的内容进行加密处理,并将结果写入enflag.txt文件,所以上面那两个文件enflag是被加密过的

继续看这段代码,输入的是Str,输入Str这个值要干什么不知道,进去看看

发现这是从sub_401A70里面返回,然后进去看看具体做了什么

看不懂就扔豆包里看看代码具体实现什么功能:

  • 输入处理

    • 接收用户输入的字符串 Str(例如密码或 flag)。
    • 获取 Str 的长度,用于后续循环处理。
  • 加密转换

    • 异或操作 :对输入字符串 Str 的每个字符与固定值 0x1F(十进制 31)进行异或运算。
    • 累加修改 :将异或结果累加到另一个字符串 Str1 的对应位置上(Str1[i] += Str[i] ^ 0x1F)。
  • 结果验证

    • 将处理后的 Str1 与预设的目标字符串 "DH~mqqvqxB^||zll@Jq~jkwpmvez{" 进行比较。
    • 若匹配成功,输出正确信息(如 Correct!);否则输出错误信息(Error!)。

所以黄色的那段字符串就是密钥,我们写个脚本给他解回去

出来这么一段字符串,然后我们得返回去看他之后有干了什么

其实看到这就能猜出来是个加密操作了,str是密钥,v13是一开始写入flag.txt里的内容,v12是将v13加密之后写入enflag.txt的内容,v15和v14都没有用,我们继续点进去看

发现返回sub_4014E0这个函数,对应着刚才的值a1,a4,a5

看黄色那段,用到的函数就有sub_4010EB这个函数

看这段,RC4加密,前三段强特征(可以搜一下RC4加密)

知道是RC4加密我们拿厨师解一下

拿到flag

相关推荐
问天_观心8 小时前
大模型微调学习(二)
人工智能·python·深度学习·学习·语言模型·transformer
洋洋不叫杨杨8 小时前
揭秘当下知名的SEO优化渠道,你知道几个?
大数据·python
阿童木写作8 小时前
跨境图片翻译工具推荐:批量处理视频字幕与智能抠图
python·音视频
梦想的颜色8 小时前
OCR 识别原理与 Python 识图全实战:从文字提取到图像内容理解
python·计算机视觉·ocr·图像识别·python 识图
禹凕8 小时前
Dijkstra算法详解与应用
python·算法
别走!万哥爱你9 小时前
Python 中可以用于在已排序的列表中查找特定元素的位置的是什么?
python
wxwx_bscxy32210 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
TechWayfarer11 小时前
Cloudflare 9·15新政倒计时:用IP风险画像识别AI爬虫,防止误伤Googlebot
网络·人工智能·爬虫·python·tcp/ip·网络安全
禹凕11 小时前
滑动窗口算法实战指南
python·算法
论文复现现场12 小时前
RTX 4090 24GB 能跑 Qwen3.8-27B 吗?单卡显存计算与云端部署指南
人工智能·python·云计算·llama·gpu算力