Tutorials to .com

Tutorials to .com » Asp » Skills » Bulk of the encryption decryption asp code asp program

Bulk of the encryption decryption asp code asp program

Print View , by: iSee ,Total views: 3 ,Word Count: 1610 ,Date: Sun, 23 Aug 2009 Time: 4:08 AM

<% @ Language = "JavaScript"%>
<%

/ *
*--------------- Decode.asp -----------------
* Functions: a directory traversal of all the documents have been encrypted. asp files
* Decrypt, and write the source file.
* Example: a single file decryption
* Response.Write (DncodeFile (Server.MapPath ( "conn.asp ")));
* Example: to decrypt all the files directory.
* DncodeFolderFiles (Server.MapPath ( "xml"))
* Author: wanghr100 (gray baby beans. Net)
* Update :2004-5-17 11:31
*--------------- Decode.asp -----------------
* /

function DncodeFile (sFilePath)
(
/ *
*--------------- DncodeFile (sFilePath) -----------------
* DncodeFile (sFilePath)
* Function: to open the file sFilePath, Encode decryption, re-writing the file.
* Parameters: sFilePath, string, paper path.
* Return: sFilePath, the path to the file.
* Example: Response.Write (DncodeFile (Server.MapPath ( "conn.asp ")));
* Author: wanghr100 (gray baby beans. Net)
* Update :2004-5-17 0:58
*--------------- DncodeFile (sFilePath) -----------------
* /
var ForReading = 1, ForWriting = 2, ForAppending = 8;
var fso = Server.CreateObject ( "Scripting.FileSystemObject");
var f = fso.OpenTextFile (sFilePath, ForReading, true);
sFileText = f.ReadAll ();
f.Close ();
sDncodeText = strdec (sFileText)
var f = fso.OpenTextFile (sFilePath, ForWriting, true);
f.Write (sDncodeText);
f.Close ();
/ / return sDncodeText;
return sFilePath;
)

function GetFilesPath (sFolderPath)
(
/ *
*--------------- GetFilesPath (sFolderPath) -----------------
* GetFilesPath (sFolderPath)
* Function: sFolderPath traversal of all the files directory. Back to the array. Storage file path.
* Parameters: sFolderPath, string, directory absolute path.
* Example: Response.Write (GetFilesPath (Server.MapPath ( "xml")))
* Update :2004-5-12 8:33
* Author: wanghr100 (gray baby beans. Net)
*--------------- GetFilesPath (sFolderPath) -----------------
* /
var sFilePath = new Array ();
var fso = Server.CreateObject ( "Scripting.FileSystemObject");
var oFolder = fso.GetFolder (sFolderPath);
var oSubFolders = oFolder.SubFolders;
var oFiles = oFolder.Files;
icount = oFiles.Count;

var enmFiles = new Enumerator (oFiles);
for (;! enmFiles.atEnd (); enmFiles.moveNext ())
(
sFilePath [sFilePath.length] = enmFiles.item (). Path
)

var enmFolders = new Enumerator (oSubFolders);
for (;! enmFolders.atEnd (); enmFolders.moveNext ())
(
/ * Old has become a multi-dimensional array. * /
/ / sFilePath [sFilePath.length] = GetFilesPath (enmFolders.item (). Path);
/ * Add 2004-5-17 11:09 just for one-dimensional array * /
sFilePath = sFilePath.concat (GetFilesPath (enmFolders.item (). Path));
)

return sFilePath;

)

function GetFileType (sFileName)
(
/ *
*--------------- GetFileType (sFileName) -----------------
* GetFileType (sFileName)
* Function: The suffix to obtain the file type sFileName.
* Parameters: sFileName, string, file name.
* Example: Response.Write (GetFileType ( "decode.asp"))
* Update :2004-5-13 8:33
* Author: wanghr100 (gray baby beans. Net)
*--------------- GetFileType (sFileName) -----------------
* /
sFileName = String (sFileName);
return sFileName.split (".")[ sFileName.split ("."). length-1];
)

/ * Start decryption to achieve: Lee glorious Start * /
function screncode (s, l)
(enc = new ActiveXObject ( "Scripting.Encoder");
return enc.EncodeScriptFile ("."+ l, s, 0, l + "cript");
)


var STATE_COPY_INPUT = 100
var STATE_READLEN = 101
var STATE_DECODE = 102
var STATE_UNESCAPE = 103

