2025-05-22 “轩辕杯”云盾砺剑CTF挑战赛 Zero Trace队wp(writeup) “轩辕杯”云盾砺剑CTF挑战赛 Zero Trace队wp(writeup) ## reverse ### ezBase 把upx改成UPX [](Pasted_image_20250519115113.png) 即可脱下来 [](Pasted_image_20250519115200.png) 很明显的base64,结尾套了个亦或异或4 所以先亦或在base64 [](Pasted_image_20250519115254.png) base64还欢乐表 [](Pasted_image_20250512150848.png) ## sign in 查壳发现elf [](Pasted_image_20250512151232.png) 直接upx -d 拖 分析主函数没东西,猜测可能是考elf执行流 [](Pasted_image_20250512151358.png) 果然在_init_array找到一个可疑函数 [](Pasted_image_20250512151824... 2025年05月12日 249 阅读 1 评论
2025-04-23 蓝桥杯测试题 样题wp 蓝桥杯测试题 样题wp 样题果然还是只能是样题,和ciscn一样 水篇文章 ## 测试1_签到 [](Pasted_image_20250423145629.png) flag{hello_test} ## 测试2_docker [](Pasted_image_20250423145659.png) 访问没啥内容,稍微扫一下 [](Pasted_image_20250423145826.png) 稍微扫一下 [](3e5b9e76f55e45ef10f862041d31390.png) 访问rebots.txt... 2025年04月23日 219 阅读 0 评论
2025-04-22 z3求解器基本使用教程 z3求解器基本使用教程 ## 基本数据类型 在python使用Z3模块,一半使用以下几种数据类型: Int相对应int Real 有理数 Bool 布尔类型 Array 数组 BitVec('a',8)向量 其中BitVec可以制定大小的数据类型,不一定是八位,例如在C语言中的int可以用BitVec('a',32)表示 ## 基础用法 - Solver()创建一个通用求解器,以进行下一步求解 - add()添加约束条件,通常在sovler()之后,添加约束条件通常是一个逻辑等死 - check()添加所有约束条件后,来检测是否有解,有解返回set,无解返回unsat - model()存在解的时候,该函数会奖每个限制条件所对应的解集的交集,从而得出正解 - 分别对应设未知数,列方程,判断方程是否有解,解方程组 ## 简单使用 #### 案例1: 假设有方程组 30x+15y=675 12+5y=265 ```python from z3 import * s=Solver() x,y=Ints("x y") s.add(30*x+15*y==675) s.add(... 2025年04月22日 209 阅读 0 评论
2025-04-22 ida patch使用教程 ida patch使用教程 ida patch是通过改变汇编指令 来实现改变程序执行流程 例如改变函数跳转 [](Pasted_image_20250421143631.png)题目分析 这个题目有个check检查是否在debug,也就是调试 如果调试就不跳转直接结束 如果不是调试就跳转到一个函数 [](Pasted_image_20250421143823.png) 所以我们通过把jz改成jnz从而让她实现在debug就跳转 或者改成jmp让她无条件跳转 使用Assemble插件或者keypatch插件 [](Pasted_image_20250421144350.png) 把需要修改的指令放在上面按回车 [![](https://i.ib... 2025年04月22日 224 阅读 0 评论