题目名字叫做开源,然而二者之间并没有什么关系…
一个很简答的C程序题,让你跳过所有的限制条件即可输出key(flag)。
open-source如下:
#include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { if (
argc!= 4) { printf("what?\n"); exit(1); } unsigned int first = atoi(argv[1]); if
(first != 0xcafe) { printf("you are wrong, sorry.\n"); exit(2); } unsigned int
second= atoi(argv[2]); if (second % 5 == 3 || second % 17 != 8) { printf("ha,
you won't get it!\n"); exit(3);//25 } if (strcmp("h4cky0u", argv[3])) { printf(
"so close, dude!\n"); exit(4); } printf("Brr wrrr grr\n"); unsigned int hash =
first* 31337 + (second % 17) * 11 + strlen(argv[3]) - 1615810207;
//first=0xcafe,(second%17)=8,argv[3]="h4cky0u" printf("Get your key: "); printf(
"%x\n", hash); return 0; }
在原程序上进行一定的修改,得到:
int main() { unsigned int hash = 0xcafe * 31337 + 8 * 11 + 7 - 1615810207;
printf("Get your key: "); printf("%x\n", hash); return 0; }

flag:c0ffee

技术
©2019-2020 Toolsou All rights reserved,
一个名叫“讨火车”的小村子 终于把火车讨来了运营商 网站访客手机号码抓取hive压缩&&hdfs合并小文件精准手机号抓取,运营商大数据函数基本定义和使用‘未完待续Spring Boot教程十六:SpringBoot注入类实现多线程基于神经网络的车辆牌照字符识别技术MyBatis 新增数据 成功 返回 自增主键ID值json反斜杠问题接错水管喝了三年软水?软水和软水机究竟有何用