第一期 22 VB 的通用技巧

打开软件直接要注册, 查壳查不出来, 但是没壳, 是一个 VB 程序

运行脚本

我们用脚本的方式下一个按钮事件的断点, 右键 运行脚本 > 打开, 找到 VB 按钮事件脚本, 运行

满屏幕的断点

这么多的断点...... 我们 F9 运行程序

运行程序后它断下来了, 但是软件还没有完全打开, 因为这是一个重启验证软件, 所以我们 F8 单步跟踪看看, 确认一下它是不是在判断注册信息

跟了一步, 现在不用继续 F8, 我们往下面看就好了, 找什么 ? 先跟着看, 本节课重点来了 !

cmp ax,0xFFFF

我们要找的就是这个 cmp ax,0xFFFF, FFFF 是 85% VB 程序用于判断的数值, 直接影响下面的关键跳, 以后调试 VB 程序看到有个东西和 FFFF 比较, 就要注意了

下面是一个超远的跳转, 我们在这下断. 记得把之前的按钮事件断点删掉. 我们 F9 运行.

超远的跳转
跳转已实现

跳转已实现, 我们把它 nop 掉, 看看会发生什么.

提示已注册

F9 运行, 程序提示已经注册, 说明这是个关键跳, 我们继续往下看

点确定关掉窗口, 我们去任务栏找这个程序, 右键显示主窗口, 在 帮助 里找到 注册, 点进去, 程序又断在那里了

又断在这里

所以这里的注册也是调用我们下断跳转, F9 让它继续, 显示已注册

但是我们点开 帮助 > 关于, 看到这里还是显示未注册

这里还是未注册

接下来我们就干这个未注册, 我们把刚才的 cmp ax,0xFFFF 复制下来, 右键 查找 > 所有命令, 看一下哪里用到了这个命令

我们给全部下断, 右键 在每个命令上设置断点, 回到软件, 点击 关于, 因为点这里, 程序要去判断我们是否注册, 也就是还要用到 cmp ax,0xFFFF

断下来了
这个跳转实现了, 我们爆破掉看看

呀趴里やはり, 果然断下来了, 跳转已实现, 我们爆破掉看看

显示已注册

程序提示已注册, 我们右键保存, 打开软件, 全部搞定, 我们大功告成~