当前位置: 首页 > news >正文

2026MISC躲猫猫题目复盘

前言感觉这个比赛关注的人应该不多题目也比较小众。最近笔者发现笔者的博客走歪了有关网络攻防的文章比较少了全是些工具介绍。前端时间笔者简直就是脚本小子只知道工具使用事实上大家都是这个趋势尤其是AI时代的到来。但是笔者内心确实十分的惭愧没有了一种学技术的初心。最近也是沉迷游戏起来了除了必要的学习时间几乎都在打游戏该用的时间就叫人见笑了。这是在hvv时间抽空写的过段时间也会写篇hvv小经验。估计这个文章没啥人会去读因为题目大家估计都没有事实上题目就是封面直接传上来了仅用作学习交流。secret笔者后来把这题喂给GPT5.5也就跑到这里就直接躺了笔者还以为是flag格式问题。实际上是笔者不会这题罢了。图片的边框上黑白块是按固定采样点编码的 bit 序列不知道大家注意没有。从上到右到下到左排序。注意是一条完整的序列直接自己读就行了也不用啥脚本。当然AI分析或许会好一些。AI的脚本给出来了fromPILimportImage# 你只需要改这里IMAGE_PATH你的图片名字.png# 把图片放在同一个文件夹改这里# defread_border_bits(img_path):# 打开图片转成纯黑白模式黑0白1imgImage.open(img_path).convert(1)w,himg.size# ---------------------- 按题目规则读取 4 条边 ----------------------# 顶边从左到右 46 个点top[1ifimg.getpixel((x,0))255else0forxinrange(46)]# 右边从上到下 32 个点right[1ifimg.getpixel((w-1,y))255else0foryinrange(32)]# 底边从右到左 46 个点bottom[1ifimg.getpixel((x,h-1))255else0forxinrange(45,-1,-1)]# 左边从下到上 32 个点left[1ifimg.getpixel((0,y))255else0foryinrange(31,-1,-1)]# ---------------------- 题目规定的拼接公式 ----------------------streamtopright[1:]bottom[1:]left[1:]# 把 01 比特流 → 转成字符串bit_str.join(map(str,stream))resultforiinrange(0,len(bit_str),8):bytebit_str[i:i8]resultchr(int(byte,2))returnresult# 运行if__name____main__:passwordread_border_bits(IMAGE_PATH)print(✅ 边框解码结果,password)我自己都没跑要试试的可以试试。按比特编译thesecretis20250810当时以为这个是flag实际上不是。第一段flag密码是20250810用的工具https://tools.jb51.net/aideddesign/img_add_info得到第一段flagflag{cf78e26a还有一个网站https://sekao.net/pixeljihad/也可以PixelJihad实际上就是文字隐写术。有专门的GitHub仓库https://github.com/oakes/PixelJihad你要是走这个的话得到的是SJCL JSON{iv:7RVtgnQxxwFEQa26zadUOQ,v:1,iter:1000,ks:128,ts:64,mode:ccm,adata:,cipher:aes,salt:2crKWORWtmM,ct:5B6fxSZZ6/EpfIsDIyJKpujAq66r}这个字符串是用密码 AES 加密过的所以要你输入密码才能解。同样的密码再来一遍也能得到flag。第二段flag没线索了就直接 010 分析。自打用了AI好久没有这么手搓的分析了。大模型在消磨本就不高的能力啊。这里应该在IEND这里结束了但是IEND后面还有字节。异或不知道的情况下可以遍历。#!/usr/bin/env python3 文件异或暴力破解 - 增强版 在异或后的数据中扫描前 N 个字节的任意偏移匹配常见文件格式魔数 importosimportsysfrompathlibimportPath# 扫描深度前多少个字节内查找魔数SCAN_DEPTH8# 常见文件格式的魔数支持偏移0和偏移0MAGIC_SIGNATURES[# (魔数字节序列, 格式名称)(bPK\x03\x04,ZIP),(bPK\x05\x06,ZIP_CDIR),(b\x89PNG\r\n\x1a\n,PNG),(b%PDF,PDF),(bGIF87a,GIF87),(bGIF89a,GIF89),(b\xff\xd8\xff,JPEG),(bBM,BMP),(bRIFF,RIFF),(b\x7fELF,ELF),(bMZ,EXE),(b!DOCTYPE,XML),(b?xml,XML),(b{\\rtf,RTF),(bOggS,OGG),(bfLaC,FLAC),(bID3,MP3),(bftyp,MP4),]defxor_bytes(data:bytes,key:int)-bytes:单字节异或returnbytes([b^keyforbindata])deffind_magic_in_scan_range(data:bytes,magic:bytes,scan_bytes:int)-int|None: 在前 scan_bytes 字节内查找魔数 返回匹配的偏移位置未找到返回 None max_offsetmin(scan_bytes,len(data)-len(magic))foroffsetinrange(max_offset1):ifdata[offset:offsetlen(magic)]magic:returnoffsetreturnNonedefidentify_file_format_in_scan_range(data:bytes,scan_bytes:intSCAN_DEPTH)-tuple[str|None,int|None]: 在扫描范围内识别文件格式 返回: (格式名称, 魔数偏移) formagic,fmt_nameinMAGIC_SIGNATURES:offsetfind_magic_in_scan_range(data,magic,scan_bytes)ifoffsetisnotNone:returnfmt_name,offsetreturnNone,Nonedeftry_xor_and_match(input_path:Path,key:int,output_dir:Path)-tuple[bool,str|None,int|None,Path|None]: 尝试用指定密钥异或并在前 SCAN_DEPTH 字节内匹配格式 返回: (是否匹配, 格式名称, 魔数偏移, 输出文件路径) try:withopen(input_path,rb)asf:original_dataf.read()exceptExceptionase:returnFalse,None,None,Noneiflen(original_data)0:returnFalse,None,None,None# 异或xor_resultxor_bytes(original_data,key)# 在扫描范围内匹配魔数fmt,offsetidentify_file_format_in_scan_range(xor_result,SCAN_DEPTH)iffmt:# 导出整个异或后的文件不截取保留完整output_pathoutput_dir/f{input_path.stem}_xor_{key:02X}_{fmt}_offset_{offset}.binwithopen(output_path,wb)asf:f.write(xor_result)returnTrue,fmt,offset,output_pathreturnFalse,None,None,Nonedefmain():iflen(sys.argv)2:print(用法: python xor_bruteforce.py 文件路径 [起始密钥] [结束密钥])print(示例: python xor_bruteforce.py encrypted.bin)print(示例: python xor_bruteforce.py encrypted.bin 0x00 0xFF)print(f扫描深度: 前{SCAN_DEPTH}字节内任意偏移)sys.exit(1)input_filePath(sys.argv[1])ifnotinput_file.is_file():print(f错误: 文件不存在 -{input_file})sys.exit(1)# 密钥范围iflen(sys.argv)3:start_keyint(sys.argv[2],16)end_keyint(sys.argv[3],16)iflen(sys.argv)4elsestart_keyelse:start_key0end_key255ifstart_key0orend_key255orstart_keyend_key:print(错误: 密钥范围必须在 0x00 到 0xFF 之间)sys.exit(1)# 输出目录output_dirinput_file.parent/f{input_file.stem}_xor_outputoutput_dir.mkdir(exist_okTrue)print(f输入文件:{input_file})print(f文件大小:{input_file.stat().st_size}字节)print(f密钥范围: 0x{start_key:02X}- 0x{end_key:02X})print(f扫描深度: 前{SCAN_DEPTH}字节)print(f输出目录:{output_dir})print(-*60)matched_count0forkeyinrange(start_key,end_key1):matched,fmt,offset,out_pathtry_xor_and_match(input_file,key,output_dir)ifmatched:matched_count1print(f[] 密钥 0x{key:02X}→ 格式{fmt:8s}(偏移{offset}) →{out_path.name})# 额外显示前16字节用于调试withopen(input_file,rb)asf:dataf.read()xor_resultxor_bytes(data,key)print(f 前16字节:{xor_result[:16].hex().upper()})print(-*60)print(f完成! 共找到{matched_count}个匹配格式)ifmatched_count0:print(\n提示: 没有找到已知格式可能原因:)print( 1. 异或密钥不在 0x00-0xFF 范围内)print( 2. 文件被多层加密需要先解密其他层)print( 3. 魔数在更后面的位置可以修改 SCAN_DEPTH 变量)print( 4. 文件格式不在支持列表中可手动添加魔数)if__name____main__:main()理论上只要导出最后223字节我导出来227字节也是可以识别的。解压下来得到第二段flag-f5ba-4d78-aa2d第三段flag碟中谍在这个zip文件结束后依然有一段文字多出。这里参考网上的WP了卡在这里了WP是这么说的对这部分继续按同样方式处理可得到一段 Base64 文本再进行后续解码 通过先做 base64 解码得到一串文本再把文本反转。反转后的内容还要再做一次 base64.urlsafe_b64decode()最后按 utf-16be 解码。最终得到-901338eaa22e得到flag{cf78e26a-f5ba-4d78-aa2d-901338eaa22e}
http://www.zskr.cn/news/1339200.html

