Public class jsdecoder '============== JS script ============= Description: Such a script code for decrypting JScript.Encode encrypted! 'author: wah-wah fish' version: VB.NET version 'date: March 21, 2005' Note: This is a reference to "Lihui Huang" in JavaScript (ASP) script code to decrypt written '======. ================================================================================================================= = 103
Private pick_encoding, Rawdata As Integer () Private Transformed (2, 287), DIGITS (122) AS Integer
Public Sub New () initarrayData () End Sub
Private subinitaraydata () DIM i, J AS integer pick_encoding = new integer () {_ 1, 2, 0, 1, 2, 0, 2, 0, 0, 2, 0, 2, 1, 0, 2, 0 , _ 1, 0, 2, 0, 1, 1, 2, 0, 0, 2, 1, 0, 2, 0, 0, 2, _ 1, 1, 0, 2, 0, 2, 0, 1 , 0, 1, 1, 2, 0, 2, 0, 1, 1, 2, 0, 0, 1, 1, 2, 0, 1, 0, 2) }
Rawdata = new integer () {_ & H64, & H37, & H69, & H50, & H7E, & H2C, & H22, & H5A, & H65, & H4A, & H45, & H72 ,_ & H61, & H3A, & H5B, & H5E, & H79, & H66, & H5D, & H59, & H75 , & H5B, & H27, & H4C ,_ & H42, & H76, & H76, & H60, & H63, & H76, & H23, & H62, & H2A, & H65, & H4D, & H43 ,_ & H5F, & H51, & H33, & H7E, & H53, & H42, & H4F, & H52, & H20 & H52, & H20, & H63, & H7A, & H54, & H5A, & H46, & H71, & H38, & H20, & H2B, & H79 ,_ & H26, & H66, & H32, & H63, & H2A, & H57, & H2A, & H58, & H6C & H76, & H7B, & H46, & H25, & H30, & H52, & H2C, & H31, & H4F, & H29, & H6C, & H3D ,_ & H69, & H49, & H70, & H3F, & H3F, & H3F, & H27, & H78, & H7B , & H3F, & H3F, & H3F ,_ & H67, & H5F, & H51, & H3F, & H3F, & H3f, & H62, & H29, & H7A, & H41, & H24, & H7E ,_ & H5A, & H2F, & H3B, & H66, & H39, & H47, & H32, & H33, & H41 , & H73, & H6F, & H77, & H4D, & H21, & H56, & H43, & H75, & H5F, & H71, & H28, & H26, & H39, & H42, & H78, & H7C, & H46, & H64, & H53, & H4A, & H64, & H48, & H5C, & H74 , & H31, & H48, & H67 ,_ & H72, & H36, & H7D, & H6E, & H4B, & H68, & H70, & H7D, & H35, & H49, & H5D, & H22 ,_ & H3f, & H6A, & H55, & H55, & H55, &
H4B, & H50, & H3A, & H6A, & H69, & H60, & H2E, & H23, & H6A ,_ & H7F, & H9, & H71, & H28, & H70, & H6F, & H35, & H74, & H49, & H7D, & H74, & H5C ,_ & H24, & H2C, & H5D, & H2D, & H77, & H27, & H54, & H44, & H59, & H37, & H3F, & H25 ,_ & H7B, & H6D, & H7C, & H3D, & H7C, & H23, & H6C, & H43, & H6D, & H34, & H38, & H28 ,_ & H6D, & H5E, & H31, & H4E, & H5B, & H39, & H2B, & H6E, & H7F, & H30, & H57, & H36 ,_ & H6F, & H4C, & H54, & H74, & H34, & H34, & H74, & H34, & H34, & H6B, & H72, & H62, & H4C, & H25, & H4E, _ & H33, & H56, & H30, & H56, & H73, & H5E, & H3A, & H68, & H73, & H78, & H55, & H9 ,_ & H57, & H47, & H4B, & H77, & H32, & H61, & H3B, & H35, & H24, & H44, & H35, & H4D, _ & H2F, & H64, & H6B, & H59, & H4F, & H44, & H45, & H3B, & H37, & H5C, & H2D, & H37, & H68, & H41, & H53, & H36, & H61, & H58, & H58, & H7A, & H48, & H79, & H22, & H2E ,_ & H9, & H60, & H50, & H75, & H6B, & H2D, & H38, & H4E, & H29, & H55, & H3D, & H3F_} for i = 31 to 126 for j = 0 TO 2 TRANSFORMED (J, Rawdata ((i - 31) * 3 J) = IIF (i = 31, 9, i) Next Next NEXT
For i = 0 to 25 DIGITS (65 i) = I DIGITS (97 i) = i 26 next for i = 0 to 9 Digits (48 i) = i 52 Next Digits (43) = 62 DIGITS 47) = 63 End SubPrivate Function unEscape (ByVal strChar As String) As String Dim escapes As String Dim escaped As String Dim iIndex As Integer escapes = "# &! * $" escaped = Chr (13) & Chr (10) & " <> @ "If ascw (Strchar.Substring (0, 1))> 126 Then Return Strchar IINDEX = escapes.indexof (STRCHAR) IINDEX <> -1 Ten Return Escaped.Substring (IIndex, 1) Return"? "End Function
Private Function DecodeBase64 (ByVal strString As String) As Integer Dim iVal As Integer = 0 iVal = (Digits (AscW (strString.Substring (0, 1))) << 2) iVal = (Digits (AscW (strString.Substring (1, 1))) >> 4) IVAL = (DIGITS (STRSTRING.SUBSTRING (1, 1))) and & HF) << 12 IVAL = ((STRSTRING.SUBSTRING (2, 1)))) >> 2) << 8) IVAL = ((STRSTRING.SUBSTRING (2, 1)))) and & h3) << 22) IVAL = (STRSTRING.SUBSTRING (STRSTRING.SUBSTRING 3, 1))) << 16) RETURN IVAL END FUNCTION
Public Function Decode (ByRef encodingString As String) As String Dim marker As String = "# @ ~ ^" Dim stringIndex As Integer = 0 Dim scriptIndex As Integer = -1 Dim unEncodingIndex As Integer = 0 Dim strChar As String = "" Dim getCodeString As string = "" DIM unencodingLength as integer = 0dim state as integer = state_copy_input Dim unencodingstring as string = ""
While state <> 0 Select Case state Case STATE_COPY_INPUT scriptIndex = encodingString.IndexOf (marker, stringIndex) If scriptIndex <> -1 Then unEncodingString & = Mid (encodingString, stringIndex 1, scriptIndex - stringIndex) scriptIndex = marker.Length state = STATE_READLEN Else stringIndex = IIf (stringIndex = 0, 0, stringIndex) unEncodingString & = Mid (encodingString, stringIndex 1) state = 0 End If Case STATE_READLEN getCodeString = Mid (encodingString, scriptIndex 1, 6) unEncodinglength = DecodeBase64 (getCodeString) ScriptIndex = 8 state = state_decode case state_decode if unencodingLength = 0 THEN stringIndex = scriptIndex "DQgAAA == ^ # ~ @". Length unEncodingIndex = 0 state = STATE_COPY_INPUT Else strChar = Mid (encodingString, scriptIndex 1, 1) If strChar = "@" Then state = STATE_UNESCAPE unEncodingString & = UnEscape (Mid (Encodingstring, ScriptIndex 2, 1)) ScriptIndex = 2 UnencodingLength - =