binglinly 发表于 2023-4-2 21:34

各位帮我看看用VB加密的全过程

下面是源码,计算注册码,由于能力有限,研究不出来这个加密方法。有没有大哥大姐帮忙看下。仅供学习,

Private Sub Command1_Click() '405DD8
'Data Table: 402464
Dim var_E8 As String
Dim var_138 As Variant
Dim var_C6 As Integer
Dim var_148 As String
loc_405A90: On Error Goto loc_405DAB
loc_405AD6: If ((Me.Text1.Text = vbNullString) Or (Me.Text2.Text = vbNullString)) Then
loc_405AF2:   MsgBox("请输入注册号!", 0, var_118, var_138, var_158)
loc_405B02:   Exit Sub
loc_405B03: End If
loc_405B1E: var_118 = Trim(CVar(Me.Text2.Text))
loc_405B35: var_138 = CVar(Proc_2_1_405394(0)) 'String
loc_405B3B: var_158 = Trim(var_138)
loc_405B53: If CBool(2 <> var_158) Then
loc_405B6F:   MsgBox("KEY输入有误!", 0, var_118, var_138, var_158)
loc_405B7F:   Exit Sub
loc_405B80: End If
loc_405B83: var_C0 = "keysu"
loc_405B91: var_B8(0) = "49NPT4ZST"
loc_405B9D: var_B8(1) = "49HPT1MUT"
loc_405BA9: var_B8(2) = "59MIC1L9T"
loc_405BB5: var_B8(3) = "49IJT4BHT"
loc_405BC1: var_B8(4) = "59MIC1F1T"
loc_405BCD: var_B8(5) = "WD-WX20A59M3043"
loc_405BD9: var_B8(6) = "797CCAJ2T"
loc_405BE5: var_B8(7) = "7964C5QTT"
loc_405BF1: var_B8(8) = "797BCIGST"
loc_405BFD: var_B8(9) = "6PT40M4V"
loc_405C09: var_B8(&HA) = "NW9VT69258JH"
loc_405C15: var_B8(&HB) = "S10UJDRZ104448"
loc_405C21: var_B8(&HC) = "S27VJ9GZ300017"
loc_405C2D: var_B8(&HD) = "S10UJ90Z442282"
loc_405C39: var_B8(&HE) = "S10UJ90Z300258"
loc_405C45: var_B8(&HF) = "49NPT4ZGT"
loc_405C51: var_B8(&H10) = "080129BB2200WBCNKUVC"
loc_405C5D: var_B8(&H11) = "S24NJDRZ314302"
loc_405C69: var_B8(&H12) = "6VEQGKWW"
loc_405C75: var_B8(&H13) = "5SW2R7DS"
loc_405C81: var_B8(&H14) = "5SW2BTLF"
loc_405C82: ' Referenced from: 405CC7
loc_405C88: If (var_C6 <> &H15) Then
loc_405CB0:   If (Me.Text2.Text = var_B8(CLng(var_C6))) Then
loc_405CBB:   var_C4 = var_B8(CLng(var_C6))
loc_405CBE:   End If
loc_405CC4:   var_C6 = (var_C6 + 1)
loc_405CC7:   GoTo loc_405C82
loc_405CCA: End If
loc_405CEA: If (Me.Text2.Text <> var_C4) Then
loc_405D06:   MsgBox("此KEY无效!", 0, var_118, var_138, var_158)
loc_405D16:   Exit Sub
loc_405D17: End If
loc_405D1F: var_C0 = Proc_2_9_40428C(var_C0)
loc_405D2A: var_C4 = Proc_2_9_40428C(var_C4)
loc_405D42: Set var_16C = CreateObject("wscript.shell", 0)
loc_405D49: var_E8 = "HKEY_CURRENT_USER\Software\Microsoft\DiskVolume\DiskVolume"
loc_405D56: var_148 = "REG_SZ"
loc_405D5F: Call var_16C.regwrite
loc_405D65: var_E8 = "HKEY_CURRENT_USER\Software\Microsoft\DiskVolume\HardDiskInfo"
loc_405D72: var_148 = "REG_SZ"
loc_405D7B: Call var_16C.regwrite
loc_405D9A: MsgBox("注册成功!", 0, var_118, var_138, var_158)
loc_405DAA: Exit Sub
loc_405DAB: ' Referenced from: 405A90
loc_405DC4: MsgBox("注册失败!", 0, var_118, var_138, var_158)
loc_405DD4: Exit Sub
End Sub

