Level 1跳过
静态分析发现假装是Level 2的那个函数里面什么都没有。动态调试也是到那直接退出了
然后查阅wp发现是使用AddVectoredExceptionHandler注册了异常处理,然后利用int 3触发异常。如果要调试,需要修改调试器设置,让被调试程序处理异常。
暂时不需要调试,观察注册的异常处理函数,可以发现是和一段字节异或2,但是那段内存是运行时生成的,调试一下。注意这样的是字符串指针,小端的,要倒着看。
以02结尾,因为0^2=2
,代码里也是这样判断结尾的。
最后把两段和起来。不知道为什么要用下划线拼接。。。flag{r0b0RUlez!_w3lld0ne}