题目链接: https://pan.baidu.com/s/1u8bGbKcUF6_gLaw63L3jyA?pwd=h8r5 提取码: h8r5
WriteUp
题目名称:code.c
分类:Reverse
描述:得到源码的输出结果
解题思路
首先用Vscode查看code.c文件,发现该文件对argv[]进行判断处理,其中很容易联想到这和输出结果紧密联系。
依次判断argv[1],argv[2],argv[3],发现这三个参数分别满足
argv[1] = 0xcafe,argv[2] % 5 != 3 && argv[2] % 17 = 8,argv[3] = "h4ckyOu"
的情况下才能正确输出,查看输出,发现输出结果是16进制小写的hash,而hash的运算则依赖刚刚分析的argv[]内容。
因此argv[1] = 0xcafe, argv[3] = "h4ckyOu", 不妨令argv[2] = 25;
于是hash = 0xcafe * 31337 + 8 * 11 + 7 - 1615810207;
由此便可以得出程序的输出结果为 c0ffee 。