wffeeff 发表于 2023-4-2 23:19

我好奇楼主是用论坛什么工具得到源码的,
VB表示不懂,但大概是Proc_2_9_40428C 加上 里面16进制的一串+1
但又看不懂C0看意思。
坐等高手解答。

zhaopengdoctor 发表于 2023-4-3 08:15

刚开始接触VB,感谢楼主分享代码,在研究中学习、进步。同时期待大神解答。

binglinly 发表于 2023-4-3 08:51

wffeeff 发表于 2023-4-2 23:19
我好奇楼主是用论坛什么工具得到源码的,
VB表示不懂,但大概是Proc_2_9_40428C 加上 里面16进制的一串+1
...

无意中得到神器,把整个源码搂出来了。现在研究算法中,有兴趣的我可以把源码贴出来

思念曹操 发表于 2023-4-3 09:05

神器发出来,必然有大神愿意解答算法

ciker_li 发表于 2023-4-3 09:17

loc_405B91: var_B8(0) = "49NPT4ZST"
loc_405B9D: var_B8(1) = "49HPT1MUT"
loc_405BA9: var_B8(2) = "59MIC1L9T"
loc_405BB5: var_B8(3) = "49IJT4BHT"
loc_405BC1: var_B8(4) = "59MIC1F1T"
loc_405BCD: var_B8(5) = "WD-WX20A59M3043"
loc_405BD9: var_B8(6) = "797CCAJ2T"
loc_405BE5: var_B8(7) = "7964C5QTT"
loc_405BF1: var_B8(8) = "797BCIGST"
loc_405BFD: var_B8(9) = "6PT40M4V"
loc_405C09: var_B8(&HA) = "NW9VT69258JH"
loc_405C15: var_B8(&HB) = "S10UJDRZ104448"
loc_405C21: var_B8(&HC) = "S27VJ9GZ300017"
loc_405C2D: var_B8(&HD) = "S10UJ90Z442282"
loc_405C39: var_B8(&HE) = "S10UJ90Z300258"
loc_405C45: var_B8(&HF) = "49NPT4ZGT"
loc_405C51: var_B8(&H10) = "080129BB2200WBCNKUVC"
loc_405C5D: var_B8(&H11) = "S24NJDRZ314302"
loc_405C69: var_B8(&H12) = "6VEQGKWW"
loc_405C75: var_B8(&H13) = "5SW2R7DS"
loc_405C81: var_B8(&H14) = "5SW2BTLF"
感觉像是从这21个注册码中任选一个注册

binglinly 发表于 2023-4-3 09:20

ciker_li 发表于 2023-4-3 09:17
loc_405B91: var_B8(0) = "49NPT4ZST"
loc_405B9D: var_B8(1) = "49HPT1MUT"
loc_405BA9: var_B8(2)...

注册的时候还有个id,下面是key。等于说是两个参数

binglinly 发表于 2023-4-3 09:21

思念曹操 发表于 2023-4-3 09:05
神器发出来,必然有大神愿意解答算法

就那个vb反编译软件啊。

ciker_li 发表于 2023-4-3 09:41

binglinly 发表于 2023-4-3 09:20
注册的时候还有个id,下面是key。等于说是两个参数

loc_405AD6: If ((Me.Text1.Text = vbNullString) Or (Me.Text2.Text = vbNullString)) Then
Text1只出现过一次,判断是否为空
Text1估计就是id

后面的代码都是判断Text2的

zhaopengdoctor 发表于 2023-4-3 09:54

ciker_li 发表于 2023-4-3 09:41
loc_405AD6: If ((Me.Text1.Text = vbNullString) Or (Me.Text2.Text = vbNullString)) Then
Text1只出 ...

感觉ID应该是自己随意设置,注册码是405B91到C81里面字符串中的任意一个 。
页: [1] 2
查看完整版本: 各位帮我看看用VB加密的全过程