尝试用代码解CTF题-找茬游戏

【CTF】CTF竞赛介绍以及刷题网址_ctf网络安全大赛官网 CTF是一种流行的信息安全竞赛形式,其英文名可直译为“夺得Flag”,也可意译为“夺旗赛”。其大致流程是,参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称之为“Flag”。PWN(溢出):PWN在黑客俚语中代表着攻破,取得权限,在CTF比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有栈溢出、堆溢出。 阅读详情

今天玩一个找茬游戏。但是我们不是用眼睛找,我们用代码找。

最近做的题基本都是用工具做题,这次来尝试一下用代码解题。

来看题目解压附件cry200.zip,得到两张图片(附件在c盘根目录下的解密200文件夹中)

我们一般就是比较两张图片的像素,用程序进行对比(这段代码在c盘根目录下的解密200文件夹中有)

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStreamReader;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

public class PicTest2 {

public static void main(String[] args) throws IOException {

int i,j;

int rgb1[] = new int[3];

int rgb2[] = new int[3];

File file1 = new File("C:\1.png");// 实例化file对象,并设置读取图片路径

File file2 = new File("C:\2.png");

File file3 = new File("C:\3.png");

BufferedImage bi1 = null; // 像素缓冲区开始为空

BufferedImage bi2 = null;

BufferedImage bi3 = null;

bi1 = ImageIO.read(file1);

bi2 = ImageIO.read(file2);

bi3 = ImageIO.read(file3);

int width = bi1.getWidth();

int height = bi1.getHeight();

for (i = 0; i < width; i++) {

for (j = 0; j < height; j++) {

int pixel1 = bi1.getRGB(i, j);

rgb1[0] = (pixel1 & 0xff0000) >> 16;

rgb1[1] = (pixel1 & 0xff00) >> 8;

rgb1[2] = (pixel1 & 0xff);

int pixel2 = bi2.getRGB(i, j);

rgb2[0] = (pixel2 & 0xff0000) >> 16;

rgb2[1] = (pixel2 & 0xff00) >> 8;

rgb2[2] = (pixel2 & 0xff);

bi3.setRGB(i, j, Integer.parseInt(Integer.toHexString(rgb1[0]^rgb2[0])+Integer.toHexString(rgb1[1]^rgb2[1])+Integer.toHexString(rgb1[2]^rgb2[2]),16));

}

}

ImageIO.write(bi3, "PNG", file3); //写入文件

}

}

这里运行没有成功,看一下代码里面的地址。需要把1.png和2.png放到c盘根目录下(程序中已经指定为c盘根目录)把1.png复制到c盘根目录下一份,重命名为3.png打开eclipse,新建一个工程,运行代码(自己安装eclipse,安装程序在c盘根目录下的解密200文件夹中有)

然后打开3.png,如下图

隐隐约约可以看到图中有个二维码(这是真的很隐约)

那我们再加点代码让他看得更清楚些在ImageIO.write(bi3, "PNG", file3); 上面加入下面的代码(需要添加的这段代码在c盘根目录下的解密200文件夹中有)

for (i = 0; i < width; i++) {

for (j = 0; j < height; j++) {

//System.out.println(bi3.getRGB(i, j));

if(bi3.getRGB(i, j)==-16777216) bi3.setRGB(i, j, -1);

}

}

添加了代码之后,再运行

再次打开3.png,如下图

扫码即可得到flag。

这道题是真题,当年难倒了一大片人。题目有迷惑性,要用程序对比像素。用代码解游戏题虽然是一种思路,但是速度应该会慢一些。

实验练习:《Ctf-crypto&misc真题分析-找茬游戏》。

UniTouch:多模态触觉对齐技术如何重塑零样本跨模态应用 UniTouch模型通过创新的多模态触觉对齐技术,成功将触觉数据映射到通用的视觉-语言嵌入空间,解决了触觉模态的“孤岛困境”。该技术利用对比学习和传感器特定标记,实现了高质量的零样本学习能力,使模型无需额外训练即可完成触觉分类、描述等任务,并能驱动跨模态生成,为机器人、VR和智能制造等领域提供了强大的触觉理解新范式。 阅读详情

相关推荐

别再为模糊的3D重建头疼了!手把手教你用3DSlicer处理DICOM数据,搞定医学影像三维可视化

本文详细解析了医学影像三维重建中常见的模糊问题,并手把手教你使用3DSlicer处理DICOM数据,实现精准的三维可视化。从层厚设置到数据格式转换,再到重建算法选择和渲染参数微调,提供了一套完整的优化方案,特别适合临床医生和医学影像处理人员提升工作效率。

weixin_28693447的博客 247

GDOUCTF web

【代码】GDOUCTF web。

m0_74097148的博客 3009

鸿蒙OS+UniApp文件上传实战:如何解决大文件分片上传的3大坑?

本文深入探讨鸿蒙OS与UniApp结合实现大文件分片上传的实战方案,重点解决分片策略设计、网络中断处理和进度管理三大技术难题。通过鸿蒙分布式特性与UniApp跨平台能力的结合,提供动态分片调整、断点续传和跨设备进度同步等优化方案,显著提升大文件上传成功率和用户体验。

weixin_29250403的博客 474

LitCTF 2023 web wp

LitCTF 2023 web wp 全

Jay17的博客 1641

模拟滤波器的基础知识和设计

使用Python实现多种模拟滤波器

faltas的博客 3529

十一种室内定位传感器方案汇总介绍与对比(机器人、物联网领域)

