序列号
当前位置:首页 > 其他范文 > 序列号 > 列表页

vb6序列号

小草范文网  发布于:2017-05-11  分类: 序列号 手机版

篇一:VB程序的克星SmartCheck及重启验证型破解实例

VB程序的克星SmartCheck及重启验证型破解实例

文章录入:7747.Net 责任编辑:7747.Net 更新时间:2010-10-21 9:51:02 644

文/

图 落叶树

想必大家都知道,VB属于解释执行型的语言,它生成的程序是一边翻译一边执行的。以前老的版本由于语言解释器的存在,我们平时习惯使用的OllyDbg等调试工具在跟踪VB程序的时候经常不停地跳来跳去,让你晕头转向,这是因为我们跟进了解释器的地盘,里面的东西是相当难搞明白的。不过现在的VB6程序已经不再是单纯的解释执行,大部分的内容取而代之变成了编译后的代码。虽然如此,还是不能像VC、Delphi程序反编译后的那么直观:压入一堆你看不明白的参数,call一些不知道什么意思的过程,动辄错误、中止。用OD来跟还是不够方便啊!怎么办呢,对于Native Code程序(P-code是封装代码或者说中间件伪代码,相对的Native Code就是原始的未使用P-code的代码,本文不涉及P-code),我们可以使用SmartCheck来轻易对付它。

这次我们破解的对象是一个网站信息收集工具,用PEiD查看得到的内容是:Microsoft Visual Basic 5.0 / 6.0,这说明软件用VB5以上版本编写,未加壳!呵呵,省去脱壳的麻烦了。下面我们进入实战部分。 工具配置

在开始分析前我们需要先把SmartCheck(下文简称SC)配置好,这个步骤很重要,否则有些关键事件可能会没保留下来。运行SC,载入要破解的软件,然后点快捷按钮栏的“程序->设置”,接下来按照图1和图2所示设置即可,其余的可以使用默认配置。 【字体:小 大】

javascript:dcs.images.doResizes(this,0,null); border=0>

图1

javascript:dcs.images.doResizes(this,0,null); border=0>

图2

初步分析

设置完后按F5运行软件,首先显示的是一个输入注册码的窗口,这里我们就随便输入“1212121212”吧,点“注册”后程序一声不吭就退出了,看来还是一个重启验证型软件嘛。这时我们看SC的界面,分析已经随着程序退出而中止了,不然我们还得自己按“停止”来结束分析。乍眼看上去一大堆东西,不过只要写过VB程序的人应该不会觉得陌生,就算不懂VB的也不打紧,我们慢慢看自然会明白其中的意思。现在显示的是从软件启动到输入完注册码退出后的特定事件,我们在图3左栏的窗口里逐一点击查看(如果看不到这个界面,把“程序结果”窗口最大化即可,因为分栏是缩在边上的)。

图3

嗯,发现刚才注册窗口显示的序列号了(这个相当于机器码,不同电脑上可能会不一样),估计这之前是计

算序列号的过程,不过这个我们不用关心,继续往下面看。展开Command1_Click过程,呵呵,发现我们输入的注册码了,毫无疑问,这个按钮事件就是对应注册码算法的,重点锁定在这里。一路看下来,蛮多VB函数调用的,后面再次出现了序列号,过程结尾处有一串数字“2658271038273406817399346741”,如图4所示。

图4

难道这就是注册码吗?试试看,重新F5运行,输入这串数字,注册,退出。再重新运行(别忘了是重启验证型,就算是正确的注册码也需要第二次运行才能知道是否成功注册),呃,看来不对,还是那个可恶的注册窗口。这串数字到底是什么意思呢?

详细分析

刚才我们一直看的是特定事件分析结果,这样虽然找明码比较快,但现在这种没有明码比较的情况就需要慢慢跟踪流程了。接着上面还是输入那串数字,注册退出后选择快捷栏上的“查看->显示所有事件”,这下出来的东西就多多啦,对应图4字符串的地方下面是一个比较语句,如图5所示。

图5

两个字符串比较,看来关键就在这里,刚才我们经过试验得知String2这串28位的数字不对。而一般情况下比较语句都是比较两者是否相等,这里假设如果String1=String2则注册成功,那么第一步就先搞清楚String2是怎么来的吧。可能有些朋友想说:为什么图5里的String1“15185818151511”就不能是注册码呢?别忘了,我们输入两次不同的假注册码都是显示同一String2字符串,可见它是相对固定的,而String1则是每次都变化,可见跟输入的注册码有关,所以此时的String1不会是注册码,而我们输入的假码是怎么转化成String2(String1=String2注册成功)才是关键!

我们往上面一直拉到Command1_Click,再次逐一看下来,如图6所示。由于这次是详细分析,所以大家如果不熟悉VB函数的话最好通过搜索引擎来找一下相关函数的作用看看。这次SC显示的事件很多,为了不占用版面,我只挑关键的地方截图,其它的就讲讲大概意思,大家自己跟一下就很清楚了。

