电子爱好者no1 发表于 2018-8-21 18:25

CTF - 南邮re第10题“480小时精通C++”

新手一枚,第一次发帖,不足之处请多多指教。
题目是南邮逆向的第10题“480小时精通C++”,下载附件用IDA打开:

主函数没有输入、加密函数,把程序放到Linux系统跑一下,只打印了原始数据:


在IDA函数列表看到有StringEncryptFunction(uchar *,int)加密函数,尝试用这个函数加密。
在Linux下用gdb调试该程序,设了三个断点:

当运行到断点0x42560时候:

栈里的数据是原始数据:

依次执行命令:set $rdi = $rax(rdi是StringEncryptFunction函数的第一个参数,传递的是原始数据的地址)、set $rsi = 36(rsi是StringEncryptFunction函数的第二个参数,传递的是原始数据字符个数)、set $rip = 0x4224f6(改变程序执行流程,跳转到StringEncryptFunction函数执行),然后按‘c’继续执行,当程序停下来是观察栈,得到flag:

boy7928 发表于 2018-8-22 16:01

说实话 标题和内容看的我一脸懵逼

Genius0 发表于 2018-8-22 16:14

说实话 标题和内容也看的我一脸懵逼{:1_932:}

在学习的菜鸟 发表于 2018-8-22 16:50

说实话,我也是一脸懵逼..

sinkyoho 发表于 2018-8-22 16:57


说实话 标题和内容看的我一脸懵逼

luoxuan 发表于 2018-8-22 16:59

说实话 标题和内容看的我两脸都是懵逼的

冥界3大法王 发表于 2018-8-22 16:59

好办,举报理由就填“驴不对嘴”{:301_997:}

紫龙kkkk 发表于 2018-8-22 17:05

这个需要的技能程度高不?

CailGe 发表于 2018-8-22 17:21

虽然看不懂步骤说的是啥,但令人惊奇的是,我居然知道CTF是啥。。。

iblack 发表于 2018-8-22 17:29

说实话,我也是一脸懵逼..
页: [1] 2 3
查看完整版本: CTF - 南邮re第10题“480小时精通C++”