室内定位传感器方案汇总 目录 室内定位传感器方案汇总 1、定位方案概述 1.1、内定位系统有最基本的5种算法: 1.2、常用的室内定位技术主要包括以下几种: 1.3、定位理论 1.4、不同的定位方案对比 2、各种定位方案详细介绍 2.1、单线激光定位 2.2、多线激光定位: 2.3、视觉定位: 2.4、基于射频识别(RFID)技术室内定位 2.4.1、RFID标签(不涉及...

JK-Cool的博客 3万+

CTF练习-小游戏解密俄罗斯方块

进入实验环境,打开题目地址,发现是个俄罗斯方块的游戏,尝试先玩了几局,但是并没有什么用,玩游戏就能获得flag?感觉不太靠谱,看看有没有别的思路。我们先分析这个游戏服务,这是一个web的游戏,那么我们在浏览器的开发者工具中,对网络请求进行分析,发现我们对目标进行访问时,并没有实质性的后台请求:所以基本可以断定,这是一个前台页面的游戏,游戏的运行、计分都是由js脚本来支持的,所以我们找到了请求中仅有的js页面代码:这个js混淆过,所以需要先美化,也就是js代码的格式化。

顶峰 1449

Windows下PaddleOCR GPU版环境搭建全攻略(含CUDA 11.7避坑指南)

本文提供了一份详尽的Windows平台PaddleOCR GPU版环境搭建指南,重点涵盖CUDA 11.7与cuDNN的版本匹配、环境变量配置及常见避坑方法。通过使用Conda创建虚拟环境并安装匹配的PaddlePaddle-gpu版本,最终实现GPU加速的OCR推理,帮助开发者构建稳定高效的开发环境。

docker7nomad的博客 751

安卓版的c语言简单的找茬游戏程序代码

const char *hanzi[] = {“我”, “你”, “他”, “好”, “坏”, “中”, “上”, “下”, “左”, “右”};if (rand() % 10 < 3) { // 30%的概率不同。// 检查指定位置是否不同。// 定义矩阵的大小。

qq_32257509的博客 294

22h2版本的win10安装Docker Desktop时页面空白

摘要:Windows10 22H2系统重装Docker时出现安装界面卡死问题,通过管理员CMD执行静默安装命令解决。命令指定了WSL-2后端及多个自定义数据存储路径(安装目录、Hyper-V数据、Windows容器数据、WSL数据),安装需等待几分钟。最终验证安装成功。

猿小白的博客 655

车载以太网网络测试-27【SOME/IP-SD简述】

SOME/IP-SD协议是基于IP的可扩展面向服务中间件中的服务发现协议,是汽车电子和嵌入式系统中实现动态服务发现与通信的核心组件。该协议规范详细说明了协议SOME/IP服务发现(SOME/IP-SD)的格式、消息序列和语义。本文将对SOME/IP-SD协议进行详细介绍。

车载网络测试工程师的博客 1956

分享一篇CTF简介

CTF(Capture The Flag,夺旗赛)CTF 的前身是传统黑客之间的网络技术比拼游戏,起源于 1996 年第四届 DEFCON,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。CTF是一种流行的信息安全竞赛形式,其英文名可直译为“夺得Flag”,也可意译为“夺旗赛”。其大致流程是,参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称之为“Flag”。

yy1715713348的博客 2593

[QMT量化交易小白入门]-八十九、深度学习训练多维特征进行金融价格行情预测

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 218

2024最全CTF入门指南、CTF夺旗赛及刷题网站(建议收藏!)

CTF(Capture The Flag),中文称为夺旗赛,是网络安全领域中一种备受关注和欢迎的竞赛形式。1. 密码学(Crypto)涉及各种加密算法的分析和破解,包括对称加密(如 AES)、非对称加密(如 RSA)、哈希函数(如 MD5、SHA-256)等。可能需要从密文或加密过程中推导出明文、找出密钥,或者验证数字签名的正确性。2. Web 安全(Web)主要针对网站和 Web 应用程序的安全漏洞进行挖掘和利用。

Spontaneous_0的博客 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ctf-show-misc-游戏题

本次出了一个专题,就是游戏专题 把所以关于游戏杂项的题单独挑出来 写一篇文章 但不得不说这里面的一些游戏都挺有意思的 文章也会持续更新 🎈诸君学习中也可以娱乐娱乐 开心开心 嘻嘻🎈 Misc22 超级玛丽 魂斗罗 游戏flag 终结篇

路baby的博客 3474

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【CTF】CTF竞赛介绍以及刷题网址_在线ctf刷题网站

CTF是一种流行的信息安全竞赛形式,其英文名可直译为“夺得Flag”,也可意译为“夺旗赛”。其大致流程是,参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称之为“Flag”。PWN(溢出):PWN在黑客俚语中代表着攻破,取得权限,在CTF比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有栈溢出、堆溢出。

韩束一叶子 1078

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【CTF】CTF竞赛介绍以及刷题网址

CTF是一种流行的信息安全竞赛形式,其英文名可直译为“夺得Flag”,也可意译为“夺旗赛”。其大致流程是,参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称之为“Flag”。PWN(溢出):PWN在黑客俚语中代表着攻破,取得权限,在CTF比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有栈溢出、堆溢出。

A1_3_9_7的博客 1223
上一篇: 差分隐私技术在火山引擎的应用实践
下一篇: 网络安全工程师必用的6个渗透工具,专业工具渗透工作更好做
gool奇米
博客等级 码龄4年 16粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值