xiawan 发表于 2015-4-1 17:17

新手教程:VB经典编程.exe追码,这是一个什么都不懂的新手,也可以找到注册码的纯...

新手教程:VB经典编程.exe追码(完全新手教程,有基础者请略过此文。)(这是一个什么都不懂的新手,也可以找到注册码的纯新手教程。)准备工具:Peid+OD过    程:1、把程序拖入PEID,提示:Borland Delphi 4.0 - 5.0,无壳。我们运行看看,到这里,基本我所需要搜集的程序信息就齐全了。2、将程序拖入OD,右键-字符串查找-ASCII Ctrl+F,输入关键字“密码错误”,我们可以看到,有很多密码错误的字符串,但是我们需要的是“阅读文书密码错误”,这里我们也可以直接搜索“阅读文书密码错误”,我这里直接搜索“密码错误”是想看看还有什么内容。3、双击“阅读文书密码错误”,我们来到了反汇编窗口。相对于Borland Delphi写的程序,我们一般知道,在关键字符串的上面,在断首push处下断。我们F2下断。F9运行。00494CD1|. 55            push ebp                  这里,push压堆处下端00494CD2|.68D5504900   push VB经典编.004950D500494CD7|. 64:FF30       push dword ptrfs:00494CDA|. 64:8920       mov dword ptrfs:,esp00494CDD|. 8D55 F8       lea edx,00494CE0|. 8B83 90030000 mov eax,dword ptr ds:00494CE6|.E8 CDACF9FF   call VB经典编.0042F9B800494CEB|. 8B45 F8       mov eax,00494CEE|. 50            push eax00494CEF|. 8D45 F4       lea eax, F9运行:我们输入密码:随便输入,然后点“确定”,这时程序断在我们刚才下断的地方:4、接下来,我们F8步过。在这个过程中,我们可以快点,毕竟是2003年时候的程序,破解难度不大,这个纯粹是初级教程。需要注意的是,我们在往下F8的过程中,要注意我们刚才关键字符串的地方上面是否有跳转。如果有跳转,我们就要在这个跳转前的call上面停下。继续刚才的F8,到了这里,我们看到,跳过了“打开密码错误”的提示。我们F8继续。在这个过程中,我们要注意信息窗口和右边寄存器,和右下面堆栈窗口是否有“可疑”字符串出现。信息窗口下面的是数据窗口,上面就是反汇编窗口了。 一直F8,我们来到这里,发现右边寄存器出现了一个字符串,发现正好是机器码 :YWS2632727938,但是我们看到,这里距离“阅读文书密码错误”的提示,不远了。我们要仔细看下。继续F8,这里,我们看到有字符串“12345wsy”,这个是不是我们要的注册码呢?我们先记下来,现在继续F8。接下来,我们在信息窗口和堆栈窗口,看到了刚才我们输入的注册码按照一般我们编写程序的思路,这个注册码肯定不是程序算出来的,肯定不会通过注册,必然会弹出错误的提示框。而这个时候,距离提示“阅读文书密码错误”也不远了,其中还有jnz和jmp这2个跳转,其中jmp的跳转,如果实现的话,是跳过了密码错误的提示。我们看:0049500B |. /75 22         jnz XVB经典编.0049502F如果这个跳转实现的话,就会跳到了下面的地址0049502F |> \6A 00         push 0x00049502D |. /EB 18         jmp XVB经典编.00495047如果这个跳转实现的话,就会跳到了下面的地址00495047 |> \8BC3          mov eax,ebx我们对比一下,发现Jnz的跳转跳过了jmp。刚才我们说了编程的思路,我们输入的注册码肯定是不对的啊,没有那么运气好被我们碰上真的注册码吧。。。所以第一个跳转jnz肯定会跳过jmp的跳转,然后继续F8下去的话,会提示密码错误。我们来看看是不是这样。果然如此。Jnz的跳转跳过了jmp。我们继续F8的话,程序就会弹出密码错误的提示了,接下来看吧。既然如此,在OD中,一般F8到了某个地址,没有得到我们想要的东西的话,我们就必须在这个地址上面的Call上想办法了。5、我们重新把程序拖入OD,继续上面步骤。当我们来到这里:00495003|. 8B55 FC       mov edx,注意看到信息窗口,又出现了奇怪的字符串“@S^]+WhH(”,这里我们就已经有了2个字符串了,刚才的是“12345wsy”6、其实我们仔细看程序界面的话,就知道“12345wsy”肯定不是注册码,为什么呢?我们可以看到注册窗口,作者的邮箱是什么呢?呵呵。继续刚才的,我们来到这里,看图:再继续F8的话,肯定和刚才一样。(其实有经验的话,我们看到右边寄存器窗口,一个是我们输入的注册码,一个“@S^]+WhH(”,我们就知道真假码在比较了。因为这个教程是完全无基础的新手教程,也就是说这是一个什么都不懂的新手,也可以找到注册码的纯新手教程。)好了,教程到此结束。

附件中,教程.docx.txt,下载之后,把“.txt”去掉。

yl笑倾城 发表于 2016-8-3 22:52

本帖最后由 yl笑倾城 于 2016-8-3 22:54 编辑

需要注意的是,我们在往下F8的过程中,要注意我们刚才关键字符串的地方上面是否有跳转。如果有跳转,我们就要在这个跳转前的call上面停下。
我们就要在这个跳转前的call上面停下,是F2之后继续单步往下吗?求指导

Hmily 发表于 2015-4-3 12:17

xiawan 发表于 2015-4-2 17:19
谢谢大版,为什么word复制过去的图片不能显示?我看到编辑框有复制word的功能啊

那个功能我也没用过,可能只支持文字,图片估计还得自己手动上传。

黑龍 发表于 2015-4-1 17:19

你真厉害,一张图都没有

礻申 发表于 2015-4-1 17:22

我是新手,但我看懂呀,哥

1163853986 发表于 2015-4-1 17:22

多谢分享楼主

xiawan 发表于 2015-4-1 17:29

黑龍 发表于 2015-4-1 17:19
你真厉害,一张图都没有

不知道怎么搞的,复制word,图片进不去。。。我重新编辑了

gm_zou 发表于 2015-4-1 17:37

不错,感谢分享

kuwo911 发表于 2015-4-1 17:49

很详细    不错    谢谢分享

65288350 发表于 2015-4-1 20:22

谢谢分享.{:1_930:}

wind007911 发表于 2015-4-1 20:31

感谢楼主分享,好东西哈

Hmily 发表于 2015-4-2 11:39

感谢分享,帖子你多了一些图片的地址我给你编辑删除了。
页: [1] 2 3
查看完整版本: 新手教程:VB经典编程.exe追码,这是一个什么都不懂的新手,也可以找到注册码的纯...