2017-6-4 CTF解题报告

时间:2025-03-06 11:36:33

1.签到题

附件

扫描二维码得到

ZCTF{WELCOME_TO_20-209}

2.阿斯克的秘密

从前有个叫做阿斯克的人,他写了一句话,聪明的你能明白他写的是什么吗?

附件

int a;
while(scanf("%d",&a)!=EOF)
printf("%c",(char)a);

将里面的数字输入到程序中即可;

3.送小可爱啦!!!

做出这一题的送小可爱一只

附件

用UE打开——搜索“flag”

2017-6-4  CTF解题报告

得到flag  {wo_shi_xiao_ke_ai}

4。困在栅栏里的人是谁

附件

下载图片后改扩展名为rar

打开压缩包发现有一个文件

2017-6-4  CTF解题报告

文件里是   4c665f78647770685f21

这是16进制的。我猜答案肯定是字符串的所以转字符串;

根据题目和图片得到线索:栅栏(密码) &   凯撒(密码)

所以把16进制分栏,发现分栏后转不成字符串

那么先转字符串再分栏

2017-6-4  CTF解题报告

分栏后把得到的字符串进行凯撒解密

代码如下:

#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
char c[]={"l_dp_fxwh!"} ;
  int l=strlen(c);
for (int i = ; i < ; i++)
{
for (int j = ; j < l; j++)
{
if (c[j] + i > 'z'&&c[j] >= 'a'&&c[j] <= 'z')
{
printf("%c", c[j] + i - );
}
else if (c[j] >= 'a'&&c[j] <= 'z')
printf("%c", c[j] + i);
else
printf("%c", c[j]);
}
printf("\n\n");
}
}

一个一个试,把得到的字符串放程序里跑一遍;

(这个程序只能转小写的,所以里面有个大写字母要改成小写的,最后再改成大写)

发现在5的时候

2017-6-4  CTF解题报告

有个I_am_cute!

别的都不是正常英文;

那就是这个了~

具体操作:

转字符串;

分栏1,2,3....  <-----

程序里跑一遍       |

发现不行,分栏++--------

发现可以,get答案

5.土豪聪

hc有很多txt,每个txt里面都有一笔十分宝贵的财富(也就是一个三位数而已),它们的财富值计算公式如下 value=filename^content 其中^表示乘方,比如5^4=5*5*5*5=625,可是钱多也很苦恼,hc连自己有多少财富值都不知道了, 聪明的你能帮hc算算他有多少财富值吗? 由于数据比较大,请将结果对9973求余

附件

解压后发现有100个txt,每个txt里有一个三位数字;

把这些txt合并到一个里,(百度方法)用cmd命令;

2017-6-4  CTF解题报告

把所有txt输入到111.txt(因为111.txt也在这个范围里,所以合并完这个111.txt也把自己复制了一次)

得到的是没换行的!没关系~

2017-6-4  CTF解题报告

写个程序辣~

#include<iostream>
#include<stdio.h>
#include<fstream>
#include<string>
#define mod 9973
using namespace std;
int pow4(int a, int b) //快速幂,百度有模板
{
int r = , base = a;
while (b) {
if (b & )
{
r *= base; r = r%mod;
}
base *= base;
base %= mod;
b >>= ;
}
return r;
}
int main()
{
ifstream cin("111.txt"); //c++输入流重定向,从文件111.txt输入
string s;
cin >> s; //输入字符串;
int t, sum;
sum = ;
int num = ;
for (int i = ; i < s.size(); )
{
int a = ;
for (t = ; t < ; t++) //每三个是一个数
{
a = a * + s[i] - '';
i++;
}
num++;
sum += pow4(num, a);//快速幂
sum %= mod;
}
cout << sum << endl;
}

然后结果

2017-6-4  CTF解题报告

6。移位密码

明文是小写的

附件

把大括号里的东西换成小写,写个程序辣~

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<fstream>
using namespace std;
int main()
{
char c[] = { "qduqiogkuijyed" };
int l = strlen(c);
for (int i = ; i < ; i++)
{
for (int j = ; j <l; j++)
{
if (c[j] + i > 'z')
{
printf("%c", c[j] + i - );
}
else
printf("%c", c[j]+i);
}
printf("\n\n");
}
}

2017-6-4  CTF解题报告

结果里有一个“aneasyquestion”

这就答案!

7.py交易

附件

用py2.7运行一下发现是个死循环

在线反编译py

2017-6-4  CTF解题报告

把除了循环的代码复制到py控制台里运行

得到

2017-6-4  CTF解题报告

答案就是  pyisinteresting

8.简单逆向

附件

用OD打开

自动步入,就看到了;

也可以直接搜索参考字符串“flag”

2017-6-4  CTF解题报告

9.心急吃不了热豆腐

附件

F12 直接找js文件;

发现里面有一个控制时间的变量,有个输出被注释掉了,把注释去掉,时间改小,再开html如图

2017-6-4  CTF解题报告

2017-6-4  CTF解题报告

10.不存在的

附件

UE打开搜flag,嘻嘻。

安装apk??不存在的