逆向攻防世界CTF系列46-key

逆向攻防世界CTF系列46-key

32位,无壳,跟踪

IDA动调,发现会一闪而过退出,OD调试

fiopen在401620中

congra在下面这里

到这其实我已经凌乱了,加上中午没休息,已经又困又累了

硬着头皮干吧

梳理下:我们已经知道这些字符串在哪输出的,最终目的是输出congrat...,中间肯定有个判断的过程,我们需要把在哪判断的地方找出来,那么之前有个wrong key,那里可能存在判断

彻底懵逼了,看大佬的wp,好像是需要创建一个flag文件的

建了一个,od测试了一下

如果没有这个文件的话,应该最后肯定会经过下面的exit

就是在那个插入口判断了,然后输出了wrongkey,我们把如何判断的逻辑搞清楚应该就可以找出flag

跟进

复杂,先放一放

还需要注意的是,之前文件写入的去哪了?

如果能跟踪到分析会更轻松

之前跟踪到是在sub_D01620(v2, v16, v17, v18);但是没发现发现在哪(据说是v2),但在sub_D020C0跟踪到了是v5(ecx)

同时也发现了个sxb结尾的eax,

那不就是比较吗?

flag提交了下是下面这个

idg_cni~bjbfi|gsxb

此外,还有直接看伪代码的方法,附上揭秘代码

python 复制代码
key1="themidathemidathemida"
key2=">----++++....<<<<."
flag2=""
flag=""
for i in range(18):
	flag2+=chr((ord(key1[i])^ord(key2[i]))+22)
for i in range(18):
	flag+=chr(ord(flag2[i])+9)
print(flag)

其实就是这里,奈何如果是我想要解出的话可能还得看后面方法里的代码,或者猜,遇到这种题目要大胆试

d(flag2i)+9)

print(flag)

复制代码
其实就是这里,奈何如果是我想要解出的话可能还得看后面方法里的代码,或者猜,遇到这种题目要大胆试

![image-20241204183346238](https://i-blog.csdnimg.cn/img_convert/7e833df538e4eaa8876cb6441d3f2513.png)
相关推荐
wuminyu1 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
ragnwang2 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
王中阳Go2 小时前
后端转 Agent 岗面试怎么答:8 个高频问题与应答口径
人工智能·后端·python·大语言模型
骑着蜗牛撵大象3272 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
weixin_307779133 小时前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
2601_963282773 小时前
寒地窄带通信工程实践:黑龙江哈尔滨对讲机选型、组网与合规运维总结
运维·服务器·网络
Sinokap3 小时前
OpenAI 披露 AI 安全实验:智能体如何突破隔离边界?
人工智能·安全
云和数据.ChenGuang3 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
是真的小外套4 小时前
网络安全实战第14期:Week2周末闯关
网络·安全·web安全
xbzb4 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron