re题(35)BUUCTF-[FlareOn4]IgniteMe

BUUCTF在线评测 (buuoj.cn)

下载完是两个文件

把.exe文件查一下壳,无壳32位

用ida打开,ctrl+e定位main函数

F5反汇编,前面是提取.txt文件数据,进入if条件里的函数sub_401050()

找到主函数,逻辑是v4是函数反回的一个固定数,但是还不知道,让v4先和flag最后一位异或,然后flag倒着进行flag[i-1]=flag[i-1]^flag[i],现在找一下进行对比的字符串和v4

对比的字符串直接可以看到用shift+e提取数据

v4不能直接看,它存在栈里面,需要动态调试,我们在v4后面下个断点,进行本地调试(window系统)

随便输入字符串再回车

然后点击v4就可以看到赋给v4的值是4

写个脚本

python 复制代码
#提取的数据是一串,可以手动分开,也可以用我写的脚本
aaa="0D2649452A1778442B6C5D5E45122F172B446F6E56095F454773260A0D1317484201404D0C0269"
sss=[]
x=''
for i in range(len(aaa)):
    x+=x.join(aaa[i])
    if (i%2)==1:
        sss.append(int(x,16))
        x=''
#先把字符串倒序,比较容易写脚本,最后再给它倒回来就行
sss.reverse()
v4=4
k=len(sss)
flag=""
for i in range(len(sss)):
    flag+=chr(sss[i]^v4)
    v4=ord(flag[i])
print(flag[::-1])




#R_y0u_H0t_3n0ugH_t0_1gn1t3@flare-on.com

#自己加上flag{}

本题考查了动态调试找到函数返回的固定值,还有一个简单的异或加密

相关推荐
_院长大人_几秒前
Vue + ECharts 实现价格趋势分析图
前端·vue.js·echarts
IT_陈寒19 分钟前
Vite的alias配置把我整不会了,原来是这个坑
前端·人工智能·后端
万物得其道者成28 分钟前
Cursor 提效实战:我的前端 Prompt、审查 SKILL、MCP 接入完整方法
前端·prompt
酒鼎1 小时前
学习笔记(12-02)事件循环 - 实战案例 —⭐
前端·javascript
Bigger1 小时前
第一章:我是如何剖析 Claude Code 整体架构与启动流程的
前端·aigc·claude
竹林8181 小时前
从“连接失败”到丝滑登录:我用 ethers.js v6 搞定 MetaMask 钱包连接的全过程
前端·javascript
oi..1 小时前
《Web 安全入门|XSS 漏洞原理、CSP 策略与 HttpOnly 防护实践》
前端·网络·测试工具·安全·web安全·xss
UXbot1 小时前
2026年AI全链路产品开发工具对比:5款从创意到上线一站式平台深度解析
前端·ui·kotlin·软件构建·swift·原型模式
一拳不是超人2 小时前
前端工程师也要懂的服务器部署知识:从 Nginx 到 CI/CD
服务器·前端
AlkaidSTART2 小时前
TanStack Query 技术指南:异步状态管理核心实践
前端·react.js