1 |
1
파일로부터 명령어를 독출하는 독출부;
상기 명령어가 분기 명령어인지 판단하는 판단부;
상기 명령어가 분기 명령어인 경우, 상기 분기 명령어를 하나 이상의 모호화 명령어로 변환하는 변환부; 및
상기 분기 명령어를 상기 모호화 명령어로 대체하여 상기 파일을 저장하는 저장부
를 포함하고,
상기 모호화 명령어는,
간접분기 명령어인 것을 특징으로 하는, 코드 제어 흐름 모호화 장치
|
2 |
2
제1항에 있어서,
상기 독출부는,
저급언어로 컴파일된 파일로부터 명령어를 독출하는 것을 특징으로 하는 코드 제어 흐름 모호화 장치
|
3 |
3
제1항에 있어서,
상기 독출부는,
상기 파일의 핸들러를 생성하는 핸들러 생성부; 및
상기 핸들러의 명령어를 라인별로 독출하는 명령어 독출부
를 포함하는 것을 특징으로 하는 코드 제어 흐름 모호화 장치
|
4 |
4
제1항에 있어서,
상기 판단부는,
상기 명령어가 jmp, jne, ja, je, jna, jae, jz, jnae, jnz, jb, js, jnb, jns, jbe, jc, jnbe, jnc, jg, jo, jng, jno, jge, jp, jnge, jpe, jl, jnp, jnl, jpo, jle, 및 jnle 중 적어도 하나를 포함하는 경우, 상기 명령어는 분기 명령어인 것으로 판단하는, 코드 제어 흐름 모호화 장치
|
5 |
5
삭제
|
6 |
6
제1항에 있어서,
상기 변환부는,
직접분기 명령어를 메모리를 사용한 하나 이상의 간접분기 명령어로 변환하는 것을 특징으로 하는 코드 제어 흐름 모호화 장치
|
7 |
7
제1항에 있어서,
상기 간접분기 명령어는,
push, ret, mov, 및 jmp 명령어 중 적어도 하나를 포함하는 것을 특징으로 하는 코드 제어 흐름 모호화 장치
|
8 |
8
제1항에 있어서,
상기 독출부는,
상기 파일의 모든 명령어를 순차적으로 독출하는 것을 특징으로 하는 코드 제어 흐름 모호화 장치
|
9 |
9
파일로부터 명령어를 독출하는 단계;
상기 명령어가 분기 명령어인지 판단하는 단계;
상기 명령어가 분기 명령어인 경우, 상기 분기 명령어를 하나 이상의 모호화 명령어로 변환하는 단계; 및
상기 분기 명령어를 상기 모호화 명령어로 대체하여 상기 파일을 저장하는 단계
를 포함하고,
상기 모호화 명령어는,
간접분기 명령어인 것을 특징으로 하는, 코드 제어 흐름 모호화 방법
|
10 |
10
제9항에 있어서,
상기 독출하는 단계는,
저급언어로 컴파일된 파일로부터 명령어를 독출하는 것을 특징으로 하는 코드 제어 흐름 모호화 방법
|
11 |
11
제9항에 있어서,
상기 독출하는 단계는,
상기 파일의 핸들러를 생성하는 단계; 및
상기 핸들러의 명령어를 라인별로 독출하는 단계
를 포함하는 것을 특징으로 하는 코드 제어 흐름 모호화 방법
|
12 |
12
제9항 내지 제11항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체
|