unPacker

Code unpacker. full credit: https://matthewfl.com/unPacker.html

このスクリプトは単体で利用できません。右のようなメタデータを含むスクリプトから、ライブラリとして読み込まれます: // @require https://update.greasyfork.org/scripts/582577/1850727/unPacker.js

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

You will need to install an extension such as Tampermonkey to install this script.

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
function unPack (code) {
	function indent (code) {
		try {
		var tabs = 0, old=-1, add='';
		for(var i=0;i<code.length;i++) {
			if(code[i].indexOf("{") != -1) tabs++;
			if(code[i].indexOf("}") != -1) tabs--;
			
			if(old != tabs) {
				old = tabs;
				add = "";
				while (old > 0) {
					add += "\t";
					old--;
				}
				old = tabs;
			}
			
			code[i] = add + code[i];
		}
		} finally {
			tabs = null;
			old = null;
			add = null;
		}
		return code;
	}
    
    var env = {
        eval: function (c) {
            code = c;
        },
        window: {},
        document: {}
    };
    
    eval("with(env) {" + code + "}");
	
	code = (code+"").replace(/;/g, ";\n").replace(/{/g, "\n{\n").replace(/}/g, "\n}\n").replace(/\n;\n/g, ";\n").replace(/\n\n/g, "\n");
	
    code = code.split("\n");
    code = indent(code);
    
    code = code.join("\n");
    return code;
}