一個(gè)免費(fèi)且高效的JavaScript混淆器(包括ES2017)。使您的代碼難以復(fù)制,并防止人們竊取您的作品。該工具是javascript-obfuscator@0.18.7
?Timofey Kachalov創(chuàng)建的優(yōu)秀(開源)Web UI?。
- 官方網(wǎng)站: https://obfuscator.io/
- Github:詳情
本站下載:
來源于Github
[b2_file link="https://cdn.getimg.net/npc/2019/github/javascript-obfuscator-t191218.zip" name="Obfuscator" pass="" code=""]
這是什么?
此工具可將您的原始JavaScript源代碼轉(zhuǎn)換為新的表示形式,未經(jīng)授權(quán),該表示形式將更難理解,復(fù)制,重用和修改。混淆后的結(jié)果將具有原始代碼的確切功能。
因此,就像UglifyJS,Closure Compiler等?
是的,沒有。盡管UglifyJS(和其他壓縮程序)確實(shí)使輸出代碼更難理解(壓縮和丑陋),但可以使用JS Beautifier將其輕松轉(zhuǎn)換為可讀的代碼。
該工具通過使用各種轉(zhuǎn)換和“陷阱”(例如?自衛(wèi)和調(diào)試保護(hù))來防止這種情況的發(fā)生。
混淆如何工作?
通過一系列轉(zhuǎn)換,例如變量/函數(shù)/參數(shù)重命名,字符串刪除等,您的源代碼被轉(zhuǎn)換為不可讀的內(nèi)容,而工作方式卻與以前一樣。
聽起來不錯(cuò)!
只需粘貼您的代碼或?qū)⑵渖蟼鞯较旅妫缓髥螕簟盎煜奔纯伞?/p>
另外,請(qǐng)務(wù)必閱讀所有選項(xiàng),以了解代碼保護(hù)與代碼大小/速度之間的所有權(quán)衡。
常問問題
我為什么要混淆我的JavaScript代碼?
保護(hù)代碼是個(gè)好主意的原因有很多,例如:
- 防止任何人簡(jiǎn)單地復(fù)制/粘貼您的作品。這對(duì)于100%客戶端項(xiàng)目(例如HTML5游戲)尤其重要。
- 刪除不需要的注釋和空格。使加載更快,更難以理解;
- 保護(hù)尚未支付的工作。您可以向客戶展示您的工作,知道他們?cè)谥Ц栋l(fā)票之前不會(huì)擁有源代碼。
這個(gè)混淆器絕對(duì)萬無一失嗎?
不,雖然不可能恢復(fù)確切的原始源代碼,但有時(shí)間,知識(shí)和耐心的人可以對(duì)其進(jìn)行反向工程。
由于JavaScript在瀏覽器上運(yùn)行,因此瀏覽器的JavaScript引擎必須能夠讀取和解釋它,因此無法阻止這種情況。任何承諾不誠(chéng)實(shí)的工具。
為什么我的混淆代碼比原始代碼大?
因?yàn)榛煜饕肓诵碌拇a段,旨在保護(hù)和防御調(diào)試和逆向工程。字符串也被轉(zhuǎn)換為\xAB
十六進(jìn)制代碼,使事情變得有些難以理解。您不必太擔(dān)心代碼的大小,因?yàn)橹貜?fù)的次數(shù)很多,混淆的代碼將被您的Web服務(wù)器很好地壓縮(如果您的服務(wù)器上啟用了GZIP壓縮,則如今大多數(shù)情況下都如此)。
我可以在混淆后的輸出上運(yùn)行諸如UglifyJS或Google Closure Compiler之類的壓縮程序嗎?
不,不建議這樣做,在某些情況下,它會(huì)破壞代碼(例如,如果您啟用了自衛(wèi))。不過,您可以先通過minifier運(yùn)行代碼,以確保它刪除了無效代碼并進(jìn)行了其他優(yōu)化。
您存儲(chǔ)我的源代碼嗎?
不會(huì)。源代碼是由我們的應(yīng)用程序服務(wù)器處理的,然后由混淆器處理,然后又返回到瀏覽器,因此源代碼僅在我們的服務(wù)器內(nèi)存上保留很短的時(shí)間(通常為毫秒)。
我可以從經(jīng)過混淆的代碼中恢復(fù)原始源代碼嗎?
不,不可能將混淆后的代碼恢復(fù)為原始代碼,因此請(qǐng)確保原始代碼的安全。
此工具可與Node.js源代碼一起使用嗎?
是。
我想在自己的服務(wù)器/機(jī)器上運(yùn)行混淆器。可能嗎?
當(dāng)然。該工具使用以TypeScript編寫的免費(fèi)開放源代碼(BSD-2-Clause許可)混淆器。您可以轉(zhuǎn)到其GitHub頁(yè)面并在此處閱讀更多信息。
還有許多插件,例如:webpack-obfuscator,gulp?-javascript-obfuscator?和?grunt-contrib-obfuscator。
此外,此Web應(yīng)用程序也是開源的。查看我們的GitHub。
還有哪些其他類似工具?
如果您只喜歡丑陋的代碼和壓縮的代碼,建議使用JSCompress.com。