反编译一个VB6写的程序,得到的vbp文件,运行时出错

如题,vbp文件中含如下代码
Object="{642AC760-AAB4-11d0-8494-00A0C90DC8A9}#1.0#0"; "C:\WINDOWS\system32\MSDBRPTR.DLL"
Object="{831FDD16-0C5C-11d2-A9FC-0000F8754DA1}#2.0#0"; "Mscomctl.ocx"
Object="{3DAE277D-AE43-4a26-AADF-28859FE39C27}#20.0#0"; "TCSController.ocx"
Object="{0ECD9B60-23AA-11d0-B351-00A0C9055D8E}#6.0#0"; "MSHFLXGD.OCX"
运行时提示 ’d:\dasm1\"c:\windows\system32\msdbrptr.dll"'不能加载
求高手解释原因及如何修改这个引用,才能正常运行
ps:d:\dasm1\是我反编译得到的vbp文件所在的文件夹
最新回答
宾狗

2025-03-30 11:23:41

已经找到问题了,我用vbdecompiler和vb rezq分别反编译了一下,原来vbdecompiler把msdbrptr反编译成object(部件)了,而vb rezq把msdbrptr反编译成的是Reference(引用),我觉得vbrezq的结果是正确的,我把vbrezq反编译得到的vbp中的msdbrptr这一行的代码,复制到vbdecompiler得到的vbp中(覆盖对应的一行代码),然后又用vbrezq得到的dsr文件内容覆盖了vbdecompiler得到的dsr文件,OK
为什么要vbdecompiler的结果?因为它反编译得到的文件名和开发时的名字一样
青柠之恋

2025-03-30 00:59:10

缺什么文件就去下载,下载好了放到它提示的地方,ocx可能要注册一下