• 标 题：关于聪明的搬运工 (1千字)
• 作 者：1212
• 时 间：2001-1-14 17:17:55
• 链 接：http://bbs.pediy.com

boxman用blowfish兄介绍的dodi的vb discompiler反编译出来的代码就直接

Function fn0428 (ByVal p0052 As String, ByVal p0054 As String, p0056

As String, p0058 As Single) As String
Dim l005C As Integer
Dim l005E As Integer
Dim l0060 As Integer
Dim l0062 As String
Dim l0064 As Integer
Dim l0066 As Variant
Dim l006A As Variant
l005E = Len(p0054)
If  p0052 = "E" Then
Randomize
l0064 = (p0058 * 10000 Mod 255) + 1
l0062 = Hex\$(l0064)
If  Len(l0062) = 1 Then
l0062 = "0" + l0062
End If
For l006A = 1 To Len(p0056)
l0060 = (Asc(Mid\$(p0056, l006A, 1)) + l0064) Mod 255
If  l005C < l005E Then l005C = l005C + 1 Else l005C = 1
l0060 = l0060 Xor Asc(Mid\$(p0054, l005C, 1))
l0062 = l0062 + Format\$(Hex\$(l0060), "@@")
l0064 = l0060
Next
ElseIf p0052 = "D" Then
l0064 = Val("&H" + Left\$(p0056, 2))
For l006A = 3 To Len(p0056) Step 2
l0060 = Val("&H" + Trim(Mid\$(p0056, l006A, 2)))
If  l005C < l005E Then l005C = l005C + 1 Else l005C = 1
l0066 = l0060 Xor Asc(Mid\$(p0054, l005C, 1))
If  l0066 <= l0064 Then
l0066 = 255 + l0066 - l0064
Else
l0066 = l0066 - l0064
End If
l0062 = l0062 + Chr(l0066)
l0064 = l0060
Next
End If
fn0428 = l0062
End Function

arbiter

• 标 题：我反编译的代码段 (2千字)
• 作 者：chn-boy
• 时 间：2001-1-16 10:39:24

Sub btn_Register_Click ()
Dim l001C As Integer
Dim l001E As Single
Dim l0020 As Integer
Dim l0022 As String
Dim l0024 As String
' Const mc003C = 1 ' &H1%
' Const mc003E = 2 ' &H2%
' Const mc0046 = 13 ' &HD%
' Const mc0048 = 19 ' &H13%
If  Trim\$(txt_Name.Text) = "" Or Len(Trim\$(txt_Name.Text)) < 3 Then
MsgBox "请输入用户名, 至少三字母!", 48, "聪明搬运工"
Exit Sub
End If
If  Trim\$(txt_Code.Text) = "" Then
MsgBox "请输入注册码!", 48, "聪明搬运工"
Exit Sub
End If
l001E = (Val(Mid\$(Trim\$(ssp_Id.Caption), 5, 3)) + Val(Right\$(Trim\$(ssp_Id.Caption), 3))) / 2000
l0024\$ = ""
For l0020% = 1 To Len(Trim\$(txt_Code.Text))
l0022\$ = Mid\$(Trim\$(txt_Code.Text), l0020%, 1)
If  l0022\$ = "-" Then l0022\$ = " "
l0024\$ = l0024\$ + l0022\$
Next l0020%
If  fn0428\$("E", Trim\$(ssp_Id.Caption), Trim\$(txt_Name.Text), l001E) = l0024\$ And fn0428\$("D", Trim\$(ssp_Id.Caption), l0024\$, l001E) = Trim\$(txt_Name.Text) Then
If  Dir\$("boxman.box") = "" Then
If  frm_Main.mnu_Sound.Checked Then
l001C% = extfn009B%("BOXUNDO.WAV", mc003C + mc003E)
End If
MsgBox "请向作者注册!", 48, "聪明搬运工"
End
End If
If  frm_Main.mnu_Sound.Checked Then
l001C% = extfn009B%("BOXWIN.WAV", mc003C + mc003E)
End If
gv0008% = 7
frm_Main.mnu_Scenery(5).Enabled = True
frm_Main.mnu_Scenery(6).Enabled = True
frm_Main.mnu_Scenery(7).Enabled = True
frm_Main.mnu_Scenery(8).Enabled = True
gv00BC% = True
MsgBox "注册成功!", 48, "聪明搬运工"
frm_Main.Caption = "聪明搬运工（注册为" + " " + Trim\$(txt_Name.Text) + " " + "）"
Close
Open "boxman.box" For Random As #1 Len = 1
gv00BE% = LOF(1) \ (mc0046 + 1) \ (mc0048 + 1)
gv00C0\$ = "Level"
Else
If  frm_Main.mnu_Sound.Checked Then
l001C% = extfn009B%("BOXUNDO.WAV", mc003C + mc003E)
End If
gv00BC% = False
gv00CC% = gv00CC% + 1
If  gv00CC% < 5 Then
MsgBox "注册不成功!", 48, "聪明搬运工"
Exit Sub
Else
MsgBox "五次注册不成功!", 48, "聪明搬运工"
End
End If
End If
End Sub

• 标 题：这是注册码要满足的条件： (179字)
• 作 者：1212
• 时 间：2001-1-16 12:27:55

fn0428\$("E", Trim\$(ssp_Id.Caption), Trim\$(txt_Name.Text), l001E) = l0024\$ And fn0428\$("D", Trim\$(ssp_Id.Caption), l0024\$, l001E) = Trim\$(txt_Name.Text)

• 标 题：根据1212和chn-boy的帖子，我做出了算号器，代码见内： (662字)
• 作 者：小　明
• 时 间：2001-1-18 7:04:45

Private Sub Command1_Click()
Dim zz As Single
zz = (Val(Mid(Trim(Text1.Text), 5, 3)) + Val(Right(Trim(Text1.Text), 3))) / 2000
a = (zz * 10000 Mod 255) + 1
b = Hex(a)
c = Len(Text1.Text)
d = 0
If Len(b) = 1 Then b = "0" + b
For i = 1 To Len(Text2.Text)
e = (Asc(Mid(Text2.Text, i, 1)) + a) Mod 255
If d < c Then d = d + 1 Else d = 1
e = e Xor Asc(Mid(Text1.Text, d, 1))
b = b + Format(Hex(e), "@@")
a = e
Next
Text3.Text = b
End Sub

• 标 题：我还是忍不住说两句吧！
• 作 者：1212
• 时 间：2001-1-18 11:58:41