相关文章:

  • 系统内存报告
  • 拒绝中间商赚差价!找接触角测量仪源头厂家,直奔广东北斗精密仪器有限公司 - 品牌推荐大师
  • 金融求职面试复盘资源哪家好:专业复盘实用指南分享 - 技研备忘录
  • 力扣——146.LRU缓存详解
  • OpenStack系列第二期:认证与镜像管理
  • 【战术鸡蛋控制】鸡蛋制导控制的基本知识 — 快速精讲
  • 【协作算法】6 群体智能优化方法:从粒子协同到遗传演化的计算范式
  • 如何将企业微信 RPA 抽象为高可用的外部群自动化 API?
  • 在线课程|基于springboot+vue的在线课程管理系统(源码+数据库+文档)
  • 老合兴洋服:贵阳西服定制的匠心之选,穿出绅士的体面与尊严 - 贵州服装测评君
  • 2026年十大品牌消泡剂厂家推荐指南:懂工艺、重安全的厂家 - 奔跑123
  • TurboVNC高性能远程桌面解决方案:从入门到精通
  • 解决Claude Code频繁封号与Token不足的痛点转向Taotoken
  • 下面是一篇偏技术博客风格、但尽量通俗、好懂的逻辑回归讲解文章,你可以直接当作学习笔记或发布用草稿 ✅一文搞懂逻辑回归(Logistic Regression)
  • 联想笔记本BIOS解锁终极指南:深度解析CFG Lock关闭与DVMT显存调整
  • 智界V9,50万的豪华MPV来了
  • 5分钟激活Adobe全家桶:Adobe-GenP通用补丁终极使用指南
  • 智能体状态指示:何时思考、何时调用工具、何时出错
  • Windows和Office激活终极指南:KMS_VL_ALL_AIO一键解决方案
  • 超声波分散仪十大厂家与推荐供应商:国内优质制造企业全景展示 - 品牌推荐大师1
  • 2026年酒店装配式卫生间生产厂家行业发展与技术创新 - 品牌排行榜
  • 土方车远程监控智慧运维系统方案
  • 2026医考机构通过率对比:谁更值得选? - 医考机构品牌测评专家
  • 移动端开发(iOS/Android)简历:上架项目 + 性能优化亮点
  • 腾讯操作系统层级AI助手Marvis上线,支持三端同步且免费,还分双模式!
  • 百度文库核心功能全解析(教育博主实操版)
  • 【2024方言AI语音权威报告】:基于1762条真实东北语料实测,ElevenLabs东北话MOS得分仅3.8?这4项定制化微调让评分跃升至4.6+
  • 奖励分数越高,模型越烂?斯坦福这篇论文找到了破解之法
  • 【ElevenLabs蒙古文语音实战指南】:2024年唯一支持实时蒙古语TTS的AI语音方案深度评测
  • 2026 年广东省内医科大学院校哪所比较好?有什么报考推荐 - 品牌2025