如何通过CTF实验吧的挑战证明自己的技术实力?

2026-04-16 21:133阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计535个文字,预计阅读时间需要3分钟。

如何通过CTF实验吧的挑战证明自己的技术实力?

题目地址:http://www.shiyanbar.com/ctf/28+%E6%B2%A1%E6%9C%89%E5%A3%B3代码内容:使用C++编写,拖进OD观察观察者,发现代码很短,先来看这两个call,怀疑它们其中有一个是正确的flag和我们输入的东西比较,强行爆破完存储器后是没错的。

题目地址:www.shiyanbar.com/ctf/28

没有壳 ,vc++ 写的

拖进OD观察观察,发现代码很短哟,先来看这俩个call 怀疑他们其中有正确的flag和我们输入的东西对比

强行爆破完寄存器里是没有正确的flag出现的,肯定是在某个函数里算出来的。

再进IDA里 main 空格,发现 关键函数就是sub_401060

双击进入查看sub_401060的伪C代码

分成三个部分:

第一,将我们输入的a1与v5的长度比较,将a1的每一项都进行异或。

第二,将v5的每一项都减去5

第三,可以当成这样看, while( *(a1 + v3) == *(_BYTE *)&V5+V3) ) 就是把我们输入的a1与v5逐个比较

ps:这里的if(strlen((const char *)v5)==0)return 1;判断v5元素为0个就返回1,没啥用。有点迷惑,不管他。

阅读全文

本文共计535个文字,预计阅读时间需要3分钟。

如何通过CTF实验吧的挑战证明自己的技术实力?

题目地址:http://www.shiyanbar.com/ctf/28+%E6%B2%A1%E6%9C%89%E5%A3%B3代码内容:使用C++编写,拖进OD观察观察者,发现代码很短,先来看这两个call,怀疑它们其中有一个是正确的flag和我们输入的东西比较,强行爆破完存储器后是没错的。

题目地址:www.shiyanbar.com/ctf/28

没有壳 ,vc++ 写的

拖进OD观察观察,发现代码很短哟,先来看这俩个call 怀疑他们其中有正确的flag和我们输入的东西对比

强行爆破完寄存器里是没有正确的flag出现的,肯定是在某个函数里算出来的。

再进IDA里 main 空格,发现 关键函数就是sub_401060

双击进入查看sub_401060的伪C代码

分成三个部分:

第一,将我们输入的a1与v5的长度比较,将a1的每一项都进行异或。

第二,将v5的每一项都减去5

第三,可以当成这样看, while( *(a1 + v3) == *(_BYTE *)&V5+V3) ) 就是把我们输入的a1与v5逐个比较

ps:这里的if(strlen((const char *)v5)==0)return 1;判断v5元素为0个就返回1,没啥用。有点迷惑,不管他。

阅读全文