Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- GitLab
- 로그인불가
- Kibana server is not ready yet
- Elasticsearch
- ELASTIC
- xe guest utilities
- endpoint security
- x-pack
- elastic stack
- freebsd
- proxycfg
- docker
- 한글가이드
- Proxy
- macos
- bash
- ssh key 배포
- G-suite
- pfsense
- ansible
- XCP-ng
- Windows
- application security
- hardening
- PlayBook
- miniconda
- Kibana
- 보안양파
- centos 8
Archives
- Today
- Total
선 밖에 선 자유인
바이트 코드 혼란 기법 대응 본문
쉽게 디컴파일 되는 자바 바이트 코드를 해석하기 어렵게 하기 위한 방법으로 다음과 같은 방법이 있다.
- 의미 있는 클래스, 메소드, 멤버 변수명을 a,b,c, 등 의미없는 표현으로 치환
- 아이템의 이름을 new 나 int 와 같은 자바 키워드로 치환
- 디버깅 정보, 메타 정보들을 바이트코드에서 제거
- 여러 종류의 불필요한 코드 첨가
- 스택 추적을 사용하여 코드를 통해 수행되는 경로가 매우 꼬여있게 만든다.
- 접근할 수 있는 문장이나 반환문이 없는 코드 경로 등 허용되지 않는 프로그래밍 방식 사용
위와 같은 기법에 대한 대응 기법
- 공용 메소드를 위한 애플릿은 소스를 완전히 이해햐지 않고도 검토 가능.
자바스크립트에서 직접 호출할 수 있는 메소드가 무엇인지, 특성은 무엇인지를 통해 여러가지 입력 값을 제시해서 이들 메소드의 행동을 살펴본다
- 클래스, 메소드와 멤버 변수명이 의미없는 표현으로 치환된 경우 많은 IDE 도구에 내장되어 있는 요소 재구성
(refactoring) 기능을 사용해 코드의 이해를 도울 수 있음.
(rename 도구 등)
- 변형된 바이트코드를 변형 도구로 적절한 옵션 값ㅇ르 줘서 다시 처리하면 많은 변형 내용이 제거될 수 있음
-> jode
Comments