题目信息:解题思路:
自从报名了CTF竞赛后,小明就辗转于各大论坛,但是对于逆向题目仍是一知半解。有一天,一个论坛老鸟给小明发了一个神秘的盒子,里面有开启逆向思维的秘密。小明如获至宝,三天三夜,终于解答出来了,聪明的你能搞定这个神秘盒子么?(答案为flag{}形式,提交{}内内容即可)
这道题目通过字符串可以确定关键代码
稍做分析可以确定主要是利用了atoi()函数的特性
int atoi(const char *nptr) 函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0。特别注意,该函数要求被转换的字符串是按十进制数理解的。
那我们只需要动态调试几次就可以分析出来
![我的逆向之路|2019安恒萌新粉丝有奖答题CTF逆向题Mysterious题目Writeup](https://img.it610.com/image/info8/561fa3de11b149e88af37e7537f2f4a0.jpg)
文章图片
![我的逆向之路|2019安恒萌新粉丝有奖答题CTF逆向题Mysterious题目Writeup](https://img.it610.com/image/info8/bc2a495a0c984a74bd31c6814761f68e.jpg)
文章图片
![我的逆向之路|2019安恒萌新粉丝有奖答题CTF逆向题Mysterious题目Writeup](https://img.it610.com/image/info8/0b9549e923f04c339d2528af3c429a86.jpg)
文章图片
![我的逆向之路|2019安恒萌新粉丝有奖答题CTF逆向题Mysterious题目Writeup](https://img.it610.com/image/info8/7246bfe8a4384144bc9ddc15ae82be17.png)
文章图片
可以判断出来输入恰好六位后三位很容易确定为xyz
前三位的话是十进制的“{”也就是123记得减1也就是122
最后确定为122xyz
【我的逆向之路|2019安恒萌新粉丝有奖答题CTF逆向题Mysterious题目Writeup】
![我的逆向之路|2019安恒萌新粉丝有奖答题CTF逆向题Mysterious题目Writeup](https://img.it610.com/image/info8/efb57a6357ef4fb0849329e8c766e808.jpg)
文章图片