【LA-CTF2025】REVERSE-刷题记录-patricks-paraflag
前言
题目来源于2025年LACTF的归档

IDA插件推荐:https://github.com/L4ys/LazyIDA
解题过程

题目其实还是比较简单的:
1 | int __fastcall main(int argc, const char **argv, const char **envp) |
结果就是程序把输入拆成两半,然后一前一后交叉重排,要求重排后的结果等于 target
等价流程是:
1 | 输入 s = [前18字符][后18字符] |
要拿到 flag,只需要把这个交织过程倒过来:
- target 的偶数位 → flag 前半
- target 的奇数位 → flag 后半
target值为

1 | target = [0x6C, 0x5F, 0x61, 0x6C, 0x63, 0x6F, 0x74, 0x73, 0x66, 0x74, 0x7B, 0x5F, 0x74, 0x69, 0x68, 0x6E, 0x65, 0x5F, 0x5F, 0x69, 0x66, 0x6E, 0x6C, 0x66, 0x61, 0x69, 0x67, 0x6E, 0x5F, 0x69, 0x67, 0x74, 0x6F, 0x79, 0x74, 0x7D, 0x00] |
1 | target = [0x6C, 0x5F, 0x61, 0x6C, 0x63, 0x6F, 0x74, 0x73, 0x66, 0x74, 0x7B, 0x5F, 0x74, 0x69, 0x68, 0x6E, 0x65, 0x5F, 0x5F, 0x69, 0x66, 0x6E, 0x6C, 0x66, 0x61, 0x69, 0x67, 0x6E, 0x5F, 0x69, 0x67, 0x74, 0x6F, 0x79, 0x74, 0x7D, 0x00] |

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 末心的小博客!






