level 13
Nukepayload2
楼主
给代码里来个on error resume next就会使il码发生大改变。
本来是:
Dim i As Integer
Do
i += 1
jadtext.Text = Replace(jadtext.Text, vbLf + vbLf, vbLf)
If i > 200 Then MsgBox("死循环错误!2") : Exit Sub
Loop While jadtext.Text.Contains(vbLf + vbLf)
If Strings.Left(jadtext.Text, 1) = vbLf Then
jadtext.Text = Strings.Right(jadtext.Text, Len(jadtext.Text) - 1)
End If
加那个代码后反编译结果是:
Dim num3 As Integer
Label_0000:
Try
Dim num1 As Integer
Dim num4 As Integer
ProjectData.ClearProjectError
Dim num2 As Integer = 1
Label_0007:
num4 = 3
num1 += 1
Label_000D:
num4 = 4
Me.jadtext.Text = Strings.Replace(Me.jadtext.Text, ChrW(10) & ChrW(10), ChrW(10), 1, -1, CompareMethod.Binary)
Label_0037:
num4 = 5
If (num1 <= 200) Then
goto Label_0055
End If
Label_0041:
num4 = 6
Interaction.MsgBox(ChrW(27515) & ChrW(24490) & ChrW(29615) & ChrW(38169) & ChrW(35823) & ChrW(65281) & "2", MsgBoxStyle.OkOnly, Nothing)
goto Label_0147
Label_0055:
num4 = 9
If Me.jadtext.Text.Contains(ChrW(10) & ChrW(10)) Then
goto Label_0007
End If
Label_006F:
num4 = 10
If (Operators.CompareString(Strings.Left(Me.jadtext.Text, 1), ChrW(10), False) <> 0) Then
goto Label_0147
End If
Label_0091:
num4 = 11
Me.jadtext.Text = Strings.Right(Me.jadtext.Text, (Strings.Len(Me.jadtext.Text) - 1))
goto Label_0147
Label_00C6:
num3 = 0
Select Case (num3 + 1)
Case 0
goto Label_013C
Case 1
goto Label_0000
Case 2, 3
goto Label_0007
Case 4
goto Label_000D
Case 5
goto Label_0037
Case 6
goto Label_0041
Case 7, 12, 13
goto Label_0147
Case 8, 9
goto Label_0055
Case 10
goto Label_006F
Case 11
goto Label_0091
Case Else
goto Label_013C
End Select
Label_010A:
num3 = num4
Select Case num2
Case 0
goto Label_013C
Case 1
goto Label_00C6
End Select
Catch obj1 As Object When (?)
ProjectData.SetProjectError(CType(obj1, Exception))
goto Label_010A
End Try
Label_013C:
Throw ProjectData.CreateProjectError(-2146828237)
Label_0147:
If (num3 <> 0) Then
ProjectData.ClearProjectError
End If
2012年12月19日 05点12分
1
本来是:
Dim i As Integer
Do
i += 1
jadtext.Text = Replace(jadtext.Text, vbLf + vbLf, vbLf)
If i > 200 Then MsgBox("死循环错误!2") : Exit Sub
Loop While jadtext.Text.Contains(vbLf + vbLf)
If Strings.Left(jadtext.Text, 1) = vbLf Then
jadtext.Text = Strings.Right(jadtext.Text, Len(jadtext.Text) - 1)
End If
加那个代码后反编译结果是:
Dim num3 As Integer
Label_0000:
Try
Dim num1 As Integer
Dim num4 As Integer
ProjectData.ClearProjectError
Dim num2 As Integer = 1
Label_0007:
num4 = 3
num1 += 1
Label_000D:
num4 = 4
Me.jadtext.Text = Strings.Replace(Me.jadtext.Text, ChrW(10) & ChrW(10), ChrW(10), 1, -1, CompareMethod.Binary)
Label_0037:
num4 = 5
If (num1 <= 200) Then
goto Label_0055
End If
Label_0041:
num4 = 6
Interaction.MsgBox(ChrW(27515) & ChrW(24490) & ChrW(29615) & ChrW(38169) & ChrW(35823) & ChrW(65281) & "2", MsgBoxStyle.OkOnly, Nothing)
goto Label_0147
Label_0055:
num4 = 9
If Me.jadtext.Text.Contains(ChrW(10) & ChrW(10)) Then
goto Label_0007
End If
Label_006F:
num4 = 10
If (Operators.CompareString(Strings.Left(Me.jadtext.Text, 1), ChrW(10), False) <> 0) Then
goto Label_0147
End If
Label_0091:
num4 = 11
Me.jadtext.Text = Strings.Right(Me.jadtext.Text, (Strings.Len(Me.jadtext.Text) - 1))
goto Label_0147
Label_00C6:
num3 = 0
Select Case (num3 + 1)
Case 0
goto Label_013C
Case 1
goto Label_0000
Case 2, 3
goto Label_0007
Case 4
goto Label_000D
Case 5
goto Label_0037
Case 6
goto Label_0041
Case 7, 12, 13
goto Label_0147
Case 8, 9
goto Label_0055
Case 10
goto Label_006F
Case 11
goto Label_0091
Case Else
goto Label_013C
End Select
Label_010A:
num3 = num4
Select Case num2
Case 0
goto Label_013C
Case 1
goto Label_00C6
End Select
Catch obj1 As Object When (?)
ProjectData.SetProjectError(CType(obj1, Exception))
goto Label_010A
End Try
Label_013C:
Throw ProjectData.CreateProjectError(-2146828237)
Label_0147:
If (num3 <> 0) Then
ProjectData.ClearProjectError
End If