• 티스토리 홈
  • 프로필사진
    루루개발자
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
루루개발자
  • 프로필사진
    루루개발자
    • 분류 전체보기 (212)
      • react & next.js (12)
      • Node.js & Javascript & Type.. (24)
        • d3.js (10)
      • 차트 만들기 (1)
      • 티스토리 스킨 개발 (7)
      • 내가 만든 패키지 (3)
      • 내가 만든 CSS (1)
      • CSS (7)
      • 도커 & 쿠버네티스 (3)
      • 개인 프로젝트 (7)
      • 리뷰 & 추천 (2)
      • 알고리즘 (1)
      • IT 기타 (18)
      • 잡동사니 (1)
      • Spring Boot (5)
      • 취미로 그리는 그림들 (120)
      • 개인적인 생각들 (0)
  • 반응형
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • javascript 파일 난독화
        2022년 05월 10일
        • 루루개발자
        • 작성자
        • 2022.05.10.:25
        반응형

         

        안녕하세요. 루루개발자 입니다.

        이번에는 javascript 파일을 난독화 하는 방법에 대해 알아보겠습니다.

         

        사실 이번에 javascript SDK 하나를 개발하게 되었습니다. 하지만 비즈니스 로직이 너무 적나라하게 드러나 있어서 이를 어떻게 해결할까 하다가 난독화를 이용해 이 문제를 조금이라도 해결 할 수 있지 않을까 싶었습니다.

         

        그렇습니다.

        javascript 파일을 난독화 하는 이유는 javascript 파일 내용을 남이 보더라도 분석을 어렵게 하기 위함입니다. 

         

        먼저 터미널에서 아래 명령어를 입력해 uglify-js 패키지를 전역으로 설치합니다.

        npm i uglify-js

         

        그 후, 아래와 같이 명령어를 입력해 원본js 파일을 난독화한 js 파일로 새로 생성해줍니다.

        uglifyjs {원본js파일명} -o {난독화된js파일명} -c -m --mangle-props

         

        아래는 예제입니다.

         

        <난독화 전>

        class TestClass {
          name;
          age;
        
          constructor(name, age) {
            this.name = name;
            this.age = age;
          }
        
          alertName() {
            alert(this.name);
          }
        
          alertAge() {
            alert(this.age);
          }
        }

         

        <난독화 후>

        class TestClass{name;t;constructor(t,s){this.name=t,this.t=s}l(){alert(this.name)}h(){alert(this.t)}}

         

        보시는 것처럼 기존에 사용하던 변수명을 t, s, h ... 등으로 바꾸어주기 때문에 해당 변수가 무엇을 의미하는지 쉽게 유추하는 것을 막아주기도 합니다. 코드가 길어지면 길어질 수록 더더욱 코드 분석이 어려워질 것 같네요. :)

         

        읽어주셔서 감사합니다!

         

        반응형

        'Node.js & Javascript & Typescript' 카테고리의 다른 글

        웹에서 url scheme 로 앱 호출시 앱 설치 여부 감지 방법  (0) 2022.06.09
        javascript 난독화 이슈 (생성자 인자의 파라미터명)  (0) 2022.05.11
        TDZ(Temporal Dead Zone)  (0) 2021.11.16
        호이스팅 (hoisting) (1)  (0) 2021.11.15
        Javascript 동작 원리  (0) 2021.10.26
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바