javascript deobfuscator
1.0.0
一般的な JavaScript 難読化手法を削除する、シンプルだが強力な難読化解除ツール。実装する必要があると思われる機能がある場合は、問題をオープンしてください。
オンライン版はdeobfuscate.ioにあります
npm install js-deobfuscator
経由でインストールする
Obfuscator.io/javascript-obfuscator に固有の難読化解除ツールをお探しですか?このリポジトリを試してください
JavaScript の難読化と難読化解除について議論/学習したい場合は、Discord サーバーに参加できます。
リテラル (文字列、数値など) を含む配列を解凍し、それらへのすべての参照を置き換えます。
単純なプロキシ関数 (別の関数の呼び出し)、配列プロキシ関数、および算術プロキシ関数 (バイナリ式) を削除します。
算術式を簡略化します
文字列の連結を簡素化します
読み取り不可能な 16 進数の識別子の名前を変更します (例: _0xca830a)
計算結果を静的メンバー式に変換し、コードを美しくします。
フィーチャが連鎖したさらに複雑な例については、下部を参照してください。
前に
const a = ['x20', 'x57x6fx72x6cx64', 'x48x65x6cx6cx6f'];console.log(a[2] + a[0] + a[1]);
後
console.log('Hello' + ' ' + 'World');
前に
function a(b, c) { return someFunction(b, c);}const result = a(5, 6);
後
const result = someFunction(5, 6);
前に
function a(b, c) { return c + 2 * b;}const result = a(5, 6);
後
const 結果 = 6 + 2 * 5;
前に
function a(b, c) { return c + 2 * b;}function b(c, d) { return a(c, d);}function c(d, e) { return b(d, e);} const 結果 = c(5, 6);
後
const 結果 = 6 + 2 * 5;
前に
let total = 0x2 * 0x109e + -0xc * -0x16a + -0x3234;for (let i = 0x1196 + 0x97b * 0x3 + -0x2e07; i < -0x95 * -0x38 + -0x1a75 + -0x619; i++) { total +=私;}
後
let total = 0;for (let i = 0; i < 10; i++) { total += i;}
前に
console.log('彼' + 'll' + 'o' + 'Wo' + 'r' + 'ld');
後
console.log('Hello World');
これらすべての機能を連鎖させてコードを簡素化できます。
前に
const ar = [ 'x48x65x6cx6cx6f', 0x95, 'x20', 0x1a75, 'x57x6fx72x6cx64', -0x53, 'x6cx6fx67' ];const a = function (b, c) { return c + 2 * b; }, b = function (c, d) { return a(c, d); }, c = function (d, e) { return b(d, e); };const メッセージ = ar[0] + ar[2] + ar[4];const 結果 = c(ar[1] * 0x38 + ar[3] + 0x619, 0x12 * ar[5] + 0x1a13 + 0x621) ;console[ar[6]](メッセージ + ' ' + 結果);
後
const message = 'Hello World';const result = 40106;console.log(message + ' ' + result);
インターフェイス構成 { 配列: { unpackArrays: ブール値; 削除配列: ブール値; }; proxyFunctions: { replaceProxyFunctions: ブール値; RemoveProxyFunctions: ブール値; }; 式: { simplifyExpressions: ブール値; 削除DeadBranches: ブール値; }; その他: {美化: ブール値; simplifyProperties: ブール値; renameHexIdentifiers: ブール値; };}
npm install js-deobfuscator
使用してモジュールをローカルにインストールし、通常どおりインポートするか、 npm install -g js-deobfuscator
グローバルにインストールしてjs-deobfuscator
CLI を使用します。
> js-deobfuscator -h 使用法: [オプション] を実行します。 JavaScript ファイルの難読化を解除する オプション: -i, --input [input_file] 難読化を解除する入力ファイル (デフォルト: "input/source.js") -o, --output [output_file] 難読化解除された出力ファイル (デフォルト: "output/output.js") -f、--force 出力ファイルを上書きするかどうか -h, --help コマンドのヘルプを表示>
あるいは、deobfuscate.io のオンライン バージョンを使用してください。