unPacker

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

이 스크립트는 직접 설치하는 용도가 아닙니다. 다른 스크립트에서 메타 지시문 // @require https://update.greasyfork.org/scripts/582577/1850727/unPacker.js을(를) 사용하여 포함하는 라이브러리입니다.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

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;
}