本文目錄一覽:
js如何加密源代碼,頁面樣式全部用js寫,如何操作?
js加密,可以用JShaman實現,
網頁源碼加密,可以用ShareWAF,
你這兩個需求,都是能實現的,
急求破解一段加密JS代碼
這樣的代碼是unicode編碼,瀏覽器直接認識,還有其他很多好處,加密啊,解決js斷行什麼的,騙外行也可以
以後直接放到瀏覽器的console裏面執行一下,就能看到結果了
var _0x3d69 =
[“getElementById”, “top”, “mv”, “mh”, “c”, “che”, “downp”, “nifav://”, “-“, “favv”, “getDate”, “setDate”, “cookie”, “=”, “;expires=”, “toGMTString”, “;path=/;domain=520yan.us”, “host”, “520yan.us”, “indexOf”, “href”, “location”, “about:blank”, “(^| )”, “=([^;]*)(;|$)”, “match”, “”, “onclick”, “XMLHttpRequest”, “overrideMimeType”, “text/xml”, “ActiveXObject”, “Msxml2.XMLHTTP”, “Microsoft.XMLHTTP”, “get”, “u/js/u.asp?”, “random”, “open”, “send”, “readyState”, “status”, “innerHTML”, “nibau”, “responseText”, “display”, “style”, “ev”, “none”, “用戶登錄”, “u/dl.htm”, “ow”, “用戶註冊”, “u/reg.htm”]
如何對JS代碼加密
JS加密其實就是對字符進行編碼,也不是一定要用工具有兩個函數的document.write(escape(“你好,這是測試!”)+”br”);
document.write(unescape(“%u4F60%u597D%uFF0C%u8FD9%u662F%u6D4B%u8BD5%uFF01”));
JS加密方法
本文一共介紹了七種方法:
一:最簡單的加密解密
二:轉義字符””的妙用
三:使用Microsoft出品的腳本編碼器Script Encoder來進行編碼 (自創簡單解碼)
四:任意添加NUL空字符(十六進制00H) (自創)
五:無用內容混亂以及換行空格TAB大法
六:自寫解密函數法
七:錯誤的利用 (自創)
在做網頁時(其實是網頁木馬呵呵),最讓人煩惱的是自己辛辛苦苦寫出來的客戶端IE運行的JAVASCRIPT代碼常常被別人輕易的拷貝,實在讓自己的心裏有點不是滋味,要知道自己寫點東西也挺累的……^*^
但我們也應該清楚地認識到因為JAVASCRIPT代碼是在IE中解釋執行,要想絕對的保密是不可能的,我們要做的就是儘可能的增大拷貝者複製的難度,讓他知難而退(但願~!~),下面我結合自己這幾年來的實踐,及個人研究的心得,和大家一起來探討一下網頁中JAVASCRIPT代碼的加密解密技術。
以加密下面的JAVASCRIPT代碼為例:
SCRIPT LANGUAGE=”JavaScript”
alert(“《黑客防線》”);
/SCRIPT
一:最簡單的加密解密
大家對於JAVASCRIPT函數escape()和unescape()想必是比較了解啦(很多網頁加密在用它們),分別是編碼和解碼字符串,比如例子代碼用escape()函數加密後變為如下格式:
alert%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B
如何?還看的懂嗎?當然其中的ASCII字符”alert”並沒有被加密,如果願意我們可以寫點JAVASCRIPT代碼重新把它加密如下:
%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B
呵呵!如何?這次是完全都加密了!
當然,這樣加密後的代碼是不能直接運行的,幸好還有eval(codeString)可用,這個函數的作用就是檢查JavaScript代碼並執行,必選項 codeString 參數是包含有效 JavaScript 代碼的字符串值,加上上面的解碼unescape(),加密後的結果如下:
SCRIPT LANGUAGE=”JavaScript”
var code=unescape(“%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B”);
eval(code)
/SCRIPT
是不是很簡單?不要高興,解密也就同樣的簡單,解密代碼都擺給別人啦(unescape())!呵呵
二:轉義字符””的妙用
大家可能對轉義字符””不太熟悉,但對於JavaScript提供了一些特殊字符如:n (換行)、 r (回車)、’ (單引號 )等應該是有所了解的吧?其實””後面還可以跟八進制或十六進制的數字,如字符”a”則可以表示為:”141″或”x61″(注意是小寫字符”x”),至於雙位元組字符如漢字”黑”則僅能用十六進制表示為”u9ED1″(注意是小寫字符”u”),其中字符”u”表示是雙位元組字符,根據這個原理例子代碼則可以表示為:
八進制轉義字符串如下:
SCRIPT LANGUAGE=”JavaScript”
eval(“1411541451621645042u9ED1u5BA2u9632u7EBF425173”)
/SCRIPT
十六進制轉義字符串如下:
SCRIPT LANGUAGE=”JavaScript”
eval(“x61x6Cx65x72x74x28x22u9ED1u5BA2u9632u7EBFx22x29x3B”)
/SCRIPT
這次沒有了解碼函數,因為JavaScript執行時會自行轉換,同樣解碼也是很簡單如下:
SCRIPT LANGUAGE=”JavaScript”
alert(“x61x6Cx65x72x74x28x22u9ED1u5BA2u9632u7EBFx22x29x3B”)
/SCRIPT
就會彈出對話框告訴你解密後的結果!
介紹一點js加密的方法
一:最簡單的加密解密
大家對於JAVASCRIPT函數escape()和unescape()想必是比較了解啦(很多網頁加密在用它們),分別是編碼和解碼字符串,比如例子代碼用escape()函數加密後變為如下格式:
alert%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B
如何?還看的懂嗎?當然其中的ASCII字符”alert”並沒有被加密,如果願意我們可以寫點JAVASCRIPT代碼重新把它加密如下:
%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B
呵呵!如何?這次是完全都加密了!
當然,這樣加密後的代碼是不能直接運行的,幸好還有eval(codeString)可用,這個函數的作用就是檢查JavaScript代碼並執行,必選項 codeString 參數是包含有效 JavaScript 代碼的字符串值,加上上面的解碼unescape(),加密後的結果如下:
SCRIPT LANGUAGE=”JavaScript”
var code=unescape(“%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B”);
eval(code)
/SCRIPT
是不是很簡單?不要高興,解密也就同樣的簡單,解密代碼都擺給別人啦(unescape())!呵呵
二:轉義字符”\”的妙用
大家可能對轉義字符”\”不太熟悉,但對於JavaScript提供了一些特殊字符如:\n (換行)、 \r (回車)、\’ (單引號 )等應該是有所了解的吧?其實”\”後面還可以跟八進制或十六進制的數字,如字符”a”則可以表示為:”\141″或”\x61″(注意是小寫字符”x”),至於雙位元組字符如漢字”黑”則僅能用十六進制表示為”\u9ED1″(注意是小寫字符”u”),其中字符”u”表示是雙位元組字符,根據這個原理例子代碼則可以表示為:
八進制轉義字符串如下:
SCRIPT LANGUAGE=”JavaScript”
eval(“\141\154\145\162\164\50\42\u9ED1\u5BA2\u9632\u7EBF\42\51\73”)
/SCRIPT
十六進制轉義字符串如下:
SCRIPT LANGUAGE=”JavaScript”
eval(“\x61\x6C\x65\x72\x74\x28\x22\u9ED1\u5BA2\u9632\u7EBF\x22\x29\x3B”)
/SCRIPT
這次沒有了解碼函數,因為JavaScript執行時會自行轉換,同樣解碼也是很簡單如下:
SCRIPT LANGUAGE=”JavaScript”
alert(“\x61\x6C\x65\x72\x74\x28\x22\u9ED1\u5BA2\u9632\u7EBF\x22\x29\x3B”)
/SCRIPT
就會彈出對話框告訴你解密後的結果!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/248475.html