open-source

打开源码
image
分析可知29行在计算flag
29行代码就是利用argv[1]、argv[2]、argv[3]的数据计算

argv[1]
    unsigned int first = atoi(argv[1]);
    if (first != 0xcafe) {
    	printf("you are wrong, sorry.\n");
    	exit(2);
    }

如果不等于0xcafe就会退出,所以argv[1]=0xcafe

argv[2]
    unsigned int second = atoi(argv[2]);
    if (second % 5 == 3 || second % 17 != 8) {
    	printf("ha, you won't get it!\n");
    	exit(3);
    }

如果满足if条件就会退出,所以要找不满足的第一个数,argv[2]=25

argv[3]
    if (strcmp("h4cky0u", argv[3])) {
    	printf("so close, dude!\n");
    	exit(4);
    }

如果strcmp里面的数据相等返回0,所以argv[3]=h4cky0u

综上,写出解密代码

#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[]) {
    int first=0xcafe;
	int second=25; 
	argv[3]="h4cky0u";
	
    printf("Brr wrrr grr\n");

    unsigned int hash = first * 31337 + (second % 17) * 11 + strlen(argv[3]) - 1615810207;

    printf("Get your key: ");
    printf("%x\n", hash);
  
    return 0;
}

image

posted @ 2026-03-04 18:48  大雪深埋  阅读(19)  评论(0)    收藏  举报
// 正常配置 window.cnblogsConfig = { links: {}, }; // 友链页配置 window.cnblogsConfig.links.page = [ { title: '友情链接', // 标题 icon: 'icon-lianjie', // iconfont style: 'color: #a78bfa;', links: [ { name: '2_haowen_V', // 昵称 introduction: 'IT技术类博客', // 简介 avatar: 'https://pic.cnblogs.com/face/1334215/20180504110551.png', // 头像 url: 'https://www.hehaowen.com.cn/' // 友链地址 }, ] }, ];