BABYRE
- 丢进IDA,进入main函数
很明显judge函数是关键,但显然judge函数被加密了
而加密关键在main函数中有所体现
很明显这是在调用judge函数之前改变了他的字节码,因此出现调用失败的情况,此时我们只需要用IDA Python进行解密即可
代码如下:
之后先undefine(快捷键U)一下,再重新创建函数(快捷键P),就可以F5了
(此处代码可能与网上其他wp中代码不同,可能是IDA7.5的原因,但经过分析其实是一样的)
分析过后发现就是简单的异或,写脚本得到flag即可
#include<bits/stdc++.h>
using namespace std;
string v2;
int main()
{
v2="fmcd";
v2+=char(127);
v2+="k7d;V`;np";
for(int i=0;i<=13;i++)
v2[i]^=i;
cout<<v2;
return 0;
}
flag{n1c3_j0b}