逆向攻防世界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(flag2[i])+9)

print(flag)

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

![image-20241204183346238](https://i-blog.csdnimg.cn/img_convert/7e833df538e4eaa8876cb6441d3f2513.png)
相关推荐
方安乐1 小时前
python之向量、向量和、向量点积
开发语言·python·numpy
三品吉他手会点灯2 小时前
C语言学习笔记 - 20.C编程预备计算机专业知识 - 变量为什么必须的初始化【重点】
c语言·笔记·学习
网安情报局2 小时前
除了 CDN,DDoS 攻击还有哪些更有效的防护方式?
网络
zh1570232 小时前
JavaScript中WorkerThreads解决服务端计算瓶颈
jvm·数据库·python
Promise微笑3 小时前
2026年国产替代油介损测试仪:油介损全场景解决方案与技术演进
大数据·网络·人工智能
蜡台3 小时前
Python包管理工具pip完全指南-----2
linux·windows·python
Mr.朱鹏3 小时前
【Python 进阶 | 第四篇】Psycopg3 + Flask 实现 PostgreSQL CRUD 全流程:从连接池到RESTful接口
python·postgresql·flask·virtualenv·fastapi·pip·tornado
2401_871492854 小时前
Vue.js监听器watch利用回调函数处理级联下拉框数据联动
jvm·数据库·python
FreakStudio4 小时前
亲测可用!可本地部署的 MicroPython 开源仿真器
python·单片机·嵌入式·面向对象·并行计算·电子diy·电子计算机
志栋智能4 小时前
超自动化安全:构建智能安全运营的核心引擎
大数据·运维·服务器·数据库·安全·自动化·产品运营