js加密後可在網頁上運行,js加密後還能運行嗎

本文目錄一覽:

js混淆加密後 如何使用?

js這種東西,加啥密,還是jq寫的,混淆肯定容易混出問題。

你再怎麼加瀏覽器都要解析出來能跑才行,瀏覽器能跑,就意味著很好解密。

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如何加密?加密完之後如何使用?

使用內置的三個函數就行,分別是escape(),encodeURI(),以及encodeURIComponent()。

escape() 方法:

採用ISO Latin字符集對指定的字元串進行編碼。所有的空格符、標點符號、特殊字元以及其他非ASCII字元都將被轉化成%xx格式的字元編碼(xx等於該字元在字符集表裡面的編碼的16進位數字)。比如,空格符對應的編碼是%20。

不會被此方法編碼的字元: @ * / +

encodeURI() 方法:

把URI字元串採用UTF-8編碼格式轉化成escape格式的字元串。

不會被此方法編碼的字元:! @ # $ * ( ) = : / ; ? + ‘

encodeURIComponent() 方法:

把URI字元串採用UTF-8編碼格式轉化成escape格式的字元串。與encodeURI()相比,這個方法將對更多的字元進行編碼,比如 / 等字元。所以如果字元串裡面包含了URI的幾個部分的話,不能用這個方法來進行編碼,否則 / 字元被編碼之後URL將顯示錯誤。

不會被此方法編碼的字元:! * ( ) ‘

因此,對於中文字元串來說,如果不希望把字元串編碼格式轉化成UTF-8格式的(比如原頁面和目標頁面的charset是一致的時候),只需要使用

escape。如果你的頁面是GB2312或者其他的編碼,而接受參數的頁面是UTF-8編碼的,就要採用encodeURI或者

encodeURIComponent。

另外,encodeURI/encodeURIComponent是在javascript1.5之後引進的,escape則在javascript1.0版本就有。

請問我上傳一個JS文件到我的伺服器,怎麼設置別人不可以下載我的JS文件,而這個文件在網站上又能正常運行

不論怎樣別人都是可以拿到你這個文件的 即使你設置成ASP,PHP等 因為不是ASP,PHP文件,伺服器不解析,依然可以下載,而且你這個文件是在前端運行的。只要是在前端運行的文件臨時文件中都會存在,即使你網站設置成不緩存它實際上還是緩存的,只是網頁關閉緩存文件就刪除了。還有,一些開發插件都可以獲取到你這個文件內容的,比如Firefox瀏覽器下的firebug插件就可以獲取到你這個文件內容。所以,如果別人想拿到前端運行的文件你是阻止不了的。

把自己做的JS加密後自己的html網頁要怎麼調用?

前端js都是明碼調用的,即使用了所謂的加密,最終還是要在內存中解密後才能執行,懂的人只要稍加手段就能獲得解密後的代碼,最多只能做到防君子不防小人。一些敏感的操作務必放到後台伺服器去執行,不要放到前端腳本中。所以建議最好不要對js做加密處理,否則輕則降低運行效率,重則造成運行錯誤甚至完全失效,簡直是畫蛇添足!

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/244656.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:03
下一篇 2024-12-12 13:03

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • python爬取網頁並生成表格

    本文將從以下幾個方面詳細介紹如何使用Python爬取網頁數據並生成表格: 一、獲取網頁數據 獲取網頁數據的一般思路是通過HTTP請求獲取網頁內容,最常用的方式是使用Python庫r…

    編程 2025-04-28
  • 網頁防篡改的重要性和市場佔有率

    網頁防篡改對於保護網站安全和用戶利益至關重要,而市場上針對網頁防篡改的產品和服務也呈現出不斷增長的趨勢。 一、市場佔有率 據不完全統計,目前全球各類網頁防篡改產品和服務的市場規模已…

    編程 2025-04-28
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • Python編程實戰:用Python做網頁與HTML

    Python語言是一種被廣泛應用的高級編程語言,也是一種非常適合於開發網頁和處理HTML的語言。在本文中,我們將從多個方面介紹如何用Python來編寫網頁和處理HTML。 一、Py…

    編程 2025-04-28
  • Python爬取網頁信息

    本文將從多個方面對Python爬取網頁信息做詳細的闡述。 一、爬蟲介紹 爬蟲是一種自動化程序,可以模擬人對網頁進行訪問獲取信息的行為。通過編寫代碼,我們可以指定要獲取的信息,將其從…

    編程 2025-04-28
  • JS圖片沿著SVG路徑移動實現方法

    本文將為大家詳細介紹如何使用JS實現圖片沿著SVG路徑移動的效果,包括路徑製作、路徑效果、以及實現代碼等內容。 一、路徑製作 路徑的製作,我們需要使用到SVG,SVG是可縮放矢量圖…

    編程 2025-04-27
  • 使用Python轉髮網頁內容

    Python是一種廣泛使用的編程語言,它在網路爬蟲、數據分析、人工智慧等領域都有廣泛的應用。其中,使用Python轉髮網頁內容也是一個常見的應用場景。在本文中,我們將從多個方面詳細…

    編程 2025-04-27

發表回復

登錄後才能評論