[跟丢了怎么办, 下标越界怎么办] 第二期 07 飘零 2.8

直接搜索 FF 55 FC 5F 5E 下按钮事件断点, 让程序断在我们点 登录 那里, 我们一直按 F9, 发现程序一直断下来, 这说明程序有一个时钟检测.

我们用 XueTr 干掉时钟后, 用 OD 把进程附加上去, 来到 00401000, 再搜索按钮事件.

我们可以先搜索字符串, 让汇编代码后面有注释.

然后我们 F9 运行, 这时候程序没有断下来, 因为时钟被干掉了. 我们点 登录, 程序断下来, 然后 F7 进 call

如果你 F8 的时候发现程序运行了, 并且单步跟踪的光标也丢失了, 这时候你就在它的下一行下断, 从哪里丢失就在它的下一行下断, 然后点 OD 上面的 T, 进去之后右键激活全部线程

下面来到一堆 calljmp, 我们可以对照一下源码来看它们都是什么功能, 再决定是否 nop 爆破

弹出这个错误提示框, 这个只有易语言才会有.

我们要去它的源头来解决它

我们把这个提示框关掉, 这时候程序在运行. 我们来到 00401000, 搜索 FF 25 来到易语言体.

我们从下面的 jmp 开始一个个地找, 回车进去然后小键盘减号回来

这一段代码就是下标越界, 我们需要把它背下来.

我们在段首 retn 即可

退出暗桩代码, 解决办法也是在段首 retn, 退出暗桩也可以通过易语言体来找到

退出暗桩, 右边有标志性的 ExitCode

也许我们已经在这里把调用退出的函数 retn 掉了, 但是它还是有可能在其它地方调用退出, 这种 call 我们见到就 nop

记得多保存, 如果你保存文件把源文件覆盖了, OD 也会记录原来你下过的断点