Flag Checker
IDA Pro 打开:
1 | void __fastcall __noreturn main(__int64 a1, char **a2, char **a3) |
程序先读取输入,进行十六次加密操作(combine、shuffle1、shuffle2)。最终将加密结果与
数组 byte_4080
进行比对。
1 | unsigned __int64 __fastcall combine(__int64 a1) |
动态调试发现shuffle1不会修改input
,我们只逆向combine和shuffle2。
盗一个国外大佬写的脚本: https://gist.github.com/00xc/4fc261156bd919c0179abf38e4eae637
1 | from z3 import * |