1 |
1
제1 형식의 애플리케이션 코드를 중요코드 및 상기 중요코드 이외의 일반코드로 분리하는 중요코드 분리기;상기 중요코드를 호출하기 위한 중요코드 호출기를 생성하는 중요코드 호출기 생성부; 상기 제1 형식의 상기 중요코드를 제2 형식으로 변환하는 코드 변환기; 및상기 중요코드의 난독화된 시그니처 및 제1 랜덤 벡터를 포함하는 제1 테이블 및 상기 중요코드의 상기 난독화된 시그니처에 대응하는 상기 중요코드의 옵셋 및 상기 제1 랜덤 벡터와 링크되는 제2 랜덤 벡터를 포함하는 제2 테이블을 생성하는 난독화부를 포함하는 애플리케이션 코드 난독화 장치
|
2 |
2
제1항에 있어서, 상기 제1 형식은 매니지드 코드이고, 상기 제2 형식은 네이티브 코드인 것을 특징으로 하는 애플리케이션 코드 난독화 장치
|
3 |
3
제1항에 있어서, 상기 난독화부는 상기 중요코드의 상기 난독화된 시그니처를 생성하는 코드 시그니처 생성기를 생성하는 코드 시그니처 생성기 생성부; 상기 중요코드의 상기 난독화된 시그니처를 상기 제1 테이블로 배치하고, 상기 중요코드의 옵셋을 제2 테이블로 배치하는 벡터 테이블 분리기를 생성하는 벡터 테이블 분리기 생성부; 및상기 제1 테이블에 배치되는 상기 제1 랜덤 벡터 및 상기 제2 테이블에 배치되는 상기 제2 랜덤 벡터를 생성하는 랜덤 벡터 생성기를 생성하는 랜덤 벡터 생성기 생성부를 포함하는 것을 특징으로 하는 애플리케이션 코드 난독화 장치
|
4 |
4
제3항에 있어서, 상기 일반코드 및 상기 중요코드 호출기는 상기 제1 형식의 제1 코드 영역에 형성되고, 상기 중요코드, 상기 코드 시그니처 생성기, 상기 벡터 테이블 분리기, 상기 랜덤 벡터 생성기는 상기 제2 형식의 제2 코드 영역에 형성되는 것을 특징으로 하는 애플리케이션 코드 난독화 장치
|
5 |
5
제4항에 있어서, 상기 난독화부는 상기 제2 코드 영역에 더미코드를 생성하는 더미코드 생성기를 더 포함하는 것을 특징으로 하는 애플리케이션 코드 난독화 장치
|
6 |
6
제5항에 있어서, 상기 코드 시그니처 생성기는 상기 제1 테이블에 상기 더미코드의 난독화된 시그니처를 더 생성하는 것을 특징으로 하는 애플리케이션 코드 난독화 장치
|
7 |
7
제3항에 있어서, 상기 랜덤 벡터 생성기는 상기 제1 랜덤 벡터 및 상기 제2 랜덤 벡터를 실행 시마다 랜덤하게 생성하는 것을 특징으로 하는 애플리케이션 코드 난독화 장치
|
8 |
8
제3항에 있어서, 상기 중요코드 호출기가 제1 시그니처를 이용하여 상기 제1 시그니처에 대응하는 중요코드를 호출하면, 상기 제1 시그니처에 대응하는 상기 중요코드의 상기 난독화된 시그니처를 상기 제1 테이블에서 선택하고, 상기 선택된 시그니처와 쌍을 이루는 상기 제1 랜덤 벡터를 선택하며, 상기 선택된 제1 랜덤 벡터에 대응하는 상기 제2 랜덤 벡터를 상기 제2 테이블에서 선택하고, 상기 선택된 제2 랜덤 벡터와 쌍을 이루는 상기 중요코드의 상기 옵셋을 선택하며, 상기 선택된 중요코드의 상기 옵셋을 이용하여 상기 중요코드가 호출되는 것을 특징으로 하는 애플리케이션 코드 난독화 장치
|
9 |
9
제1 형식의 애플리케이션 코드를 중요코드 및 상기 중요코드 이외의 일반코드로 분리하는 단계;상기 중요코드를 호출하기 위한 중요코드 호출기를 생성하는 단계; 상기 제1 형식의 상기 중요코드를 제2 형식으로 변환하는 단계; 및상기 중요코드의 난독화된 시그니처 및 제1 랜덤 벡터를 포함하는 제1 테이블 및 상기 중요코드의 상기 난독화된 시그니처에 대응하는 상기 중요코드의 옵셋 및 상기 제1 랜덤 벡터와 링크되는 제2 랜덤 벡터를 포함하는 제2 테이블을 생성하는 단계를 포함하는 애플리케이션 코드 난독화 방법
|
10 |
10
제9항에 있어서, 상기 제1 형식은 매니지드 코드이고, 상기 제2 형식은 네이티브 코드인 것을 특징으로 하는 애플리케이션 코드 난독화 방법
|
11 |
11
제9항에 있어서, 상기 제1 테이블 및 상기 제2 테이블을 생성하는 단계는상기 중요코드의 상기 난독화된 시그니처를 생성하는 코드 시그니처 생성기를 생성하는 단계;상기 중요코드의 상기 난독화된 시그니처를 상기 제1 테이블로 배치하고, 상기 중요코드의 옵셋을 제2 테이블로 배치하는 벡터 테이블 분리기를 생성하는 단계; 및상기 제1 테이블에 배치되는 상기 제1 랜덤 벡터 및 상기 제2 테이블에 배치되는 상기 제2 랜덤 벡터를 생성하는 랜덤 벡터 생성기를 생성하는 단계를 포함하는 것을 특징으로 하는 애플리케이션 코드 난독화 방법
|
12 |
12
제11항에 있어서, 상기 일반코드 및 상기 중요코드 호출기는 상기 제1 형식의 제1 코드 영역에 형성되고, 상기 중요코드, 상기 코드 시그니처 생성기, 상기 벡터 테이블 분리기, 상기 랜덤 벡터 생성기는 상기 제2 형식의 제2 코드 영역에 형성되는 것을 특징으로 하는 애플리케이션 코드 난독화 방법
|
13 |
13
제12항에 있어서, 상기 제2 코드 영역에 더미코드를 생성하는 단계를 더 포함하는 것을 특징으로 하는 애플리케이션 코드 난독화 방법
|
14 |
14
제13항에 있어서, 상기 제1 테이블 및 상기 제2 테이블을 생성하는 단계는 상기 제1 테이블에 상기 더미코드의 난독화된 시그니처를 생성하는 단계를 더 포함하는 것을 특징으로 하는 애플리케이션 코드 난독화 방법
|
15 |
15
제11항에 있어서, 상기 랜덤 벡터 생성기는 상기 제1 랜덤 벡터 및 상기 제2 랜덤 벡터를 실행 시마다 랜덤하게 생성하는 것을 특징으로 하는 애플리케이션 코드 난독화 방법
|
16 |
16
제11항에 있어서, 상기 중요코드 호출기가 제1 시그니처를 이용하여 중요코드를 호출하면, 상기 제1 시그니처에 대응하는 상기 중요코드의 상기 난독화된 시그니처를 상기 제1 테이블에서 선택하고, 상기 선택된 시그니처와 쌍을 이루는 상기 제1 랜덤 벡터를 선택하며, 상기 선택된 제1 랜덤 벡터에 대응하는 상기 제2 랜덤 벡터를 상기 제2 테이블에서 선택하고, 상기 선택된 제2 랜덤 벡터와 쌍을 이루는 상기 중요코드의 상기 옵셋을 선택하며, 상기 선택된 중요코드의 상기 옵셋을 이용하여 상기 중요코드가 호출되는 것을 특징으로 하는 애플리케이션 코드 난독화 방법
|