NodeJS로 자바스크립트 난독화 하기

var fs = require('fs');
var UglifyJS = require("uglify-js");

fs.readFile('input.txt', (err, dataBuf)=>{
    if(err){
        console.log("에러 : "+err);
        process.exit(1);
    }
   
    var uglifyJSOptions = {
        mangle: {
            toplevel: true,
        },
        nameCache: {}
    };
    var result = UglifyJS.minify(dataBuf.toString(), uglifyJSOptions);
    var bs64 = Buffer.from(result.code);
    fs.writeFileSync('output.txt',bs64.toString('base64'));
});

자바스크립트 코드를 input.txt 파일에 저장해 놓고 실행하면 output.txt파일에 minify랑 난독화 그리고 최종적으론 base64로 인코드 해준다.

이번에 광고차단 감지 소스 보다 보니 저렇게 하는 방법도 있구나 알게되서 나도 한번 적용해봄.
이전에 쓰던 코드 걷어내고 이 방식으로 바꿨는데 이전 방식이 구려서 그런지 뭔가 좀 더 빨라진듯한 느낌이다.

UglifyJS 3 모듈이 필요하다.

npm i uglify-js

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다