之前文章讲过的技巧和知识,就不再详细描述了,如果有不明白的地方建议按照做题题目顺序查看。
找到关键代码页面。注意,scanf接收的是字符串,而strcmp比较的是字符串的十六进制。v13的值给了是437261636b4d654a757374466f7246756e,do函数里面是把v9的每一个字符串转成小写十六进制(asc_408044是%x)然后拼接(strcat)到申请的v10的空间里
![](https://upload-images.jianshu.io/upload_images/19589241-7746236aa223dc51.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
图1
所以我们输入的字符串经过处理是和“437261636b4d654a757374466f7246756e”做比较,那么将这个比较的十六进制转换成字符串就是我们需要输入的内容了
http://www.bejson.com/convert/ox2str/
![](https://upload-images.jianshu.io/upload_images/19589241-75dfe86ab024f0c7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
图2