- 전체
- HTML
- Web Design (웹디자인)
- XE 응용 개발
- wordpress plugin dev
- Javascript & JavaScript Application
- MEAN Stack : full stack javascript
- angular js & ionic framework
- bootstrap
- WebGL, Three.js and Babylon.js
- restful api design
- mobile web
- node.js 응용
- Cloud Service 응용
- 웹 어셈블리 개발 [WASM, WebAssembly]
- 마이크로서비스, MSA (microservice architecture)
- WebGL / WebGPU
- next.js 개발
- micro frontend (마이크로프론트앤드)
- 전자상거래/쇼핑몰
- 서버 클라우드 (aws, azure, google)
JavaScript 자바스크립트 패킹(packing), 자바스크립트 난독화,
2015.05.31 19:25
자바스크립트 패킹(packing), 자바스크립트 난독화,
코드를 알아 보기 힘들게 만드는 것을 '코드 난독화' 라고 한다
닷넷이나 자바와 가은 가상머신 기반의 프로그램은 컴퓨터가 직접 해석할 수 있는 네이티브 코드 생성 이전에 중간언어과정을 거치게 되어 있다
이러한 중간언어는 '디스어셈블러' 같은 툴로 다시 원 코드로 복원시킬 수 있다
이렇게 되면 배포된 프로그램의 소스를 쉽게 읽을 수 있기 때문에 코드 낙독 처리를 통해 소스의 가독성을 떨어뜨려 소스를 보호하게 된다
특히나 웹의 경우 소스는 여지없이 공개되는 구조이다
HTML, CSS 는 물론이고 자바스크립트 코드도 모두 공개되는 구조이다
자바스크립트 패킹은 일종의 소스 보호 차원에서 스크립트 코드를 난독화하고 더불어 소스를 압축 및 최소화하여 다운로드 속도도 향상시켜 주기 때문에 많은 곳에서 적용하고 있다
이 블로그에서 소개한 Raphale 과 같은 라이브러리도 아래와 같이 패킹되어 있다
즉 자바스크립트 패킹은 난독화 처리 및 소스 사이즈를 줄여 소스를 보호하고 다운로드 성능을 향상시키기 위해 사용하는 방법이다
물론 패킹된 스크립트를 언패킹 하면 소스 보호의 의미는 사라진다 할 수 있으나
일부 언패킹이 불가능한 패킹 방법도 있으니 참고 바란다
스크립트를 패킹해 주는 툴은 몇 가지가 있는데, 대표적을 한가지를 소개한다
웹에서 바로 패킹/언패킹을 해 볼 수 있는 툴이다
http://dean.edwards.name/packer/
http://www.strictly-software.com/unpacker#unpacker
참고로 악성스크립트도 이와 같이 패킹되는 추세이니 참고 바란다
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 4 |
[HTML/CSS] 4. 카드형 리스트
| 졸리운_곰 | 2018.08.22 | 1120 |
| 3 | HTML DIV tag : 영역 밖과 안쪽에 여백주기 - 마진과 패딩 Margin / Padding | 졸리운_곰 | 2018.07.12 | 538 |
| 2 |
HTML DIV tag: 테두리 너비 지정하는 방법 - WIDTH : 픽셀(px) 또는 퍼센트(%)
| 가을의곰 | 2017.06.10 | 827 |
| 1 |
SVG by HTML5
| 졸리운_곰 | 2015.11.12 | 463 |

