-
-
[旧帖] [求助]vb反编译的代码,是一个加解密算法,盼高手指导。 0.00雪花
-
发表于: 2016-3-2 15:22 1904
-
Public Sub Proc_3_1_1102C350
loc_1102C3DB: call __vbaAptOffset(var_11003F28, edi, esi, ebx)
loc_1102C434: var_30 = StrConv(Me, 128, 0)
loc_1102C458: ReDim %r
loc_1102C478:
loc_1102C47E: var_ret_1 = UBound(var_30)
loc_1102C487: If var_18 >= 0 Then GoTo loc_1102C7C6
loc_1102C495: var_eax = call Proc_1102CE90(var_30, var_18, )
loc_1102C4A0: var_EC = call Proc_1102CE90(var_30, var_18, )
loc_1102C4A7: var_eax = call Proc_3_4_1102CD60(var_EC, , )
loc_1102C4D0: var_eax = call Proc_1102CE90(var_30, var_18, )
loc_1102C4DB: var_EC = call Proc_1102CE90(var_30, var_18, )
loc_1102C4E2: var_eax = call Proc_3_4_1102CD60(var_EC, , )
loc_1102C4FD: var_40 = call Proc_3_4_1102CD60(var_EC, , )
loc_1102C50B: var_eax = call Proc_1102CE90(var_30, var_18, )
loc_1102C516: var_EC = call Proc_1102CE90(var_30, var_18, )
loc_1102C51D: var_eax = call Proc_3_4_1102CD60(var_EC, , )
loc_1102C538: var_50 = call Proc_3_4_1102CD60(var_EC, , )
loc_1102C546: var_eax = call Proc_1102CE90(var_30, var_18, )
loc_1102C551: var_EC = call Proc_1102CE90(var_30, var_18, )
loc_1102C558: var_eax = call Proc_3_4_1102CD60(var_EC, , )
loc_1102C55D: var_54 = call Proc_3_4_1102CD60(var_EC, , )
loc_1102C588: If (var_40 >= 0) = 0 Then GoTo loc_1102C642
loc_1102C631: var_eax = call Proc_1102CF10(var_1C, var_5C, CByte(call Proc_3_4_1102CD60(var_EC, , ) * 4 + Int(var_40 / 16) And 255))
loc_1102C642: 'Referenced from: 1102C588
loc_1102C66A: If (var_50 >= 0) = 0 Then GoTo loc_1102C724
loc_1102C713: var_eax = call Proc_1102CF10(var_1C, var_5C, CByte(var_40 * 16 + Int(var_50 / 4) And 255))
loc_1102C724: 'Referenced from: 1102C66A
loc_1102C72A: If var_54 < 0 Then GoTo loc_1102C478
loc_1102C730: var_D0 = var_54
loc_1102C7B0: var_eax = call Proc_1102CF10(var_1C, var_5C, CByte(var_50 * 64 + var_54 And 255))
loc_1102C7C1: GoTo loc_1102C478
loc_1102C7C6: 'Referenced from: 1102C487
loc_1102C7CB: var_5C = var_5C - 00000001h
loc_1102C7E4: ReDim %r
loc_1102C7FB: var_64 = var_1C
loc_1102C802: If var_64 = 0 Then GoTo loc_1102C820
loc_1102C808: If var_64 <> 1 Then GoTo loc_1102C820
loc_1102C814: If eax+00000014h < 0 Then GoTo loc_1102C81C
loc_1102C816: var_eax = Err.Raise
loc_1102C81C: 'Referenced from: 1102C814
loc_1102C81E: GoTo loc_1102C828
loc_1102C820: 'Referenced from: 1102C802
loc_1102C820: var_eax = Err.Raise
loc_1102C828: 'Referenced from: 1102C81E
loc_1102C830: var_60 = var_30
loc_1102C837: If var_60 = 0 Then GoTo loc_1102C858
loc_1102C83D: If var_60 <> 1 Then GoTo loc_1102C858
loc_1102C849: If ecx+00000014h < 0 Then GoTo loc_1102C854
loc_1102C84B: var_eax = Err.Raise
loc_1102C854: 'Referenced from: 1102C849
loc_1102C856: GoTo loc_1102C861
loc_1102C858: 'Referenced from: 1102C837
loc_1102C858: var_eax = Err.Raise
loc_1102C861: 'Referenced from: 1102C856
loc_1102C86B: ecx+0000000Ch = ecx+0000000Ch + Err.Raise
loc_1102C870: edx+0000000Ch = edx+0000000Ch + Err.Raise
loc_1102C874: var_eax = CopyMemory(ecx+0000000Ch, edx+0000000Ch+Err.Raise, var_5C)
loc_1102C8A3: var_C0 = var_30
loc_1102C8C8: var_58 = StrConv(var_30, 64, 0)
loc_1102C8DC: GoTo loc_1102C93A
loc_1102C8E2: If var_4 = 0 Then GoTo loc_1102C8ED
loc_1102C8ED: 'Referenced from: 1102C8E2
loc_1102C939: Exit Sub
loc_1102C93A: 'Referenced from: 1102C8DC
loc_1102C965: Exit Sub
End Sub
Public Sub Proc_3_2_1102C990
loc_1102C9D8: var_24 = "EFGABCDHIdefghJKLMNOPQRSTUV56789+/WXYZabcijklmnopqrstuvwxyz01234"
loc_1102C9EF: var_48 = var_24
loc_1102CA3C: var_28 = CStr(UBound(StrConv(var_24, 128, 0)))
loc_1102CA46: var_28 = CInt(0)
loc_1102CA4E: var_18 = var_28
loc_1102CA59: If var_28 < 1 Then GoTo loc_1102CBA7
loc_1102CA65: call __vbaI2Abs(0, ebx)
loc_1102CA71: cwd
loc_1102CA73: idiv cx
loc_1102CA79: si = si + 0001h
loc_1102CA86: If si < 0 Then GoTo loc_1102CB91
loc_1102CA90: If si > 63 Then GoTo loc_1102CB91
loc_1102CA9B: If var_2C = 0 Then GoTo loc_1102CABF
loc_1102CAA1: If var_2C <> 1 Then GoTo loc_1102CABF
loc_1102CAAC: si = si - .GetIDsOfNames
loc_1102CAB0: If si-.GetIDsOfNames < 0 Then GoTo loc_1102CABB
loc_1102CAB2: var_eax = Err.Raise
loc_1102CABB: 'Referenced from: 1102CAB0
loc_1102CABD: GoTo loc_1102CAC8
loc_1102CABF: 'Referenced from: 1102CA9B
loc_1102CABF: var_eax = Err.Raise
loc_1102CAC8: 'Referenced from: 1102CABD
loc_1102CACF: call __vbaStrUI1(edx+eax)
loc_1102CADA: var_24 = __vbaStrUI1(edx+eax)
loc_1102CAE5: If var_2C = 0 Then GoTo loc_1102CB09
loc_1102CAEB: If var_2C <> 1 Then GoTo loc_1102CB09
loc_1102CAF6: di = di - .GetIDsOfNames
loc_1102CAFA: If di < 0 Then GoTo loc_1102CB05
loc_1102CAFC: var_eax = Err.Raise
loc_1102CB05: 'Referenced from: 1102CAFA
loc_1102CB07: GoTo loc_1102CB14
loc_1102CB09: 'Referenced from: 1102CAE5
loc_1102CB09: var_eax = Err.Raise
loc_1102CB14: 'Referenced from: 1102CB07
loc_1102CB16: If var_2C = 0 Then GoTo loc_1102CB3B
loc_1102CB1C: If var_2C <> 1 Then GoTo loc_1102CB3B
loc_1102CB28: var_18 = var_18 - .GetIDsOfNames
loc_1102CB2C: If var_18 < 0 Then GoTo loc_1102CB37
loc_1102CB2E: var_eax = Err.Raise
loc_1102CB37: 'Referenced from: 1102CB2C
loc_1102CB39: GoTo loc_1102CB44
loc_1102CB3B: 'Referenced from: 1102CB16
loc_1102CB3B: var_eax = Err.Raise
loc_1102CB44: 'Referenced from: 1102CB39
loc_1102CB52: If var_2C = 0 Then GoTo loc_1102CB71
loc_1102CB58: If var_2C <> 1 Then GoTo loc_1102CB71
loc_1102CB63: di = di - .GetIDsOfNames
loc_1102CB67: If di < 0 Then GoTo loc_1102CB79
loc_1102CB69: var_eax = Err.Raise
loc_1102CB6F: GoTo loc_1102CB79
loc_1102CB71: 'Referenced from: 1102CB52
loc_1102CB71: var_eax = Err.Raise
loc_1102CB79: 'Referenced from: 1102CB6F
loc_1102CB7D: var_ret_2 = CByte(var_24)
loc_1102CB91: 'Referenced from: 1102CA86
loc_1102CB94: True = True + si
loc_1102CB9D: var_18 = True
loc_1102CBA2: var_eax = Unknown_148
loc_1102CBA7: 'Referenced from: 1102CA59
loc_1102CBB5: var_48 = StrConv(var_24, 128, 0)
loc_1102CBD4: var_20 = StrConv(StrConv(var_24, 128, 0), 64, 0)
loc_1102CBE8: GoTo loc_1102CC0F
loc_1102CBEE: If var_4 = 0 Then GoTo loc_1102CBF9
loc_1102CBF9: 'Referenced from: 1102CBEE
loc_1102CC0E: Exit Sub
loc_1102CC0F: 'Referenced from: 1102CBE8
loc_1102CC2B: Exit Sub
End Sub
Public Sub Proc_3_4_1102CD60
loc_1102CDA2: call __vbaAptOffset(var_11003F28, edi, esi, ebx)
loc_1102CDAE: If Me <> 0 Then GoTo loc_1102CDC1
loc_1102CDBC: GoTo loc_1102CE61
loc_1102CDC1: 'Referenced from: 1102CDAE
loc_1102CDC8: var_eax = call Proc_3_2_1102C990({00000000-3F28-1100-FFFFFFFF00000000}.285405236, "婱餱婨靇^d?", )
loc_1102CDD2: var_18 = call Proc_3_2_1102C990({00000000-3F28-1100-FFFFFFFF00000000}.285405236, "婱餱婨靇^d?", )
loc_1102CDE3: var_50 = var_18
loc_1102CE1F: var_ret_1 = InStr(1, var_18, Chr(Me), 0) - 1
loc_1102CE2C: var_14 = CInt()
loc_1102CE47: GoTo loc_1102CE61
loc_1102CE60: Exit Sub
loc_1102CE61: 'Referenced from: 1102CDBC
End Sub
能看懂的朋友,请联系。有偿求教。
loc_1102C3DB: call __vbaAptOffset(var_11003F28, edi, esi, ebx)
loc_1102C434: var_30 = StrConv(Me, 128, 0)
loc_1102C458: ReDim %r
loc_1102C478:
loc_1102C47E: var_ret_1 = UBound(var_30)
loc_1102C487: If var_18 >= 0 Then GoTo loc_1102C7C6
loc_1102C495: var_eax = call Proc_1102CE90(var_30, var_18, )
loc_1102C4A0: var_EC = call Proc_1102CE90(var_30, var_18, )
loc_1102C4A7: var_eax = call Proc_3_4_1102CD60(var_EC, , )
loc_1102C4D0: var_eax = call Proc_1102CE90(var_30, var_18, )
loc_1102C4DB: var_EC = call Proc_1102CE90(var_30, var_18, )
loc_1102C4E2: var_eax = call Proc_3_4_1102CD60(var_EC, , )
loc_1102C4FD: var_40 = call Proc_3_4_1102CD60(var_EC, , )
loc_1102C50B: var_eax = call Proc_1102CE90(var_30, var_18, )
loc_1102C516: var_EC = call Proc_1102CE90(var_30, var_18, )
loc_1102C51D: var_eax = call Proc_3_4_1102CD60(var_EC, , )
loc_1102C538: var_50 = call Proc_3_4_1102CD60(var_EC, , )
loc_1102C546: var_eax = call Proc_1102CE90(var_30, var_18, )
loc_1102C551: var_EC = call Proc_1102CE90(var_30, var_18, )
loc_1102C558: var_eax = call Proc_3_4_1102CD60(var_EC, , )
loc_1102C55D: var_54 = call Proc_3_4_1102CD60(var_EC, , )
loc_1102C588: If (var_40 >= 0) = 0 Then GoTo loc_1102C642
loc_1102C631: var_eax = call Proc_1102CF10(var_1C, var_5C, CByte(call Proc_3_4_1102CD60(var_EC, , ) * 4 + Int(var_40 / 16) And 255))
loc_1102C642: 'Referenced from: 1102C588
loc_1102C66A: If (var_50 >= 0) = 0 Then GoTo loc_1102C724
loc_1102C713: var_eax = call Proc_1102CF10(var_1C, var_5C, CByte(var_40 * 16 + Int(var_50 / 4) And 255))
loc_1102C724: 'Referenced from: 1102C66A
loc_1102C72A: If var_54 < 0 Then GoTo loc_1102C478
loc_1102C730: var_D0 = var_54
loc_1102C7B0: var_eax = call Proc_1102CF10(var_1C, var_5C, CByte(var_50 * 64 + var_54 And 255))
loc_1102C7C1: GoTo loc_1102C478
loc_1102C7C6: 'Referenced from: 1102C487
loc_1102C7CB: var_5C = var_5C - 00000001h
loc_1102C7E4: ReDim %r
loc_1102C7FB: var_64 = var_1C
loc_1102C802: If var_64 = 0 Then GoTo loc_1102C820
loc_1102C808: If var_64 <> 1 Then GoTo loc_1102C820
loc_1102C814: If eax+00000014h < 0 Then GoTo loc_1102C81C
loc_1102C816: var_eax = Err.Raise
loc_1102C81C: 'Referenced from: 1102C814
loc_1102C81E: GoTo loc_1102C828
loc_1102C820: 'Referenced from: 1102C802
loc_1102C820: var_eax = Err.Raise
loc_1102C828: 'Referenced from: 1102C81E
loc_1102C830: var_60 = var_30
loc_1102C837: If var_60 = 0 Then GoTo loc_1102C858
loc_1102C83D: If var_60 <> 1 Then GoTo loc_1102C858
loc_1102C849: If ecx+00000014h < 0 Then GoTo loc_1102C854
loc_1102C84B: var_eax = Err.Raise
loc_1102C854: 'Referenced from: 1102C849
loc_1102C856: GoTo loc_1102C861
loc_1102C858: 'Referenced from: 1102C837
loc_1102C858: var_eax = Err.Raise
loc_1102C861: 'Referenced from: 1102C856
loc_1102C86B: ecx+0000000Ch = ecx+0000000Ch + Err.Raise
loc_1102C870: edx+0000000Ch = edx+0000000Ch + Err.Raise
loc_1102C874: var_eax = CopyMemory(ecx+0000000Ch, edx+0000000Ch+Err.Raise, var_5C)
loc_1102C8A3: var_C0 = var_30
loc_1102C8C8: var_58 = StrConv(var_30, 64, 0)
loc_1102C8DC: GoTo loc_1102C93A
loc_1102C8E2: If var_4 = 0 Then GoTo loc_1102C8ED
loc_1102C8ED: 'Referenced from: 1102C8E2
loc_1102C939: Exit Sub
loc_1102C93A: 'Referenced from: 1102C8DC
loc_1102C965: Exit Sub
End Sub
Public Sub Proc_3_2_1102C990
loc_1102C9D8: var_24 = "EFGABCDHIdefghJKLMNOPQRSTUV56789+/WXYZabcijklmnopqrstuvwxyz01234"
loc_1102C9EF: var_48 = var_24
loc_1102CA3C: var_28 = CStr(UBound(StrConv(var_24, 128, 0)))
loc_1102CA46: var_28 = CInt(0)
loc_1102CA4E: var_18 = var_28
loc_1102CA59: If var_28 < 1 Then GoTo loc_1102CBA7
loc_1102CA65: call __vbaI2Abs(0, ebx)
loc_1102CA71: cwd
loc_1102CA73: idiv cx
loc_1102CA79: si = si + 0001h
loc_1102CA86: If si < 0 Then GoTo loc_1102CB91
loc_1102CA90: If si > 63 Then GoTo loc_1102CB91
loc_1102CA9B: If var_2C = 0 Then GoTo loc_1102CABF
loc_1102CAA1: If var_2C <> 1 Then GoTo loc_1102CABF
loc_1102CAAC: si = si - .GetIDsOfNames
loc_1102CAB0: If si-.GetIDsOfNames < 0 Then GoTo loc_1102CABB
loc_1102CAB2: var_eax = Err.Raise
loc_1102CABB: 'Referenced from: 1102CAB0
loc_1102CABD: GoTo loc_1102CAC8
loc_1102CABF: 'Referenced from: 1102CA9B
loc_1102CABF: var_eax = Err.Raise
loc_1102CAC8: 'Referenced from: 1102CABD
loc_1102CACF: call __vbaStrUI1(edx+eax)
loc_1102CADA: var_24 = __vbaStrUI1(edx+eax)
loc_1102CAE5: If var_2C = 0 Then GoTo loc_1102CB09
loc_1102CAEB: If var_2C <> 1 Then GoTo loc_1102CB09
loc_1102CAF6: di = di - .GetIDsOfNames
loc_1102CAFA: If di < 0 Then GoTo loc_1102CB05
loc_1102CAFC: var_eax = Err.Raise
loc_1102CB05: 'Referenced from: 1102CAFA
loc_1102CB07: GoTo loc_1102CB14
loc_1102CB09: 'Referenced from: 1102CAE5
loc_1102CB09: var_eax = Err.Raise
loc_1102CB14: 'Referenced from: 1102CB07
loc_1102CB16: If var_2C = 0 Then GoTo loc_1102CB3B
loc_1102CB1C: If var_2C <> 1 Then GoTo loc_1102CB3B
loc_1102CB28: var_18 = var_18 - .GetIDsOfNames
loc_1102CB2C: If var_18 < 0 Then GoTo loc_1102CB37
loc_1102CB2E: var_eax = Err.Raise
loc_1102CB37: 'Referenced from: 1102CB2C
loc_1102CB39: GoTo loc_1102CB44
loc_1102CB3B: 'Referenced from: 1102CB16
loc_1102CB3B: var_eax = Err.Raise
loc_1102CB44: 'Referenced from: 1102CB39
loc_1102CB52: If var_2C = 0 Then GoTo loc_1102CB71
loc_1102CB58: If var_2C <> 1 Then GoTo loc_1102CB71
loc_1102CB63: di = di - .GetIDsOfNames
loc_1102CB67: If di < 0 Then GoTo loc_1102CB79
loc_1102CB69: var_eax = Err.Raise
loc_1102CB6F: GoTo loc_1102CB79
loc_1102CB71: 'Referenced from: 1102CB52
loc_1102CB71: var_eax = Err.Raise
loc_1102CB79: 'Referenced from: 1102CB6F
loc_1102CB7D: var_ret_2 = CByte(var_24)
loc_1102CB91: 'Referenced from: 1102CA86
loc_1102CB94: True = True + si
loc_1102CB9D: var_18 = True
loc_1102CBA2: var_eax = Unknown_148
loc_1102CBA7: 'Referenced from: 1102CA59
loc_1102CBB5: var_48 = StrConv(var_24, 128, 0)
loc_1102CBD4: var_20 = StrConv(StrConv(var_24, 128, 0), 64, 0)
loc_1102CBE8: GoTo loc_1102CC0F
loc_1102CBEE: If var_4 = 0 Then GoTo loc_1102CBF9
loc_1102CBF9: 'Referenced from: 1102CBEE
loc_1102CC0E: Exit Sub
loc_1102CC0F: 'Referenced from: 1102CBE8
loc_1102CC2B: Exit Sub
End Sub
Public Sub Proc_3_4_1102CD60
loc_1102CDA2: call __vbaAptOffset(var_11003F28, edi, esi, ebx)
loc_1102CDAE: If Me <> 0 Then GoTo loc_1102CDC1
loc_1102CDBC: GoTo loc_1102CE61
loc_1102CDC1: 'Referenced from: 1102CDAE
loc_1102CDC8: var_eax = call Proc_3_2_1102C990({00000000-3F28-1100-FFFFFFFF00000000}.285405236, "婱餱婨靇^d?", )
loc_1102CDD2: var_18 = call Proc_3_2_1102C990({00000000-3F28-1100-FFFFFFFF00000000}.285405236, "婱餱婨靇^d?", )
loc_1102CDE3: var_50 = var_18
loc_1102CE1F: var_ret_1 = InStr(1, var_18, Chr(Me), 0) - 1
loc_1102CE2C: var_14 = CInt()
loc_1102CE47: GoTo loc_1102CE61
loc_1102CE60: Exit Sub
loc_1102CE61: 'Referenced from: 1102CDBC
End Sub
能看懂的朋友,请联系。有偿求教。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
看原图
赞赏
雪币:
留言: