第一次发帖,请大家多多谅解
1640442779(1).png
我们拖入OD CTRL F 搜索PUSH 10001 然后CTRL+L继续搜索看看还有没有其他窗口
1640442850(1).png
我们可以看到这个窗口出现的最多 而且上面有个跳转可以跳过这个跳转 那么我们在上面的CALL
下一个断点然后重新运行一下看看
1640442901(1).png
运行起来后我们输入假码,可以看到程序在这个call断了下来,那么让我们F8单步向下走
1640442952(1).png
在那个JNZ地方不让他跳转试一下,双击这个Z让它变成1
1640443015(1).png
走下去我们就可以看到弹出来一个窗口应该就是登陆后的了
1640443071(1).png
那么我们分析一下跳转上面CALL下面的代码
0040158B FF50 24 call dword ptr ds:[eax+0x24]
0040158E |. 8945 F8 mov [local.2],eax //把eax的值赋值给[local.2]
00401591 |. 837D F8 00 cmp [local.2],0x0 //然后cmp是两数相减然后比较 然而JNZ就是结果不为0就跳转
所以我们只需要去关键CALL里面将 eax值改为0再retn出来就可以
我们开始重新运行程序 断下 然后F7进入 右键汇编 mov eax,0 滑倒最底下看看返回部分是 RETN 0X8
所以我们要保持一致 也要在mov eax,0 下面写好 retn 0x8
1640443230(1).png
改好截图如下
1640443313(1).png
然后我们右击复制到可执行文件 全部复制 然后保存修改看一下
1640442721(1).png
欧了 已经进来了 分享一下学习经验 一直在努力。
下载链接:https://pan.baidu.com/s/1pu0243Avbdq4TwFqSwyu-w
提取码:78aq