@@ -11,11 +11,11 @@ Namespace SunFlower.Test
1111 <SetUp>
1212 Public Sub Setup()
1313 End Sub
14-
1514 ''' Failed. Half of pointers are points to non-allocated space
1615 <Test(Author := "CoffeeLake" , Description := "Checks internal nested structures of Objects and procedures" )>
1716 Public Sub ModuleStructTest()
18- Dim path = "C:\Program Files (x86)\Semi VB Decompiler\SemiVBDecompiler.EXE"
17+ Dim path = "D:\VB3TOOLS\VBDIS3.67e_Reloaded_Rev3_DoDi_s_VB3Decompiler\VBDIS3.67e\VBDIS3.exe"
18+ ' Dim path = "C:\Program Files (x86)\Semi VB Decompiler\SemiVBDecompiler.EXE"
1919 Dim common = New CommonDumpingService(path)
2020
2121 Dim vbParamsOption As Some = common.Dump()
@@ -27,51 +27,23 @@ Namespace SunFlower.Test
2727 Dim entryPointManager = New VbEntryPointManager(reader, vbParam, vbParam.Sections)
2828 Dim headerResult As Some = entryPointManager.Vb5Header
2929 Dim header = headerResult.Cast( Of Vb5Header)()
30+ Dim proj = New Vb5ProjectParser(
31+ vbParam.ImageBase,
32+ header,
33+ reader,
34+ vbParam.Sections,
35+ entryPointManager.RuntimeHeaderOffset
36+ )
37+ Dim objOption = DirectCast (proj.ObjectTable, Some)
38+ Dim objTable = DirectCast (objOption.Data, Vb5ObjectTable)
3039
31- Dim projectInfo = New Vb5ProjectParser(vbParam.ImageBase, header, reader, vbParam.Sections, entryPointManager.RuntimeHeaderOffset)
32-
33- Dim objOption = DirectCast (projectInfo.ObjectTable, Some)
34- Dim obj = DirectCast (objOption.Data, Vb5ObjectTable)
35-
36- 'Dim impParser = New VbImportParser(reader, vbParam.Sections, vbParam.ImageBase)
37- 'Dim imps = impParser.ParseImports(info.ExternalTablePointer, info.ExternalTableCount)
38-
39- Dim objParser = New Vb5ObjectsParser(reader, vbParam.Sections, vbParam.ImageBase)
40- Dim objs = objParser.ParseObjects(obj.ObjectsArrayPointer, obj.TotalObjectsCount)
41-
42- objs.Clear()
43- End Using
44- End Using
45- Assert.Pass()
46- End Sub
47- <Test(Author := "CoffeeLake" )>
48- Public Sub ModuleImportsTest
49- Dim path = "C:\Program Files (x86)\Semi VB Decompiler\SemiVBDecompiler.EXE"
50- ' Dim path = "D:\VB3TOOLS\VBDIS3.67e_Reloaded_Rev3_DoDi_s_VB3Decompiler\VBDIS3.67e\VBDIS3.exe"
51- Dim common = New CommonDumpingService(path)
52-
53- Dim vbParamsOption As Some = common.Dump()
54-
55- Dim vbParam As Vb5ServiceParameters = vbParamsOption.Data
56-
57- Using stream = New FileStream(path, FileMode.Open, FileAccess.Read)
58- Using reader = New BinaryReader(stream)
59- Dim entryPointManager = New VbEntryPointManager(reader, vbParam, vbParam.Sections)
60- Dim headerResult As Some = entryPointManager.Vb5Header
61- Dim header = headerResult.Cast( Of Vb5Header)()
62-
63- Dim projectInfo = New Vb5ProjectParser(vbParam.ImageBase, header, reader, vbParam.Sections, entryPointManager.RuntimeHeaderOffset)
64- Dim infoOption = DirectCast (projectInfo.ProjectInfo, Some)
65- Dim info = DirectCast (infoOption.Data, Vb5ProjectInfo)
66- Dim objOption = DirectCast (projectInfo.ObjectTable, Some)
67- Dim obj = DirectCast (objOption.Data, Vb5ObjectTable)
68- Dim impParser = New VbImportParser(reader, vbParam.Sections, vbParam.ImageBase)
69- Dim imps = impParser.ParseImports(info.ExternalTablePointer, info.ExternalTableCount)
40+ Dim comParser = New Vb5ComRegistrationParser(vbParam.ImageBase, header, reader, vbParam.Sections)
41+ Dim comData = comParser.ParseComRegistrationData()
7042
7143 Dim objParser = New Vb5ObjectsParser(reader, vbParam.Sections, vbParam.ImageBase)
72- Dim objs = objParser.ParseObjects(obj .ObjectsArrayPointer, obj .TotalObjectsCount)
44+ Dim obj = objParser.ParseObjects(objTable .ObjectsArrayPointer, objTable .TotalObjectsCount)
7345
74- objs.Clear ()
46+ comData.GetType ()
7547 End Using
7648 End Using
7749 Assert.Pass()
0 commit comments