JSFuck工具

使用6個字符 []()!+ 編碼JavaScript代碼

JSFuck基礎構造

false: ![]
true: !![]
0: +[]
1: +!+[]
"f": (![]+[])[+[]]
"a": (![]+[])[+!+[]]
"l": (![]+[])[!+[]+!+[]]
"s": (![]+[])[!+[]+!+[]+!+[]]

JSFuck說明

原理: 僅使用6個字符 [ ] ( ) ! + 來編寫和執行JavaScript代碼。

核心技巧: 利用JavaScript的類型轉換特性,從基礎值構造所有字符和函數。

限制: 編碼後的代碼極其冗長,一個簡單的alert()可能需要數千個字符。

構造原理:

[] == false, ![] == true
[] + [] == "", ![] + [] == "false"
通過索引和運算獲取字符串中的單個字符
最終構造Function構造器來執行代碼