bugku ctf 奇怪的密码

一、题目正文:

突然天上一道雷电

gndk€rlqhmtkwwp}z

二、分析题目

gndk€rlqhmtkwwp}z这个格式像不像flag{*******}?

我们比较一下"gndk"与"flag"的ASCII码

gndk的10进制的ASCII码分别是:103 110 100 107

flag的10进制的ASCII码分别是  :102 108  97  103

发现ASCII以此减少 1 2 3 4,所以以此类推

c语言解密本子:

#include<stdio.h>
#include<string.h>
int main(){
    int i;
    char a[100];
    printf("请输入被雷劈过的字符串:\n");
    scanf("%s",a);
    printf("解密得:\n");
    for(i=0;i<strlen(a);i++){
        a[i]=a[i]-(i+1);
        printf("%c",a[i]);
    }
}

flag{lei_ci_jiami}

当然python最简单,但是不知道怎么处理'€'这个字符,暂时换成别的字符,最后在换成'{'

# -*- coding:utf-8 -*-
c="gndk{rlqhmtkwwp}z"
i=0
flag=""
while i < len(c):
	num=ord(c[i])-(i+1)
	flag+=chr(num)
	i+=1

print "解密:",flag


flag{lei_ci_jiami}





猜你喜欢

转载自blog.csdn.net/pdsu161530247/article/details/78149818
今日推荐