요즘은 javascript를 사용하여 여러 프로덕트를 만들수 있다. 웹 프론트뿐만 아니라 크롬 익스텐션을 만들어서 배포할수도 있고 electron기술을 사용해서 데스크톱 프로그램을 만들어서 배포할수도 있다.
그런데 이렇게 만들어서 배포한 프로그램. 역공학이 너무 쉽지는 않을까. 위에 기술한 웹 기반 프로그램들은 본질적으로 javascript코드가 공개될수밖에 없다. 완벽하게 보호하진 못하더라도 난독화를 통해 역공학을 어렵게 만드는 방법을 알아보자.
javascript-obfuscator라는 라이브러리를 사용해서 난독화를 할 수 있다. 특히 나는 vite를 사용해서 빌드를 했기 때문에 vite-plugin-javascript-obfuscator라는 plugin을 추가하는 방법으로 난독화를 했다.
아래는 vite.config.ts 이고 난독화 옵션은 본인이 알아서 작성하면 된다. 옵션은 https://obfuscator.io/ 에서 직접 조정해가며 결과를 확인할 수 있다.
import obfuscatorPlugin from "vite-plugin-javascript-obfuscator"
export default defineConfig({
plugins: [
obfuscatorPlugin({
options: {
compact: true,
simplify: true,
...
},
}),
],
}
'just-coding-it' 카테고리의 다른 글
integrity나 crossorigin속성은 어떤일을 하는걸까 (0) | 2024.11.27 |
---|---|
firebase authentication을 이용하여 회원가입 및 로그인을 구현하자 (1) | 2024.11.25 |
가계도는 어떤 자료구조로 저장하고 시각화 할 수 있을까 (3) | 2024.11.20 |
카카오 로그인을 구현해보자 (0) | 2024.11.19 |
파이썬으로 네이버 웹툰을 압축해보자 (0) | 2022.11.22 |