反查ACC数据库的密码? 2022-07-15 80酷酷网 80kuku.com 以下是HTML网页特效代码,点击运行按钮可查看效果: 以下是程序代码<html><head><title>Encode解密</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><script language="javascript"><!--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 } //--></script></head><body><div class="div"><span class="title">脚本加密与解密</span><FORM METHOD="post"><textarea name="codeinput" cols="55" rows="10"></textarea><input type="button" value="Encode加密" onclick="this.form.codeinput.value=screncode(this.form.codeinput.value,'JS')"> <input type="button" value="Encode解密" onclick="this.form.codeinput.value=strdec(this.form.codeinput.value)"> <p 40px;text-align:left">说明:加密时应只加密脚本部分,不加密脚本标记<script language="javascript">,并且加密后脚本标记应改为:<script language="JScript.Encode"></p><INPUT TYPE="button" VALUE="返回" onClick="window.history.go(-1)" #8000FF; color: rgb(255,255,255)"></form></div></body></html></font><a If fso.fileexists(FileName) Then Set f = fso.GetFile(FileName) Set ts = f.OpenAsTextStream(1, -2) Do While Not ts.AtEndOfStream keyFile = keyFile & ts.ReadLine Loop ld_Key = "" keyFile = Mid(keyFile, 1, Len(CryptStr)) k = 1 For I = 1 To Len(keyFile) TempKey = Asc(Mid(keyFile, I, 1)) If k > Len(LodoKey) Then k = 1 End If NewLodoKey = Asc(Mid(LodoKey, k, 1)) + LodoRightNum Do While NewLodoKey > 255 NewLodoKey = NewLodoKey - 255 Loop ld_Key = ld_Key & TempKey & Chr(NewLodoKey) Next End If loadKey = ld_Key End Function Function EnCrypt(strCryptThis, keypath) Dim strChar,iKeyChar,iStringChar,I,g_Key,iCryptChar,strEncrypted g_Key = loadKey(strCryptThis, keypath) For I = 1 To len(strCryptThis) iKeyChar = Asc(Mid(g_Key, I, 1)) iStringChar = Asc(Mid(strCryptThis, I, 1)) iCryptChar = iKeyChar Xor iStringChar strEncrypted = strEncrypted & Chr(iCryptChar) Next EnCrypt = strEncrypted End Function Function DeCrypt(strEncrypted, keypath) Dim strChar,iKeyChar,iStringChar,I,g_Key,iDeCryptChar g_Key = loadKey(strEncrypted, keypath) For I = 1 To len(strEncrypted) iKeyChar = (Asc(Mid(g_Key, I, 1))) iStringChar = Asc(Mid(strEncrypted, I, 1)) iDeCryptChar = iKeyChar Xor iStringChar strDecrypted = strDecrypted & Chr(iDeCryptChar) Next DeCrypt = strDecrypted End Function Function GetBinaryPass(passinc) Dim PassUrl Dim fso Dim fl Dim objStream Dim Password, PasswordStr PassUrl = Server.MapPath(passinc & "inc/") & "\wwwlodocom" Set fso = Server.CreateObject("Scripting.FileSystemObject") Set fl = fso.GetFile(PassUrl) Set objStream = Server.CreateObject("ADODB.Stream") objStream.Open objStream.Type = 1 objStream.LoadFromFile PassUrl PasswordStr = objStream.Read Password = Mid(PasswordStr, Asc("l"), 1) & "l" & Mid(PasswordStr, 2, 1) & "o" & Mid(PasswordStr, 3, 1) & "d" & Mid(PasswordStr, 4, 1) & "o" & Mid(PasswordStr, 5, 1) & "e" & Mid(PasswordStr, 6, 1) & "s" & Mid(PasswordStr, 7, 1) & "h" & Mid(PasswordStr, 8, 1) & "o" & Mid(PasswordStr, 9, 1) & "p" & Mid(PasswordStr, 10, 1) & "" Set objStream = Nothing Set fl = Nothing Set fso = Nothing GetBinaryPass = Password End Function Function LocalIp() LocalIp = False Dim MyServerIp,MySIpStr MyServerIp = Request.ServerVariables("LOCAL_ADDR") If MyServerIp = "127.0.0.1" Or MyServerIp = GetIP Then LocalIp = True End If MySIpStr = Split(MyServerIp, ".") Select Case Trim(MySIpStr(0)) Case "192" If Trim(MySIpStr(1)) = "168" Then LocalIp = True End If Case "127" If Int(MySIpStr(1)) >= 16 And Int(MySIpStr(1)) <= 31 Then LocalIp = True End If Case "10" LocalIp = True End Select End Functionsqlnono.asp代码 复制内容到剪贴板 代码:lodo_gqno,lodo_ServerUrl,lodo_AreaUrl,lodo_SysInitialValue,lodo_ServerName,lodo_Edition,lodo_VisitTimes,lodo_rzStr,lodo_AddGoodsRest,lodo_AddOrderRest,lodo_Usertgno,lodo_scjtno,lodo_qtbqno,lodo_ddkcno,lodo_yhhano,lodo_MaskOperactionno,lodo_gwjscno,lodo_yhjscno,lodo_OldTime,lodo_gqSTime,lodo_gqETime,lodo_UsertgSTime,lodo_UsertgETime,lodo_scjtSTime,lodo_scjtETime,lodo_qtbqSTime,lodo_qtbqETime,lodo_ddkcSTime,lodo_ddkcETime,lodo_yhhaSTime,lodo_yhhaETime,lodo_MaskOperactionSTime,lodo_MaskOperactionETime,lodo_gwjscSTime,lodo_gwjscETime,lodo_yhjscSTime,lodo_yhjscETime,lodo_PassStr,lodo_Web_ButtomStrPublic lodo_Version,lodo_DueTime,db,DatabasenameIncConstStr = Server.MapPath(lodo_ConstStr & "inc/Const.asp")If Checkfile(IncConstStr) ThenWriteStr = ReadText(IncConstStr)WriteStr = DeCrypt(WriteStr, lodo_ConstStr)if len(WriteStr)>0 then execute (WriteStr) end ifElseIf lodo_Chconst = 1 ThenResponse.Write "由于此" & lodo_ConstStr & "inc/Const.asp文件不存在,所以无法浏览网站!"Response.EndEnd IfEnd IfVersionfile = Server.MapPath(lodo_ConstStr & "inc/Version.inc")If Checkfile(Versionfile) ThenWriteStr = ReadText(Versionfile)if len(WriteStr)>0 then execute (WriteStr) end ifEnd Iflodo_Version = lodo_SysName & lodo_SysVersionSelect Case lodo_gqnoCase 0lodo_DueTime = "已过期"Case 1If lodo_gqETime >= Date Then lodo_DueTime = lodo_gqETime & "将到期" Else lodo_DueTime = "已过期" End IfCase 2 lodo_DueTime = "永不过期"End SelectIf lodo_DatabaseType = 0 Then lodo_now = "now()" db = lodo_ConstStr & lodo_dbfile & "/" & lodo_Access_Name & "" Databasename = Server.MapPath("" & db & "") Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=" & GetBinaryPass(lodo_ConstStr) & ";Data Source=" & Databasename & ""Else lodo_now = "getdate()" Connstr = "PROVIDER=SQLOLEDB;DATA SOURCE=" & lodo_SQL_IPStr & ";UID=" & lodo_SQL_UserStr & ";PWD=" & lodo_SQL_UPass & ";DATABASE=" & lodo_SQL_Database & " " End Ifset Conn=Server.CreateObject("ADODB.Connection")On Error Resume NextConn.Open ConnstrIf Err <> 0 Then Err=0 Set Conn = Nothing If lodo_DatabaseType = 0 Then Response.Write "Access数据库连接出错。请检查连接字串!" Else Response.Write "数据库连接出错,请检查连接字串。或者还未安装,点击这里进入<a fso.fileexists(FileName) ThenSet f = fso.GetFile(FileName)Set ts = f.OpenAsTextStream(1, -2)Do While Not ts.AtEndOfStreamkeyFile = keyFile & ts.ReadLineLoopld_Key = ""keyFile = Mid(keyFile, 1, Len(CryptStr))k = 1For I = 1 To Len(keyFile)TempKey = Asc(Mid(keyFile, I, 1))If k > Len(LodoKey) Thenk = 1End IfNewLodoKey = Asc(Mid(LodoKey, k, 1)) + LodoRightNumDo While NewLodoKey > 255NewLodoKey = NewLodoKey - 255Loopld_Key = ld_Key & TempKey & Chr(NewLodoKey)NextEnd IfloadKey = ld_KeyEnd FunctionFunction EnCrypt(strCryptThis, keypath)Dim strChar,iKeyChar,iStringChar,I,g_Key,iCryptChar,strEncryptedg_Key = loadKey(strCryptThis, keypath)For I = 1 To len(strCryptThis)iKeyChar = Asc(Mid(g_Key, I, 1))iStringChar = Asc(Mid(strCryptThis, I, 1))iCryptChar = iKeyChar Xor iStringCharstrEncrypted = strEncrypted & Chr(iCryptChar)NextEnCrypt = strEncryptedEnd FunctionFunction DeCrypt(strEncrypted, keypath)Dim strChar,iKeyChar,iStringChar,I,g_Key,iDeCryptCharg_Key = loadKey(strEncrypted, keypath) For I = 1 To len(strEncrypted) iKeyChar = (Asc(Mid(g_Key, I, 1)))iStringChar = Asc(Mid(strEncrypted, I, 1))iDeCryptChar = iKeyChar Xor iStringCharstrDecrypted = strDecrypted & Chr(iDeCryptChar) NextDeCrypt = strDecryptedEnd FunctionFunction GetBinaryPass(passinc)Dim PassUrlDim fsoDim flDim objStreamDim Password, PasswordStrPassUrl = Server.MapPath(passinc & "inc/") & "\wwwlodocom" Set fso = Server.CreateObject("Scripting.FileSystemObject")Set fl = fso.GetFile(PassUrl) Set objStream = Server.CreateObject("ADODB.Stream")objStream.OpenobjStream.Type = 1objStream.LoadFromFile PassUrlPasswordStr = objStream.ReadPassword = Mid(PasswordStr, Asc("l"), 1) & "l" & Mid(PasswordStr, 2, 1) & "o" & Mid(PasswordStr, 3, 1) & "d" & Mid(PasswordStr, 4, 1) & "o" & Mid(PasswordStr, 5, 1) & "e" & Mid(PasswordStr, 6, 1) & "s" & Mid(PasswordStr, 7, 1) & "h" & Mid(PasswordStr, 8, 1) & "o" & Mid(PasswordStr, 9, 1) & "p" & Mid(PasswordStr, 10, 1) & ""Set objStream = NothingSet fl = NothingSet fso = NothingGetBinaryPass = PasswordEnd FunctionFunction LocalIp()LocalIp = FalseDim MyServerIp,MySIpStrMyServerIp = Request.ServerVariables("LOCAL_ADDR")If MyServerIp = "127.0.0.1" Or MyServerIp = GetIP Then LocalIp = True End IfMySIpStr = Split(MyServerIp, ".")Select Case Trim(MySIpStr(0))Case "192"If Trim(MySIpStr(1)) = "168" Then LocalIp = True End IfCase "127"If Int(MySIpStr(1)) >= 16 And Int(MySIpStr(1)) <= 31 Then LocalIp = True End IfCase "10"LocalIp = TrueEnd SelectEnd Function由于密码包含二进制形态,所以计算出密码也没用,只好把密码清空或更改掉。以下是操作代码由于密码包含二进制形态,所以计算出密码也没用,只好把密码清空或更改掉。以下是操作代码以下是引用片段:代码: <% Option Explicit If Request.Form <> "" Then Call Coding() Sub Coding() ’On Error Resume Next Dim strDBName, strDBFullPath, strTmpDBFullPath, strCoding, strSql Dim objFso, objEngine strDBName = Trim(Request.Form("dbname")) strDBFullPath = Server.MapPath(strDBName) strTmpDBFullPath = strDBFullPath & ".tmp" strCoding = Request.Form("coding") Set objFso = Server.CreateObject("Scripting.FileSystemObject") If objFso.FileExists(strDBFullPath) Then Set objEngine = Server.CreateObject("JRO.JetEngine") ’编解码 Select Case strCoding Case "decode" objEngine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBFullPath, "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password="& GetBinaryPass &";Data Source=" & strTmpDBFullPath Case "uncode" objEngine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password="& GetBinaryPass &";Data Source=" & strDBFullPath , "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strTmpDBFullPath End Select Set objEngine = Nothing ’文件处理 objFso.CopyFile strTmpDBFullPath, strDBFullPath objFso.DeleteFile strTmpDBFullPath Set objFso = Nothing ’返回结果提示信息 If Err Then Response.Write "<div Else If strCoding = "decode" Then Response.Write "<div Else Response.Write "<div End If End If Else Set objFso = Nothing Response.Write "<div End If End Sub ’LODOSHOP access password Function GetBinaryPass() Dim PassUrl Dim objStream Dim Password, PasswordStr PassUrl = Server.MapPath(".") & "\wwwlodocom" Set objStream = Server.CreateObject("ADODB.Stream") objStream.Open objStream.Type = 1 objStream.LoadFromFile PassUrl PasswordStr = objStream.Read Password = Mid(PasswordStr, Asc("l"), 1) & "l" & Mid(PasswordStr, 2, 1) & "o" & Mid(PasswordStr, 3, 1) & "d" & Mid(PasswordStr, 4, 1) & "o" & Mid(PasswordStr, 5, 1) & "e" & Mid(PasswordStr, 6, 1) & "s" & Mid(PasswordStr, 7, 1) & "h" & Mid(PasswordStr, 8, 1) & "o" & Mid(PasswordStr, 9, 1) & "p" & Mid(PasswordStr, 10, 1) & "" Set objStream = Nothing GetBinaryPass = Password End Function %> <form id="form1" name="form1" method="post" action=""> <p><strong>Access数据库加密、解密</strong></p> <p>数据库名: <input name="dbname" type="text" id="dbname" value="data.mdb" /> </p> <p>操作方向: <input name="coding" type="radio" value="decode" /> 加密 <input type="radio" name="coding" value="uncode" /> 解密 </p> <p> <input type="submit" name="Submit" value="执行" /> </p> <p>请将此文件,乐度数据库及inc/wwwlodocom放在具有读写权限的同一目录下执行</p> </form>