var pick_encoding = new Array (
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, 1, 0, 2,
1, 0, 2, 0, 1, 1, 2, 0, 0, 1, 1, 2, 0, 1, 0, 2
)

var rawData = new Array (
0x64, 0x37, 0x69, 0x50, 0x7E, 0x2C, 0x22, 0x5A, 0x65, 0x4A, 0x45, 0x72,
0x61, 0x3A, 0x5B, 0x5E, 0x79, 0x66, 0x5D, 0x59, 0x75, 0x5B, 0x27, 0x4C,
0x42, 0x76, 0x45, 0x60, 0x63, 0x76, 0x23, 0x62, 0x2A, 0x65, 0x4D, 0x43,
0x5F, 0x51, 0x33, 0x7E, 0x53, 0x42, 0x4F, 0x52, 0x20, 0x52, 0x20, 0x63,
0x7A, 0x26, 0x4A, 0x21, 0x54, 0x5A, 0x46, 0x71, 0x38, 0x20, 0x2B, 0x79,
0x26, 0x66, 0x32, 0x63, 0x2A, 0x57, 0x2A, 0x58, 0x6C, 0x76, 0x7F, 0x2B,
0x47, 0x7B, 0x46, 0x25, 0x30, 0x52, 0x2C, 0x31, 0x4F, 0x29, 0x6C, 0x3D,
0x69, 0x49, 0x70, 0x3F, 0x3F, 0x3F, 0x27, 0x78, 0x7B, 0x3F, 0x3F, 0x3F,
0x67, 0x5F, 0x51, 0x3F, 0x3F, 0x3F, 0x62, 0x29, 0x7A, 0x41, 0x24, 0x7E,
0x5A, 0x2F, 0x3B, 0x66, 0x39, 0x47, 0x32, 0x33, 0x41, 0x73, 0x6F, 0x77,
0x4D, 0x21, 0x56, 0x43, 0x75, 0x5F, 0x71, 0x28, 0x26, 0x39, 0x42, 0x78,
0x7C, 0x46, 0x6E, 0x53, 0x4A, 0x64, 0x48, 0x5C, 0x74, 0x31, 0x48, 0x67,
0x72, 0x36, 0x7D, 0x6E, 0x4B, 0x68, 0x70, 0x7D, 0x35, 0x49, 0x5D, 0x22,
0x3F, 0x6A, 0x55, 0x4B, 0x50, 0x3A, 0x6A, 0x69, 0x60, 0x2E, 0x23, 0x6A,
0x7F, 0x09, 0x71, 0x28, 0x70, 0x6F, 0x35, 0x65, 0x49, 0x7D, 0x74, 0x5C,
0x24, 0x2C, 0x5D, 0x2D, 0x77, 0x27, 0x54, 0x44, 0x59, 0x37, 0x3F, 0x25,
0x7B, 0x6D, 0x7C, 0x3D, 0x7C, 0x23, 0x6C, 0x43, 0x6D, 0x34, 0x38, 0x28,
0x6D, 0x5E, 0x31, 0x4E, 0x5B, 0x39, 0x2B, 0x6E, 0x7F, 0x30, 0x57, 0x36,
0x6F, 0x4C, 0x54, 0x74, 0x34, 0x34, 0x6B, 0x72, 0x62, 0x4C, 0x25, 0x4E,
0x33, 0x56, 0x30, 0x56, 0x73, 0x5E, 0x3A, 0x68, 0x73, 0x78, 0x55, 0x09,
0x57, 0x47, 0x4B, 0x77, 0x32, 0x61, 0x3B, 0x35, 0x24, 0x44, 0x2E, 0x4D,
0x2F, 0x64, 0x6B, 0x59, 0x4F, 0x44, 0x45, 0x3B, 0x21, 0x5C, 0x2D, 0x37,
0x68, 0x41, 0x53, 0x36, 0x61, 0x58, 0x58, 0x7A, 0x48, 0x79, 0x22, 0x2E,
0x09, 0x60, 0x50, 0x75, 0x6B, 0x2D, 0x38, 0x4E, 0x29, 0x55, 0x3D, 0x3F
)

var transformed = new Array ()
for (var i = 0; i <3; i + +) transformed [i] = new Array ()
for (var i = 31; i <= 126; i + +) for (var j = 0; j <3; j + +) transformed [j] [rawData [(i-31) * 3 + j]] = (i == 31)? 9: i

