type
status
date
slug
summary
tags
category
icon
password

Bytebuffer

一开始被描述里的flatbuffer框进去了,甚至开始思考构造bfs。。。
实际上个人感觉这个题更像一个misc

一、分析

本题给的是通过flatbuffer序列化后的bin文件
直接丢进010editor
里面给了两种数据
notion image
notion image
edge(边)和dot(点),像是在暗示构建
是这样构析的:
notion image
  • 上面对应的的8bytes,每四位一组,前一组构成x,后一组构成y,对应一个点(dot)
notion image
  • 上面对应的8bytes,同理构建成一个边界点(edge)
需要注意的是FlatBuffers 对序列化基本使⽤原则:
  • ⼩端模式。FlatBuffers 对各种基本数据的存储都是按照⼩端模式来进⾏的,因为这种模式⽬前和⼤
部分处理器的存储模式是⼀致的,可以加快数据读写的数据。
  • 写⼊数据⽅向和读取数据⽅向不同

二、解题

notion image
edge和dot都已这样的结构来分割
以图中为例子,从0x3AC开始,前8位是无效数据;0x3B4 - 0x3BC是坐标数据;再后8位是无效数据;最后八位是标志。其它点同样处理
其实就是把edge和dot的坐标提取出来,搜索可以知道一个绘图的库matplotlib,让ai搓个脚本再修改修改即可

三、EXP

notion image
 

babyapk

一、探索

notion image
jadx打开,发现是flutter逆向
网上搜索可以找到:
下载好对应工具
  • 使用环境:kali(WSL)
使用blutter.py,解包出如下五个文件
notion image
  • asm⽂件夹⾥⾯存放dart⽂件的反编译结果
  • ida_script文件夹⾥⾯存放着可以在ida使⽤的脚本,⽤来恢复so⽂件的符号表
  • objs.txt和pp.txt有对象池的⼀些东⻄,逆向的时候作⽤不⼤
  • frida脚本是⼯具⾃动编写的,可以⽤来hook .so层的⼀些函数(需要⾃⼰替换偏移)

二、分析

notion image
asm\babyapk\main.dart
能分析找到flag的格式,以及下面的cmp指令很像是验证flag长度为45
notion image
接着能找到关键输出的地方,这个方法在[package:babyapk/src/rust/api/simple.dart]
notion image
跟踪过去
notion image
类似操作,可知这里内容基本上都是和rust交互
加密在flutter与rust交互的so⾥⾯,即librust_lib_babyapk.so
notion image
找到关键函数

三、解题

notion image
z3解出来:
拼起来就是32e750c8fb214562af22973fb5176b9c
函数上面的内容就是在其中插入4个-
可以写脚本复制逻辑过来爆破
 

bytekit

一、探索

题干翻译过来就是:
我们的一台物理服务器被黑了,我们重装了操作系统,但还是有些东西残留在上面。你能找到它吗?
  1. 执行 ./run_qemu.sh 并使用用户名 root 和空密码登录。
  1. 登录后,执行 ./getflag.sh <你的输入>
  1. 之后它会重启。
  1. 重启后,重新用 root 和空密码登录,再次执行 ./getflag.sh <你的输入>,你就会得到你的 flag。
查看getflag.sh的内容
大概就是输入一串字符串,返回flag
重点关注bios.bin文件
binwalk对他进行查看
notion image
发现了uefi固件分析

二、分析

搜索uefi相关内容,找到
配置好后
notion image
成功
"D:\CTF\bytectf2024\bytekit\ByteKit\ByteKit\modules\ByteKitLoaderDxe"这里,可以看到Bytekit开头的文件,丢进IDA
一眼ollvm,d810启动!!!
得到加密逻辑
理一下逻辑
notion image
这样比较明显,就是address1中取0x6C4的数据,与address2的地址 + 12后的11个数据进行异或

三、解题

各取11个数据进行测试,按结果来看明显是个PE文件
打个idapython
成功搞出PE文件test,继续丢进IDA
notion image
关键部分在这里,key_data内,每三个一组,分别对应xorkeyindexxorlen
回去验证
notion image
 
天堂之门学习及CTF运用2024长城杯初赛RE(部分题目)
Loading...
Sh4d0w
Sh4d0w
漫长学习路ing
最新发布
360加固复现学习
2025-6-15
java反射机制
2025-6-14
classLoader机制
2025-6-14
dex文件结构
2025-6-14
APP启动流程
2025-6-14
JNI学习
2025-6-14
公告
Welcome to Sh4dw’s blog!
敬请指导,Q 467194403