《第1期-13 解剖VB外挂》学习笔记

1、运行程序,观察它的主界面


1.png

我们点击”现在注册“,弹出来了对话框,输入假码”111111“


1-3.png

程序会提示我们“您输入的注册码不正确!”。
这时,我们就找到了关键的字符串,可以使用查找字符串的方法进行破解

2、查壳,使用的是Detect It Easy(DIE),


2.png

从DIE知道这个程序是用VB编写的。
这里使用DIE查壳,也算是新的一个知识点。
3、OD载入程序,F9运行起来
3.png

在OD的反汇编窗口中,单击右键,选择”中文搜索引擎“,再选择”智能搜索“,这是OD会列出程序中使用的所有字符串,开始寻找那个关键字符串”您输入的注册码不正确!“,很快就找到了:
3-2.png

双击这个字符串的位置,来到了使用字符串的代码:
3-3.png

4、向上寻找关键跳,


4-1.png

上面有一个jmp正好可以跳过注册码不正确这段代码,但是却没有跳转,因为在下面42E941处是另外一个跳转跳来的,把42E93F这个无条件的jmp给跳过去过去了。
那我们就得看看到底是什么跳来到了42E941,把鼠标放到42E941处,然后在下面点击右键,选择”转到je来自0042E5F6“
4-2.png

很快,我们来到了一个新的跳
4-3.png

那么它就可以认为是关键跳了。
继续向上查看,找到段首,F2下断点
4-4.png

5、OD中重新载入程序,点击注册输入假码”111111“,OD会断下来,随后边F8单步向下,边观察寄存器和堆栈窗口,过一会在寄存器窗口出现可疑字符串:
5-1.png

继续向下,在堆栈窗口也会出现同样的字符串,
5-2.png

把那个字符串复制出来,试验一下是否是真码
6、关闭OD,运行程序,复制过来疑似真码,果然可以了。说明刚才找到的就是真码。

总结一下从这集视频中学到的:

  1. 可以使用DIE来查壳
  2. 查找字符串是个非常有用的方法
  3. 这集出现的破解程序的方法是寻找出真码来

你可能感兴趣的:(《第1期-13 解剖VB外挂》学习笔记)