VB反编译后的代码解语求助
本帖最后由 zhluosss 于 2021-8-16 15:58 编辑求助懂VB破解的高手,反编译出来后有个关键的字符串编码函数有点看不懂,帮我看看代码
Private Sub Proc_14_6_47A070(arg_C, arg_10) '47A070
loc_0047A0BE: On Error Resume Next
loc_0047A0D7: var_C4 = Len(arg_C)
loc_0047A0EE: GoTo loc_0047A102
loc_0047A0F3: var_24 = var_24 + var_C0
loc_0047A0FF: var_24 = var_24+var_C0
loc_0047A102: ' Referenced from: 0047A0EE
loc_0047A10B: If var_24 > var_C4 Then GoTo loc_0047A282
loc_0047A161: var_8008 = AscW(CStr(Mid(arg_C, var_24, 1)))
loc_0047A16A: var_8008 = var_8008 + edx
loc_0047A173: var_6C = var_8008+edx
loc_0047A1A1: var_40 = Hex(var_8008+edx)
loc_0047A1F2: var_BC = (ecx - Len(var_40))
loc_0047A208: GoTo loc_0047A21F
loc_0047A20E: var_38 = var_38 + var_B8
loc_0047A21B: var_38 = var_38+var_B8
loc_0047A21F: ' Referenced from: 0047A208
loc_0047A22A: If var_38 > var_BC Then GoTo loc_0047A256
loc_0047A247: var_40 = global_0040EB1C & var_40
loc_0047A254: GoTo loc_0047A20A
loc_0047A256: ' Referenced from: 0047A22A
loc_0047A270: var_3C = var_3C & var_40
loc_0047A27D: GoTo loc_0047A0F0
loc_0047A282: ' Referenced from: 0047A10B
loc_0047A2A3: var_34 = StrReverse(var_3C)
loc_0047A2AE: GoTo loc_0047A2EB
loc_0047A2B8: If (0 And 4) = 0 Then GoTo loc_0047A2C3
loc_0047A2C3: ' Referenced from: 0047A2B8
loc_0047A2EA: Exit Sub
loc_0047A2EB: ' Referenced from: 0047A2AE
End Sub
以下是没有优化的
Private Sub Proc_14_6_47A070(arg_C, arg_10) '47A070
loc_0047A096: var_18 = ""
loc_0047A0A0: var_10 = 0
loc_0047A0A7: var_C = 0
loc_0047A0AE: var_4 = 1
loc_0047A0B5: var_4 = 2
loc_0047A0BE: On Error Resume Next
loc_0047A0C4: var_4 = 3
loc_0047A0D1: var_8004 = Len(arg_C)
loc_0047A0D7: var_C4 = var_8004
loc_0047A0DD: var_C0 = 1
loc_0047A0E7: var_24 = 1
loc_0047A0EE: GoTo loc_0047A102
loc_0047A0F3: var_24 = var_24 + var_C0
loc_0047A0FF: var_24 = var_24+var_C0
loc_0047A102: ' Referenced from: 0047A0EE
loc_0047A10B: If var_24 > var_C4 Then GoTo loc_0047A282
loc_0047A111: var_4 = 4
loc_0047A118: var_4C = 1
loc_0047A11F: var_54 = 2
loc_0047A129: var_8C = arg_C
loc_0047A12F: var_94 = &H4008
loc_0047A14C: var_64 = Mid(var_8C, var_24, 1)
loc_0047A15A: var_44 = CStr(var_64)
loc_0047A161: var_8008 = AscW(var_44)
loc_0047A16A: var_8008 = var_8008 + edx
loc_0047A173: var_6C = var_8008+edx
loc_0047A177: var_74 = 2
loc_0047A189: var_84 = Hex(var_8008+edx)
loc_0047A196: var_800C = var_84
loc_0047A1A1: var_40 = var_800C
loc_0047A1CE: var_4 = 5
loc_0047A1D9: var_8010 = Len(var_40)
loc_0047A1EC: var_8014 = (ecx - var_8010)
loc_0047A1F2: var_BC = var_8014
loc_0047A1F9: var_B8 = 1
loc_0047A202: var_38 = 1
loc_0047A208: GoTo loc_0047A21F
loc_0047A20E: var_38 = var_38 + var_B8
loc_0047A21B: var_38 = var_38+var_B8
loc_0047A21F: ' Referenced from: 0047A208
loc_0047A22A: If var_38 > var_BC Then GoTo loc_0047A256
loc_0047A22C: var_4 = 6
loc_0047A23C: var_8018 = global_0040EB1C & var_40
loc_0047A247: var_40 = var_8018
loc_0047A24D: var_4 = 7
loc_0047A254: GoTo loc_0047A20A
loc_0047A256: ' Referenced from: 0047A22A
loc_0047A265: var_801C = var_3C & var_40
loc_0047A270: var_3C = var_801C
loc_0047A276: var_4 = 9
loc_0047A27D: GoTo loc_0047A0F0
loc_0047A282: ' Referenced from: 0047A10B
loc_0047A28D: var_8020 = StrReverse(var_3C)
loc_0047A293: var_4C = var_8020
loc_0047A296: var_54 = 8
loc_0047A2A3: var_34 = var_4C
loc_0047A2AE: GoTo loc_0047A2EB
loc_0047A2B8: If (0 And 4) = 0 Then GoTo loc_0047A2C3
loc_0047A2C3: ' Referenced from: 0047A2B8
loc_0047A2EA: Exit Sub
loc_0047A2EB: ' Referenced from: 0047A2AE
End Sub
发源文件看看 还是放弃吧,难度太大。。。 约定的童话 发表于 2021-8-14 19:50
还是放弃吧,难度太大。。。
卧槽,这是咋反编译的 本帖最后由 zhluosss 于 2021-8-15 20:53 编辑
搞定了,还是要调试跟进到函数内部慢慢分析才行,这反编译出来的好多都看不懂解密方法参见
https://www.52pojie.cn/thread-1494374-1-1.html
也请大神帮忙分析一下这个软件没有解出来的部分 rebotdxy 发表于 2021-8-14 19:42
发源文件看看
https://www.52pojie.cn/thread-1494374-1-1.html
也请大神帮忙分析一下这个软件没有解出来的部分
页:
[1]