【攻防世界-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

posted @ 2020-05-01 20:54  LiloBing  阅读(305)  评论(0)    收藏  举报