1 |
1
사용자 단말에서 수행되는 애플리케이션의 소스 코드 보호 방법에 있어서,스텁(stub) 애플리케이션의 스텁 파일이 실행됨에 따라 암호화된 원본 애플리케이션을 복호화하여 상기 원본 애플리케이션의 실행 파일을 추출하는 단계; 상기 스텁 애플리케이션의 스텁 파일을 상기 복호화된 원본 애플리케이션의 실행 파일로 덮어씌운(overwrite) 후 상기 원본 애플리케이션의 실행 파일을 실행하는 단계; 및상기 실행된 원본 애플리케이션에 대한 종료가 요청됨에 따라 상기 원본 애플리케이션의 실행 파일을 상기 스텁 애플리케이션의 스텁 파일로 덮어씌움으로써 상기 원본 애플리케이션의 소스 코드를 보호하는 단계를 포함하되,상기 스텁(stub) 애플리케이션은,개발자에 의해 작성된 원본 애플리케이션을 복사하여 생성한 사본 애플리케이션의 실행 파일을 상기 원본 애플리케이션의 실행을 명령하는 스텁 코드(stub code)가 포함된 스텁 파일(stub file)로 교체함으로써 생성되고,상기 스텁 코드는, 상기 원본 애플리케이션이 암호화 또는 복호화되어 저장되는 위치 및 상기 원본 애플리케이션의 복호화에 사용되는 키에 대한 정보 중 적어도 하나를 포함하는 애플리케이션의 소스 코드 보호 방법
|
2 |
2
청구항 1에 있어서,상기 암호화된 원본 애플리케이션은,개발자에 의해 작성된 원본 애플리케이션을 DES(Data Encryption Standard) 또는 AES(Advanced Encryption Stardard)을 포함하는 암호화 알고리즘으로 암호화한 것으로 미리 정해진 공간에 저장되는 것을 특징으로 하는 애플리케이션의 소스 코드 보호 방법
|
3 |
3
삭제
|
4 |
4
청구항 1에 있어서,상기 원본 애플리케이션의 실행 파일을 추출하는 단계는,상기 암호화된 원본 애플리케이션을 복호화하기 이전에,상기 스텁 애플리케이션을 생성하는데 이용된 스텁 파일과 상기 실행된 스텁 파일이 동일한지 확인함으로써 상기 스텁 애플리케이션의 스텁 파일에 대한 무결성을 검증하는 것을 특징으로 하는 애플리케이션의 소스 코드 보호 방법
|
5 |
5
청구항 4에 있어서,상기 원본 애플리케이션의 실행 파일을 추출하는 단계는,상기 스텁 애플리케이션의 스텁 파일에 대한 무결성 검증에 실패함에 따라 상기 스텁 애플리케이션의 스텁 파일이 위조 또는 변조된 것으로 판단하여 상기 암호화된 원본 애플리케이션이 복호화되는 것을 방지하는 것을 특징으로 하는 애플리케이션의 소스 코드 보호 방법
|
6 |
6
청구항 4에 있어서,상기 원본 애플리케이션의 실행 파일을 추출하는 단계는,상기 스텁 애플리케이션의 스텁 파일에 대한 무결성이 검증됨에 따라 상기 스텁 애플리케이션의 스텁 파일을 미리 정해진 공간에 백업한 후 상기 암호화된 원본 애플리케이션을 복호화하여 상기 원본 애플리케이션의 실행 파일을 추출하는 것을 특징으로 하는 애플리케이션의 소스 코드 보호 방법
|
7 |
7
청구항 6에 있어서,상기 원본 애플리케이션의 실행 파일을 실행하는 단계는,상기 원본 애플리케이션의 실행 중에 상기 원본 애플리케이션의 실행 파일에 대한 접근이 차단되도록 사용 권한을 변경함으로써 상기 원본 애플리케이션의 소스 코드 유출을 방지하는 것을 특징으로 하는 애플리케이션의 소스 코드 보호 방법
|
8 |
8
청구항 6에 있어서,상기 원본 애플리케이션의 소스 코드를 보호하는 단계는,상기 원본 애플리케이션의 실행 파일을 상기 미리 정해진 공간에 백업된 상기 스텁 애플리케이션의 스텁 파일로 덮어씌운 후, 상기 복호화된 원본 애플리케이션의 실행 파일을 삭제함으로써 상기 원본 애플리케이션의 소스 코드 유출을 방지하는 것을 특징으로 하는 애플리케이션의 소스 코드 보호 방법
|
9 |
9
사용자 단말에서 구현되는 애플리케이션의 소스 코드 보호 장치에 있어서,스텁(stub) 애플리케이션의 스텁 파일이 실행됨에 따라 암호화된 원본 애플리케이션을 복호화하여 상기 원본 애플리케이션의 실행 파일을 추출하는 실행 파일 추출부; 및상기 스텁 애플리케이션의 스텁 파일을 상기 복호화된 원본 애플리케이션의 실행 파일로 덮어씌운(overwrite) 후 상기 원본 애플리케이션의 실행 파일을 실행하고, 상기 실행된 원본 애플리케이션에 대한 종료가 요청됨에 따라 상기 원본 애플리케이션의 실행 파일을 상기 스텁 애플리케이션의 스텁 파일로 덮어씌움으로써 상기 원본 애플리케이션의 소스 코드를 보호하는 애플리케이션 보호부를 포함하되,상기 스텁(stub) 애플리케이션은,개발자에 의해 작성된 원본 애플리케이션을 복사하여 생성한 사본 애플리케이션의 실행 파일을 상기 원본 애플리케이션의 실행을 명령하는 스텁 코드(stub code)가 포함된 스텁 파일(stub file)로 교체함으로써 생성되고,상기 스텁 코드는, 상기 원본 애플리케이션이 암호화 또는 복호화되어 저장되는 위치 및 상기 원본 애플리케이션의 복호화에 사용되는 키에 대한 정보 중 적어도 하나를 포함하는 애플리케이션의 소스 코드 보호 장치
|
10 |
10
청구항 9에 있어서,상기 애플리케이션의 소스 코드 보호 장치는,상기 스텁 애플리케이션의 스텁 파일이 실행됨에 따라 시스템 권한을 가지는 런처 애플리케이션(Launcher Application)과 연동되는 것을 특징으로 하는 애플리케이션의 소스 코드 보호 장치
|
11 |
11
청구항 9에 있어서,상기 암호화된 원본 애플리케이션은,개발자에 의해 작성된 원본 애플리케이션을 DES(Data Encryption Standard) 또는 AES(Advanced Encryption Stardard)을 포함하는 암호화 알고리즘으로 암호화한 것으로 미리 정해진 공간에 저장되는 것을 특징으로 하는 애플리케이션의 소스 코드 보호 장치
|
12 |
12
삭제
|
13 |
13
청구항 9에 있어서,상기 실행 파일 추출부는,상기 스텁 애플리케이션을 생성하는데 이용된 스텁 파일과 상기 실행된 스텁 파일이 동일한지 확인함으로써 상기 스텁 애플리케이션의 스텁 파일에 대한 무결성을 검증하는 것을 특징으로 하는 애플리케이션의 소스 코드 보호 장치
|
14 |
14
청구항 13에 있어서,상기 실행 파일 추출부는,상기 스텁 애플리케이션의 스텁 파일에 대한 무결성 검증이 실패함에 따라 상기 스텁 애플리케이션의 스텁 파일이 위조 또는 변조된 것으로 판단하여 상기 암호화된 원본 애플리케이션이 복호화되는 것을 방지하고,상기 스텁 애플리케이션의 스텁 파일에 대한 무결성이 검증됨에 따라 상기 스텁 애플리케이션의 스텁 파일을 미리 정해진 공간에 백업한 후 상기 암호화된 원본 애플리케이션을 복호화하는 것을 특징으로 하는 애플리케이션의 소스 코드 보호 장치
|
15 |
15
청구항 14에 있어서,상기 애플리케이션 보호부는,상기 스텁 애플리케이션의 스텁 파일을 상기 복호화된 원본 애플리케이션의 실행 파일로 덮어씌운 후 상기 원본 애플리케이션을 실행하는 애플리케이션 실행 모듈; 및상기 실행된 원본 애플리케이션에 대한 종료가 요청됨에 따라 상기 복호화된 원본 애플리케이션의 실행 파일을 상기 스텁 애플리케이션의 스텁 파일로 덮어씌우는 애플리케이션 종료 모듈을 포함하는 것을 특징으로 하는 애플리케이션의 소스 코드 보호 장치
|
16 |
16
청구항 15에 있어서,상기 애플리케이션 실행 모듈은,상기 원본 애플리케이션의 실행 중에 상기 원본 애플리케이션의 실행 파일에 대한 접근이 차단되도록 사용 권한을 변경함으로써 상기 원본 애플리케이션의 소스 코드 유출을 방지하는 것을 특징으로 하는 애플리케이션의 소스 코드 보호 장치
|
17 |
17
청구항 15에 있어서,상기 애플리케이션 종료 모듈은,상기 원본 애플리케이션의 실행 파일을 상기 미리 정해진 공간에 백업된 상기 스텁 애플리케이션의 스텁 파일로 덮어씌운 후, 상기 복호화된 원본 애플리케이션의 실행 파일을 삭제함으로써 상기 원본 애플리케이션의 소스 코드 유출을 방지하는 것을 특징으로 하는 애플리케이션의 소스 코드 보호 장치
|