var digits = new Array ()
for (var i = 0; i <26; i + +)
(
digits [ "A". charCodeAt (0) + i] = i
digits [ "a". charCodeAt (0) + i] = i +26
)
for (var i = 0; i <10; i + +) digits [ "0". charCodeAt (0) + i] = i +52
digits [0x2b] = 62
digits [0x2f] = 63

function unescape (char)
(
var escapes = "#&!*$"
var escaped = "\ r \ n <> @"

if (char.charCodeAt (0)> 126) return char
if (escapes.indexOf (char)! = -1) return escaped.substr (escapes.indexOf (char), 1)
return "?"
)

function decodeBase64 (string)
(
var val = 0
val + = (digits [string.substr (0,1). charCodeAt (0)] <<2)
val + = (digits [string.substr (1,1). charCodeAt (0)]>> 4)
val + = (digits [string.substr (1,1). charCodeAt (0)] & 0xf) <<12
val + = ((digits [string.substr (2,1). charCodeAt (0)]>> 2) <<8)
val + = ((digits [string.substr (2,1). charCodeAt (0)] & 0x3) <<22)
val + = (digits [string.substr (3,1). charCodeAt (0)] <<16)
return val
)

function strdec (encodingString)
(

var marker = "#@~^"
var stringIndex = 0
var scriptIndex = -1
var unEncodingIndex = 0
var char = null
var encodingLength = unEncodinglength = 0
var state = STATE_COPY_INPUT
var unEncodingString = ""
var re, arr

while (state)
(
switch (state)
(
case (STATE_COPY_INPUT):
scriptIndex = encodingString.indexOf (marker, stringIndex)
if (scriptIndex! = -1)
(
unEncodingString + = encodingString.substring (stringIndex, scriptIndex)
scriptIndex + = marker.length
state = STATE_READLEN
)
else
(
stringIndex = stringIndex == 0? 0: stringIndex
unEncodingString + = encodingString.substr (stringIndex, encodingString.length)
state = 0
)
break

case (STATE_READLEN):
encodingLength = encodingString.substr (scriptIndex, 6)
unEncodinglength = decodeBase64 (encodingLength)
scriptIndex + = (6 + "==". length)
state = STATE_DECODE
break

case (STATE_DECODE):
if (! unEncodinglength)
(
stringIndex = scriptIndex + "DQgAAA ==^#~@". length
unEncodingIndex = 0
state = STATE_COPY_INPUT
break
)
char = encodingString.substr (scriptIndex, 1)
if (char == "@") state = STATE_UNESCAPE
else
(
if (char.charCodeAt (0) <0xFF)
(
unEncodingString + = String.fromCharCode (transformed [pick_encoding [unEncodingIndex% 64]] [char.charCodeAt (0)])
unEncodingIndex + +
)
else
(
unEncodingString + = char
)
scriptIndex + +
unEncodinglength --
break
)

case STATE_UNESCAPE:
unEncodingString + = unescape (encodingString.substr (+ + scriptIndex, 1))
scriptIndex + +; unEncodinglength -= 2
unEncodingIndex + +
state = STATE_DECODE
break
)
)

re = new RegExp ( "(JScript | VBscript). encode", "gmi")
while (arr = re.exec (unEncodingString)) unEncodingString = RegExp.leftContext + RegExp. $ 1 + RegExp.rightContext
return unEncodingString
)

/ * End decryption to achieve: Li brilliant End * /


function DncodeFolderFiles (sFolderPath)
(
/ *
*--------------- DncodeFolderFiles (sFolderPath) -----------------
* DncodeFolderFiles (sFolderPath)
* Function: directory traversal sFolderPath all documents encrypted. Asp files
* Decrypt, and write the source file.
* Examples: DncodeFolderFiles (Server.MapPath ( "xml"));
* Author: wanghr100 (gray baby beans. Net)
* Update :2004-5-17 8:07
*--------------- DncodeFolderFiles (sFolderPath) -----------------
* /
var arrFiles = GetFilesPath (sFolderPath)
for (var i = 0; i <arrFiles.length; i + +)
(
if (GetFileType (arrFiles [i ])==" asp ")
(
Response.Write (DncodeFile (arrFiles [i]))
Response.Write ( "OK. <br>")
)
)
)

/ / Get all xml files directory. Declassified.
DncodeFolderFiles (Server.MapPath ( "xml"))
/ / Get t.asp. Declassified.
/ / Response.Write (DncodeFile (Server.MapPath ( "t.asp")))
%>


ASP skills Articles


Can't Find What You're Looking For?


Rating: Not yet rated

Comments

No comments posted.