高校运维赛2024
PREFACE:高速抢了 re,但没一血,其他题小看了一下
# babyre
去壳,约束求解输入进去即可
a1 = BitVec('a1', 32) | |
solver = Solver() | |
constraint = (11 * ~(a1 ^ 0xE33B67BD) | |
+ 4 * ~(~a1 | 0xE33B67BD) | |
- (6 * (a1 & 0xE33B67BD) | |
+ 12 * ~(a1 | 0xE33B67BD)) | |
+ 3 * (a1 & 0xD2C7FC0C) | |
+ -5 * a1 | |
- 2 * ~(a1 | 0xD2C7FC0C) | |
+ ~(a1 | 0x2D3803F3) | |
+ 4 * (a1 & 0x2D3803F3) | |
- -2 * (a1 | 0x2D3803F3) == 0xCE1066DC ) | |
solver.add(constraint) | |
solver.add( a1 <= 0x10000000) | |
count = 0 | |
while solver.check() == sat: | |
model = solver.model() | |
print(count, model[a1].as_long()) | |
count += 1 | |
solver.add(a1 != model[a1]) |
# easyre
换表 base64,没了
# ZIP
输入 linux 的退格符 \x7f
绕过
# babyai
赛中看别人硬爆一上午出来,感觉得是非预期
说说当时的进度:逆向发现这里可以溢出 bss,可以把 Seed 和 Seed 生成的序列全控了
对照返回 agent 发过来的数据,但 agent 部分还是有随机量,预期解感觉应该是通过控 bss 序列提高爆破成功几率?