蕾蕾姐终于接触到了另一个软件:那个女人!经过简单的分析之后,蕾蕾姐得出了答案,这件事情告诉我们,C语言要好好学哦。
ps:flag{}要自己加上去鸭!
下载文件RE3.rar
###这个软件很明显是 IDA
##将程序导入IDA
然后反编译为c语言代码
1 | sub_401060((const char *)&v4) |
这个函数很可疑,我们双击进入
v5这个变量的赋值十分可疑,我们查看一下
然后我们回过头来,重新分析一下代码
首先它将 key xor 0x20 然后将真码的ascii减去5 然后再进行比较
我们把程序导入od,进行动态分析,随便输入一些key
然后在 0040101F 的 Call 00401060 步入
发现输入的长度有限制,输入的长度应该是14位
我重新输入一些数值,再次调试
发现不会出现跳转,于是继续单步
这里就是对key进行 xor 0x20
我们发现可疑的字符出现,我们在数据窗口找到它
1 | 0019F754 68 57 19 48 50 6E 58 78 54 6A 19 58 5E 06 hWHPnXxTjX^ |
然后继续单步,发现字符发生变化,于是我们将变化的字符记录下来
1 | 0019F754 63 52 14 43 4B 69 53 73 4F 65 14 53 59 01 cRCKiSsOeSY |
发现这里的比较数据 恰好是我们的key xor 0x20后与可疑字符变换后相比较,根据xor的可逆性,我们用python把密文逆回去
1 | from Crypto.Util.strxor import strxor |
执行结果
答案:flag{Cr4ckIsSoE4sy!}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 咲夜南梦's 博客!
评论