VB程序破解
VB程序破解
VB 程序简介
现在不少程序是用 VB 写的,你通过反汇编或跟踪调试时很容易鉴别某个程序是否为 VB 程序,VB 的 EXE 文件并不是真正的编译可执行文件,它们需其动态链接库才能正常运行,各版本的链接库如下:
VB3 链接库为 vbrun300.dll ;
VB4 链接库为 vb40016.dll ; - 16 位,较少见;
VB4 链接库为 vb40032.dll ; - 32 位;
VB5 链接库为 msvbvm50.dll ;
VB6 链接库为 msvbvm60.dll ;
VB 程序执行时从本质上讲是解释执行,它们只是调用 VBRUNxxx.DLL 中的函数 ,这样可使程序员不需写大量的程序代码就可编写出较好的图形界面的 windows 程序,不过 VB 是真正的程序吗?
当然 VB 程序大大方便了程序编写者,但对我们来说, VB 程序向来是谁见谁头痛,一般用 VB 做的程序无论注册码也好, 30 天到期也好,如果用常规方法都很难有被破解的可能。原因很简单, VB 的 exe 是伪代码,程序都在 vbXXX.dll 里面执行,你只能在 vbdll 里面用 sice 打转转,什么都改不成,而且代码质量不高,结构还颇复杂。
不过你学完这一课,你就不用怕 Vb 程序,在这里我就谈谈两种常用方法,一、用 SOFTICE 对付;二、用 SmartCheck 。这一节就讲讲 SOFTICE 破解 VB 程序。
--------------------------------------------------------------------------------
SOFTICE 配制
虽然大部分 VB 程序仍调用 Win32 API 函数,但如想在 VB dll 运行库中设断的话,你就必须把 VB dll 运行库加入 SOFTICE 配制里去。具体你可参考第五课中的《 SOFTICE 安装及使用》。
下例是在 win95/98 下你把相关的 VB DLL 运行库加入 winice.dat 配制文件里。 ( 部分 )
; 注意分号后是描述语言,不被执行。每次只装载需要的一种 VB dll ,不要同时装载两个以上,把要装载那种 VB dll 那一行的分号去掉,重新启动即可。另外,判断软件是何种 VB dll 有几种方法,最直接一种用 WDasm89 查看,还有一种方法是用十六进制工具打开程序,观察。或用 SOFTICE 跟进去(用 bpx hmemcpy) ,稍转一圈,你观察一下调试窗口领空处会出现何种 VB DLL 即可。
; EXP=c:\windows\system\msvbvm60.dll ; Visual Basic 6
; EXP=c:\windows\system\msvbvm50.dll ; Visual Basic 5
; EXP=c:\windows\system\vb40032.dll ; Visual Basic 4(32-bit)
; EXP=c:\windows\sys
相关文档:
声明固定大小的数组
有三种方法声明固定大小的数组,用哪一种方法取决于数组应有的有效范围:
建立公用数组,在模块的声明段用 Public 语句声明数组。
建立模块级数组,在模块的声明段用 Private 语句声明数组。
建 ......
本文来自此帖的冗长讨论,感谢Tiger_Zhao的全程指点和陈辉、阿勇、马云剑等很多朋友的热心参与。本文其他部分在:(二)、(三)、(四)。
话说VB6是个很认真细致的妈妈,它会悄没声地帮你做很多事。今天我们来说的是VB6在API调用时自动对字符串参数进行转换的“好人好事”。
第一节 体贴的VB妈 ......
Public Class Form1
Private Sub CmdTrans_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdTrans.Click
Dim psi As New System.Diagnostics.ProcessStartInfo
Dim ftpFileName As String
psi.FileName = "ftp.exe"
psi.RedirectStandardInput = ......
JavaScript/VB Script脚本程序一般有两种执行方式,一种是嵌入在宿主程序里面执行,比如在IE浏览器里面执行;另外一种,在资源管理器里面双击执行(虽然还是通过另外一个程序解释执行,但是给人的感觉毕竟是直接运行)。
这两种方式,都可以使用Visual Studio来进行调试,先看大家用得比较频繁的网页脚本程序的调试:
1 ......
VB颜色和RGB色互相转换头疼了我好一段时间,如今找到解决办法了
特别贴出来与大家共享
Type RGB
Red As String
Green As String
Blue As String
End Type
Public Function ColorToRGB(ByVal dwColor As Long) As RGB
Dim clrHex ......