【攻防世界-re-简单】logmein 我发誓这是我见过最简单的算法逆向
将程序拖入ida

先将v8赋为 :\"AL_RT^L*.?+6/46 v7 = 28537194573619560 v6 = 7
接着键盘输入字符串s,且s的长度不应该小于v8的长度,不然就会退出程序。
接着进入循环,运算即可
其中核心代码为
for(i = 0; i < strlen(v8); ++i) {
s[i] = (char)(*((BYTE*)&v7 + i % v6)^v8[i]);
} /*就是把ida里面的不等于变成等于*/
最后把s输出,即可得flag为RC3-2016-XORISGUD
浙公网安备 33010602011771号