利用反编译的VB6代码

时间:2017-12-03 00:49:19

标签: vb6 decompiler

我已经反编译了10年前制作的exe,我想知道如何在visual studio中查看该程序。它保存为.bas文件,我想将其转换为它所编写的语言(我认为是Visual Basic 6)。这是一些代码:

Object: frmNewCustomer
Private Sub Form_Unload(Cancel As Integer) '6CF5C0
  'Data Table: 42BA04
  loc_6CF584: On Error Resume Next
  loc_6CF589: LitNothing
  loc_6CF58B: CastAd
  loc_6CF58E: FStAdFuncNoPop
  loc_6CF591: FLdPr Me
  loc_6CF594: MemStAd
  loc_6CF598: FFree1Ad var_88
  loc_6CF59D: LitNothing
  loc_6CF59F: CastAd
  loc_6CF5A2: FStAdFuncNoPop
  loc_6CF5A5: FLdPr Me
  loc_6CF5A8: MemStAd
  loc_6CF5AC: FFree1Ad var_88
  loc_6CF5B1: LitNothing
  loc_6CF5B3: CastAd
  loc_6CF5B6: ImpAdStAdFunc MemVar_911008
  loc_6CF5BC: ExitProcHresult
End Sub

Private Sub txtCustomers_GotFocus(Index As Integer) '6CF72C
  'Data Table: 42BA04
  loc_6CF6F8: On Error Resume Next
  loc_6CF6FD: FLdRfVar var_8C
  loc_6CF700: ILdI2 Index
  loc_6CF703: FLdPrThis
  loc_6CF704: VCallAd txtCustomers
  loc_6CF707: FStAdFunc var_88
  loc_6CF70A: FLdPr var_88
  loc_6CF712: FLdZeroAd var_8C
  loc_6CF715: FStAdFunc var_90
  loc_6CF718: FLdRfVar var_90
  loc_6CF71B: ImpAdCallFPR4 Proc_10_19_6D164C()
  loc_6CF720: FFreeAd var_88 = "" = ""
  loc_6CF729: ExitProcHresult
End Sub

1 个答案:

答案 0 :(得分:0)

是的,它看起来像VB6或更早版本。但是,有很多子程序调用你不会向我们展示。它们必须在文件中指定。

要查看.bas文件:

  1. 在Visual Studio 6.0 IDE中打开Visual Basic。
  2. 启动一个新的标准EXE项目。
  3. 删除默认添加的Form1表单。
  4. 将.bas文件添加到项目中(选择Project / Add Module,选择Existing选项卡,浏览到您的文件)。
  5. 您应该可以从那里查看它。如果你想运行它:

    1. 确保您有一个名为Main()的子。
    2. 如果没有,请创建一个,并调用文件中的顶级子例程。
    3. 确保在项目属性中选择Sub Main作为启动对象(选择Project / Properties,General选项卡,然后在Startup对象下拉列表中找到Sub Main)。