VB语言

本类阅读TOP10

·Visual Basic 安装程序的制作!!
·VB中使用EXCEL输出
·一个简单的MP3播放器
·VB程序实现WindowsXP效果的界面!!
·VB打造超酷个性化菜单(六)
·透明位图
·平铺与拉伸MDI窗口的背景图 ~!~
·对《VB程序实现WindowsXP效果的界面》一文的补遗
·从Windows资源管理器中拖动文件
·VB打造超酷个性化菜单(一)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Visual Basic 6 逆向工程与反逆向工程 (2)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

Visual Basic 6 逆向工程与反逆向工程 (2)

版权声明:本文作者拥有对此文章的所有版权,转载、翻译等都必须得到本人的书面同意。


VB编译奥秘

摘自John Chamberlain. Take Control of the Compile Process. Visual Basic programmer’s journal 1999, Nov。
 

    如图所示:采用伪代码编译时,每个VB源文件(包括.frm、.bas、.cls文件)经VB IDE编译后各自生成相应的.obj文件,交链接程序link.exe生成伪编译的可执行文件(EXE、Dll、OCX等)。
    而用自然编译时,每个VB源文件由C2.exe编译生成汇编代码,生成相应的obj文件,再由link.exe链接成为完整的可执行文件。
熟悉VC6的读者可以发现,在VC6安装目录下也存在C2.dll及link.exe文件,查看C2.dll与C2.exe属性,都表明是微软的32位编译程序。比较可以发现VB与VC的编译、链接程序具有一致性。

文件 版本
C2.EXE (Visual Basic 5)  5.00.0.7182
C2.EXE (Visual Basic 6 SP5)  6.00.8783
C2.DLL  (Visual C++ 6)   6.00.8168
Link.exe (Visual Basic 6 SP5)  6.00.8447
Link.exe (Visual C++ 6)  6.00.8168

    实际上,当初微软为了回应客户对VB代码进行自然编译的强烈要求,在没有推翻重来的情况下,就借用了VC的编译引擎来实现自然编译。
    你可以用VC.net所带的link.exe替换VB6中的同名程序,这样链接生成的可执行文件就不能被VBDE所分析了。

注:此篇很大部分来于网络资料,大家看过就是。




相关文章

相关软件