자바스크립트 난독화…

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
크리에이티브 커먼즈 라이선스 Linsoo의 저작물인 이 저작물은(는)크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.

댓글 남기기

이메일은 공개되지 않습니다.

This site uses Akismet to reduce spam. Learn how your comment data is processed.