欢迎关注 『网络攻防CTF』 系列,持续更新中
欢迎关注 『网络攻防CTF』 系列,持续更新中
题目
-
afZ_r9VYfScOeO_UL^RWUc
-
答案格式:flag{ }
思路分析
- 通常我们会尝试能否与ctf 或者flag 有关系,写出下面的ASCII码对应
- afZ_r9VYfScOeO_UL^RWUc
- flag{xxxxxxxxxxxxxxxxxxxx}(和上面的长度相同)
a:97 | f:102 | Z:106 | _:95 |
---|---|---|---|
c:99 | t:116 | f:102 | {:123 |
f:102 | l:108 | a:97 | g:103 |
- 发现和
flag
有这样的关系
a→f: 移动了5 f→l:移动了6,
Z→a: 移动了7 _→g:移动了8
- 找到了规律,依次移动位数递增。
flag{Caesar_variation}
答案
Python代码
##Python解决方案
# 输入被解密的字符串string 和 初始相差位数begin_num
def KaiSa(string, begin_num):
string_list = list(string)#把字符串转化为char数组
result = "" #存放
for char in string_list:
num = ord(char)#转化为ASCII格式
num += begin_num#增加相差位数值
begin_num += 1#相差位数值逐渐递增
char = chr(num)#转化为字符
result += char#拼接结果字符到结果中
return result
print(KaiSa("afZ_r9VYfScOeO_UL^RWUc", 5))
C语言代码
include<iostream>
include<string>
using namespace std;
int main()
{
string a="afZ_r9VYfScOeO_UL^RWUc";
string b="flag";
int n=a.size();
char c;
//int j='f'-'a';
//cout<<j<<endl;
for(int i=0;i<4;i++)
cout<<b[i]-a[i];
}
总结
大家喜欢的话,给个👍,点个关注!继续跟大家分享敲代码过程中遇到的问题!
版权声明:
发现你走远了@mzh原创作品,转载必须标注原文链接
Copyright 2022 mzh
Crated:2022-3-6
欢迎关注 『网络攻防CTF』 系列,持续更新中
欢迎关注 『网络攻防CTF』 系列,持续更新中
【网络攻防CTF】草稿(保姆级图文)
【更多内容敬请期待】