实验吧(逆向):10000000

在这里插入图片描述
首先运行程序。只有“喵?”提示词。随便输入123。回车,程序退出。
在这里插入图片描述
放进查壳软件里查壳,显示无壳。
在这里插入图片描述
放进OD里,右键中文搜索引擎—智能搜索,发现在“喵?”的附近有good和wrong,双击进入相应地址。在段首下断。
在这里插入图片描述
“喵?”的上面很多数据压入栈的操作,暂时不知道什么用处。(后来才知道就是经过加密后的答案。)
在这里插入图片描述
下断后重新运行,程序暂停在段首,然后单步执行,随便输入1234,继续执行。遇到一个循环,该循环是对输入的东西进行一个运算,每个字符都对0x80进行或运算。运算后的结果为“辈炒”(迷之结果)。
在这里插入图片描述
在跳转语句上面只有一个call,所以这就是判断对比正确与否的函数。进入该函数。
在这里插入图片描述
进入函数后,在堆栈窗口,可以看到我们输入的数据(经过运算后)s1与s2进行比较,观察s2可以看出s2也是经过运算的,格式都一样。在s2处右键选择数据窗口跟随。
在这里插入图片描述
在数据窗口,s2对应的数据与一开始压入栈的数据一样,
即为:E6 EC E1 E7 BA F4 E5 F3 F4 F4 E5 F3 F4
所以要找到或运算前的原数据,我们只需将该数据或运算0x80就行了。
在这里插入图片描述
运算后得到的结果为:testtest

猜你喜欢

转载自blog.csdn.net/weixin_43916678/article/details/98592243