bugku ctf 奇怪的密碼
阿新 • • 發佈:2019-01-10
一、題目正文:
突然天上一道雷電
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}