Command1_Click过程一开始分配空间构成一个字符数组,这里我们把它称为T,内容是:{'C','A','J','K','E','3','U','V','4','Q','X','7','S','H','Y','P','5','M','F','W'},接下来把我们输入的假注册码前三位去掉,再逐位取剩下的字符和T数组里的字符比较,相等则生成对应数组下标数字的字符。假设我们输入的注册码是xxxCAJKE,那么这里就会生成字符串“01234”。我们前面输入的假码“2658271038273406817399346741”经过一番运算后变成了“11511581558118”,我们先把这设为S1。奇怪,怎么跟图5的String1不一样呢?再往下面看,哦,原来是把S1按奇偶位分别取成两段,然后把偶数位段反取,最后两段连接起来才组成了String1。OK,我们搞清楚其中一半关键了,接下来只要弄清楚String2“2658271038273406817399346741”是怎么来的再逆推回去不就可以得到注册码了吗?看完String1的生成过程后(比较长,大家要有耐心)序列号终于出现了,如图7所示。

图6

VB程序的克星SmartCheck及重启验证型破解实例

文章录入:7747.Net 责任编辑:7747.Net 更新时间:2010-10-21 9:51:02 644

文/图 落叶树 【字体:小 大】

想必大家都知道,VB属于解释执行型的语言,它生成的程序是一边翻译一边执行的。以前老的版本由于语言解释器的存在,我们平时习惯使用的OllyDbg等调试工具在跟踪VB程序的时候经常不停地跳来跳去,让你晕头转向,这是因为我们跟进了解释器的地盘,里面的东西是相当难搞明白的。不过现在的VB6程序已经不再是单纯的解释执行,大部分的内容取而代之变成了编译后的代码。虽然如此,还是不能像VC、Delphi程序反编译后的那么直观:压入一堆你看不明白的参数,call一些不知道什么意思的过程,动辄错误、中止。用OD来跟还是不够方便啊!怎么办呢,对于Native Code程序(P-code是封装代码或者说中间件伪代码,相对的Native Code就是原始的未使用P-code的代码,本文不涉及P-code),我们可以使用SmartCheck来轻易对付它。

这次我们破解的对象是一个网站信息收集工具,用PEiD查看得到的内容是:Microsoft Visual Basic 5.0 / 6.0,这说明软件用VB5以上版本编写,未加壳!呵呵,省去脱壳的麻烦了。下面我们进入实战部分。 工具配置

在开始分析前我们需要先把SmartCheck(下文简称SC)配置好,这个步骤很重要,否则有些关键事件可能会没保留下来。运行SC,载入要破解的软件,然后点快捷按钮栏的“程序->设置”,接下来按照图1和图2所示设置即可,其余的可以使用默认配置。

javascript:dcs.images.doResizes(this,0,null); border=0>

图1

篇二:各种序列号大汇总

篇三:解决VB6与win7的兼容问题

本文档来至于http://wenku.baidu.com/view/e6da012a4b73f242336c5fac.html

? 对于很多入门者来说,VB 6是学习VB的一个非常重要的工具。(当然,对于现在开

发者来讲,根本都不用安装VB 6,早就用VB 2008)当我们的机器更新到了Win 7,有很多兼容性的问题都会随之而来。VB 6是一个发行了非常久的软件来的。与Win 7的兼容性到底如何?让我们一起来看看。

首先,一开始安装就遇到了兼容问题。(看来兼容性不太好)

那究竟VB 6和Win 7哪方面不兼容呢?内核?不太可能吧~!Win 7支持运行VB 6的程序啊~!大家想想,我们在后面的文章将会揭晓。

OK,我们继续单击“运行程序”程序出来了。那下面的操作就与平常安装VB 那样,输入序列号等操作。到最后一步,继续初始化,还是出现了兼容问题。

不用理它,照单击“运行程序”。

安装程序运行了,下面的方法,就按照VB 6的安装一样,没有出现什么问题。(到最后一步,必须要你重启计算机,如果你不愿意,你可以使用任务管理器强行结束ACMBOOT.EXE) ----------原始文章(理论方面,可以忽略)----------------------------

这样就成功安装好VB 6?立即去编写一(转载自:www.xiaocaOfaNWen.com 小草 范 文 网:vb6序列号)个程序。在还没有打代码的时候,就出现了一个问题了。在窗体上添加个Command(按钮),在拖动按钮的时候,很卡。尝试一下添加别的控件,问题依旧。

立即想想,在XP里面,双核计算机或单核计算机,都可以很顺的运行VB 6集成开发环境。 没有装显卡驱动?没可能~!Aero都已经开了,怎么会没有安装显卡驱动呢?

在想到XP时,立即想到了那个兼容向导。立即试一试设置到XP SP3,问题依旧。而且问题还更严重。因为XP和Win 7的控件都不同,所以出现了很多控件错误的信息。再想想,莫非是华丽的桌面而导致的?立即试一试。

----------原始文章(理论方面,可以忽略)----------------------------

安装完VB 6后,请立即修改VB6.EXE的兼容性(右键——>属性——>“兼容性”选项卡)。我们需要勾选“禁用桌面元素”(解决拖动控件文件)和“以管理员身份运行此程序“(解决VB 6使用时的权限问题)。

一切准备就绪,开始尝试VB 6。

可以运行VB 6进行编写程序了。

当打开VB 6的同时,在任务栏下出现了这个提示。(下图)

任务栏的提示。

从这个提示,证明了我们上面的想法是正确的。真的是华丽的Aero引发控件拖动慢的问题~!

下面我们再来看看VB 6控件与Win 7

的兼容情况。从上图看,基本上所有的控件都能

成功地插入。

从这里看,基本控件都没问题,再来看看通用对话框如何。

这些通用对话框都没有问题。包括字体对话框,打印对话框等,都能打开。(这里就不再放图上来)]

PS:用了管理员身份运行此程序,在添加控件的时候,不会出现“访问注册表错误” 的信息。

本文已影响