1 |
1
애플리케이션 코드를 중요코드 및 상기 중요코드 이외의 일반코드로 분리하는 중요코드 분리부;상기 중요코드를 호출하기 위한 중요코드 호출기를 생성하는 중요코드 호출기 생성부; 상기 중요코드를 분석하는 코드 분석부;상기 중요코드에 대응하는 더미코드를 생성하는 더미코드 생성부;상기 중요코드를 암호화하는 코드 암호화부;상기 더미코드 및 상기 암호화된 중요코드를 배치시키고, 상기 더미코드 및 상기 암호화된 중요코드의 위치 정보를 생성하는 코드 배치부;상기 암호화된 중요코드를 복호화하기 위한 코드 복호화기를 생성하는 코드 복호화기 생성부;상기 복호화된 중요코드 및 상기 더미코드를 메모리에 적재하는 로더를 생성하는 로더 생성부;상기 메모리에 적재된 상기 복호화된 중요코드를 호출하기 위한 복호화된 코드 호출기를 생성하는 복호화된 코드 호출기 생성부; 및상기 복호화된 중요코드의 실행 과정에서, 상기 더미코드 및 상기 실행된 중요코드를 상기 메모리에서 해제하는 언로더를 생성하는 언로더 생성부를 포함하고,상기 중요코드 호출기는 상기 더미코드를 호출하지 않고, 상기 중요코드만을 호출하며,상기 더미코드는 상기 일반코드와 독립적으로 형성되고, 상기 더미코드는 상기 일반코드에 삽입되지 않으며,상기 더미코드는 상기 메모리 상에서 상기 중요코드를 대체하는 것을 특징으로 하는 더미코드를 사용하는 애플리케이션 코드 은닉 장치
|
2 |
2
제1항에 있어서, 상기 코드 분석부는 상기 중요코드를 복수의 서브 중요코드로 분리하는 것을 특징으로 하는 애플리케이션 코드 은닉 장치
|
3 |
3
제2항에 있어서, 상기 더미코드 생성부는 상기 분리된 서브 중요코드에 대응하는 복수의 분리된 서브 더미코드를 생성하는 것을 특징으로 하는 애플리케이션 코드 은닉 장치
|
4 |
4
제2항에 있어서, 상기 코드 분석부는 상기 중요코드를 클래스 단위의 복수의 서브 중요코드로 분리하는 것을 특징으로 하는 애플리케이션 코드 은닉 장치
|
5 |
5
제1항에 있어서, 상기 더미코드는 상기 중요코드와 동일한 시그니쳐를 갖고, 상기 중요코드와 상이한 오퍼레이션 코드를 갖는 것을 특징으로 하는 애플리케이션 코드 은닉 장치
|
6 |
6
제1항에 있어서, 상기 코드 복호화기 생성부에 의해 생성되는 상기 코드 복호화기, 상기 로더 생성부에 의해 생성되는 상기 로더, 상기 복호화된 코드 호출기 생성부에 의해 생성되는 상기 복호화된 코드 호출기 및 상기 언로더 생성부에 의해 생성되는 상기 언로더는 네이티브 코드 영역에 배치되는 것을 특징으로 하는 애플리케이션 코드 은닉 장치
|
7 |
7
제6항에 있어서, 상기 일반코드 및 상기 중요코드 호출기는 바이트 코드 영역에 배치되는 것을 특징으로 하는 애플리케이션 코드 은닉 장치
|
8 |
8
제7항에 있어서, 상기 암호화된 중요코드 및 상기 더미코드는 상기 네이티브 코드 영역, 상기 바이트 코드 영역, 애플리케이션 데이터 영역의 리소스(resources) 영역 및 상기 애플리케이션 데이터 영역의 애셋(assets) 영역 중 하나에 배치되는 것을 특징으로 하는 애플리케이션 코드 은닉 장치
|
9 |
9
제8항에 있어서, 상기 암호화된 중요코드 및 상기 더미코드는 상기 네이티브 코드 영역, 상기 바이트 코드 영역, 상기 애플리케이션 데이터 영역의 상기 리소스(resources) 영역 및 상기 애플리케이션 데이터 영역의 상기 애셋(assets) 영역에서 서로 다른 영역에 배치되는 것을 특징으로 하는 애플리케이션 코드 은닉 장치
|
10 |
10
제7항에 있어서, 상기 코드 배치부는 상기 암호화된 중요코드의 제1 위치 및 상기 더미코드의 제2 위치를 상기 로더 생성부에 전달하는 것을 특징으로 하는 애플리케이션 코드 은닉 장치
|
11 |
11
제1항에 있어서, 상기 일반코드의 실행 중에 상기 중요코드 호출기는 상기 중요코드를 호출하고, 상기 중요코드가 호출되면 상기 코드 복호화기는 상기 암호화된 중요코드를 복호화하여 상기 로더에 전달하며, 상기 언로더는 상기 중요코드의 실행 전에 상기 메모리에 상기 더미코드가 존재하는 경우 상기 더미코드를 상기 메모리로부터 해제하고, 상기 로더는 상기 복호화된 중요코드를 상기 메모리에 적재하며, 상기 복호화된 코드 호출기는 상기 메모리에 적재된 상기 중요코드가 실행되도록 하고 상기 중요코드의 실행 결과를 보관하는 것을 특징으로 하는 애플리케이션 코드 은닉 장치
|
12 |
12
제11항에 있어서, 상기 중요코드가 실행된 후 상기 언로더는 상기 메모리에 적재된 상기 중요코드를 상기 메모리에서 해제하고, 상기 로더는 상기 중요코드에 대응하는 상기 더미코드를 상기 메모리에 적재하며, 상기 복호화된 코드 호출기가 보관하던 상기 중요코드의 상기 실행 결과를 상기 일반코드로 전달하는 것을 특징으로 하는 애플리케이션 코드 은닉 장치
|
13 |
13
중요코드 분리부를 이용하여, 애플리케이션 코드를 중요코드 및 상기 중요코드 이외의 일반코드로 분리하는 단계;중요코드 호출기 생성부를 이용하여, 상기 중요코드를 호출하기 위한 중요코드 호출기를 생성하는 단계; 코드 분석부를 이용하여, 상기 중요코드 분리부에 의해 분리된 상기 중요코드를 분석하는 단계;더미코드 생성부를 이용하여, 상기 중요코드에 대응하는 더미코드를 생성하는 단계;코드 암호화부를 이용하여, 상기 중요코드를 암호화하는 단계;코드 배치부를 이용하여, 상기 더미코드 생성부에 의해 생성된 상기 더미코드 및 상기 코드 암호화부에 의해 상기 암호화된 중요코드를 배치시키고, 상기 더미코드 및 상기 암호화된 중요코드의 위치 정보를 생성하는 단계;코드 복호화기 생성부를 이용하여, 상기 암호화된 중요코드를 복호화하기 위한 코드 복호화기를 생성하는 단계;로더 생성부를 이용하여, 상기 복호화된 중요코드 및 상기 더미코드를 메모리에 적재하는 로더를 생성하는 단계;복호화된 코드 호출기 생성부를 이용하여, 상기 메모리에 적재된 상기 복호화된 중요코드를 호출하기 위한 복호화된 코드 호출기를 생성하는 단계; 및언로더 생성부를 이용하여, 상기 복호화된 중요코드의 실행 과정에서, 상기 더미코드 및 상기 실행된 중요코드를 상기 메모리에서 해제하는 언로더를 생성하는 단계를 포함하고,상기 중요코드 호출기는 상기 더미코드를 호출하지 않고, 상기 중요코드만을 호출하며,상기 더미코드는 상기 일반코드와 독립적으로 형성되고, 상기 더미코드는 상기 일반코드에 삽입되지 않으며,상기 더미코드는 상기 메모리 상에서 상기 중요코드를 대체하는 것을 특징으로 하는 애플리케이션 코드 은닉 방법
|
14 |
14
제13항에 있어서, 상기 중요코드를 분석하는 단계는 상기 중요코드를 복수의 서브 중요코드로 분리하는 것을 특징으로 하는 애플리케이션 코드 은닉 방법
|
15 |
15
제14항에 있어서, 상기 더미코드를 생성하는 단계는 상기 분리된 서브 중요코드에 대응하는 복수의 분리된 서브 더미코드를 생성하는 것을 특징으로 하는 애플리케이션 코드 은닉 방법
|
16 |
16
삭제
|
17 |
17
삭제
|