KR20140011495A - Conversion device, conversion method and user terminal - Google Patents
Conversion device, conversion method and user terminal Download PDFInfo
- Publication number
- KR20140011495A KR20140011495A KR1020120061042A KR20120061042A KR20140011495A KR 20140011495 A KR20140011495 A KR 20140011495A KR 1020120061042 A KR1020120061042 A KR 1020120061042A KR 20120061042 A KR20120061042 A KR 20120061042A KR 20140011495 A KR20140011495 A KR 20140011495A
- Authority
- KR
- South Korea
- Prior art keywords
- content
- unit
- conversion
- file
- executable
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Abstract
Description
본 발명은 변환 장치, 변환 방법 및 사용자 단말에 관한 것으로서, 구체적으로 파일 형식이 서로 다른 콘텐츠를 변환하는 기술에 관한 것이다.The present invention relates to a conversion apparatus, a conversion method, and a user terminal, and more particularly, to a technology for converting content having different file formats.
국내 이동통신사가 주축이 되어 한국 통합 앱스토어(K-Apps)가 개발되어 개발자들은 통신사 별로 따로 앱을 개발할 필요가 없어지고, 내년부터 자동으로 글로벌 마켓에도 등록된다. 이러한 K-Apps은 글로벌 어플리케이션 도매 장터인 WAC(Wholesael Application Community)의 WAC 2.0 규격을 세계 최초로 상용화한 것이다. Domestic carriers are the main driver for the development of Korea Integrated App Store (K-Apps), which eliminates the need for developers to develop apps for each carrier and is automatically registered in the global market starting next year. K-Apps is the world's first commercialization of the WAC 2.0 specification from the Worldsael Application Community (WAC), a global marketplace for wholesale applications.
그런데, 이러한 K-Apps 규격 즉 확장자가 wgt인 형태로 개발된 컨텐츠는 실행 과정의 문제, 보안의 취약성, 불법복제의 위험성을 내재하고 있다. 확장자가 wgt인 WAC 규격을 준수하여 개발된 컨텐츠는 프로그램 소스가 유출될 수 있는 문제와 불법 복제 되어 유통될 수 있는 위험성을 내재하고 있다. However, the content developed in the form of the K-Apps standard, that is, the extension wgt, has problems of execution process, vulnerability of security, and risk of illegal copying. Contents developed in compliance with the WAC specification with the extension wgt have inherent problems that program sources can be leaked and the risk of illegal copying and distribution.
따라서, 이동 통신사에서 서비스 할 수 있는 형태의 컨텐츠가 아니라는 문제점을 가지고 있다. Therefore, there is a problem that the content is not a form that can be serviced by the mobile communication company.
이는 기존 이동 통신사의 마켓을 통해 서비스 되고 있는 어플리케이션에 비해 보안이 취약하다는 문제점을 가지고 있다.This has a problem that the security is weak compared to the applications that are serviced through the market of the existing mobile carrier.
본 발명이 이루고자 하는 기술적 과제는 모바일 플랫폼에서 실행 가능하고, 저작권 보호를 제공하는 변환 장치, 변환 방법 및 사용자 단말을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made in an effort to provide a conversion device, a conversion method, and a user terminal that are executable on a mobile platform and provide copyright protection.
본 발명의 한 특징에 따른 변환 장치는, WAC(Wholesale Application Community) 규격에 따른 제1 콘텐츠를 입력받는 입력부; 상기 제1 콘텐츠를 안드로이드 플랫폼에서 실행 가능한 제2 콘텐츠로 변환한 후 빌드하는 변환부; 빌드 환경에 따라 달라지는 사전 정의된 환경 변수를 참조하여 상기 변환부를 구동시키는 구동부; 및 상기 변환부가 빌드한 제2 콘텐츠를 외부로 출력하는 출력부를 포함한다.In accordance with one aspect of the present invention, a conversion device includes: an input unit configured to receive first content according to a WAC (Wholesale Application Community) standard; A converter configured to convert the first content into second content executable on the Android platform and then build the content; A driving unit driving the conversion unit by referring to a predefined environment variable that varies according to a build environment; And an output unit configured to output the second content built by the converter to the outside.
이때, 상기 변환부는,At this time, the conversion unit,
위젯 파일을 apk 파일로 변환하기 위한 실행 바이너리 파일을 이용하여 변환 및 빌드를 수행할 수 있다.Conversion and build can be performed using an executable binary file for converting a widget file into an apk file.
또한, 상기 입력부는, 입력 파라미터를 입력받아 상기 변환부로 전달하고,In addition, the input unit receives an input parameter and delivers it to the conversion unit,
상기 변환부는, 상기 입력 파라미터에 의해 실행되어 라이브러리 형태로 제공되는 상기 실행 바이너리 파일을 이용한 콘텐츠 변환을 수행할 수 있다.The conversion unit may perform content conversion using the execution binary file provided in a library form by being executed by the input parameter.
또한, 상기 입력부는,In addition, the input unit,
상기 변환부를 실행시키는 명령어를 상기 입력 파라미터로 입력받을 수 있다.A command for executing the converter may be input as the input parameter.
또한, 상기 입력부는,In addition, the input unit,
상기 실행 바이너리 파일의 클래스를 외부 자바코드에서 임포트하여 상기 실행 바이너리 파일의 클래스 함수를 직접 호출시키는 명령을 상기 입력 파라미터로 입력받을 수 있다.A command for importing a class of the executable binary file from external Java code and directly calling a class function of the executable binary file may be input as the input parameter.
또한, 상기 구동부에 의해 구동되고, 상기 안드로이드 플랫폼에서 실행 가능하도록 추가 기능을 상기 제2 콘텐츠에 삽입하는 구성부를 더 포함하고,The apparatus may further include a component which is driven by the driving unit and inserts an additional function into the second content to be executable on the Android platform.
상기 변환부는,Wherein,
상기 추가 기능이 삽입된 제2 콘텐츠를 빌드한 후, 상기 출력부로 전달할 수 있다.After building the second content into which the additional function is inserted, the second content may be delivered to the output unit.
또한, 상기 구성부는,In addition, the component,
상기 변환부로부터 전달받은 제2 콘텐츠의 평문 소스코드를 암호화하고, 상기 제2 콘텐츠의 라이센스를 검증하기 위한 코드를 삽입한 후, 상기 변환부로 출력하며,Encrypting the plain text source code of the second content received from the converting unit, inserting a code for verifying a license of the second content, and outputting to the converting unit,
상기 변환부는,Wherein,
암호화된 평문 소스코드 및 라이센스 검증코드가 포함된 제2 콘텐츠를 빌드한 후, 상기 출력부로 전달할 수 있다.The second content including the encrypted plain text source code and the license verification code may be built and then transferred to the output unit.
또한, 암호화된 평문 소스코드 및 라이센스 검증코드가 포함된 제2 콘텐츠에 사업자의 인증서로 서명한 후, 상기 변환부로 전달하는 서명부를 더 포함하고,The apparatus may further include a signature unit for signing the second content including the encrypted plain text source code and the license verification code with the operator's certificate, and then transferring the same to the conversion unit.
상기 변환부는,Wherein,
상기 서명부로부터 전달받은 암호화된 평문 소스코드 및 라이센스 검증코드가 포함되고, 서명이 추가된 제2 콘텐츠를 상기 출력부로 전달할 수 있다.The encrypted plain text source code and the license verification code received from the signing unit are included, and the second content added with the signature may be delivered to the output unit.
또한, 변환장치는 상기 제2 콘텐츠를 사용자 단말로 전송하는 다운로드 서버에 탑재될 수 있다.In addition, the conversion apparatus may be mounted in the download server for transmitting the second content to the user terminal.
본 발명의 다른 특징에 따른 콘텐츠 변환 방법은, 콘텐츠 변환 장치가 콘텐츠를 변환하는 방법으로서, 외부로부터 WAC(Wholesale Application Community) 규격에 따른 제1 콘텐츠를 입력받는 단계; 빌드 환경에 따라 달라지는 사전 정의된 환경 변수를 참조하여 상기 콘텐츠 변환 장치가 구동되는 단계; 위젯 파일을 apk 파일로 변환하기 위한 실행 바이너리 파일을 이용하여 상기 제1 콘텐츠를 안드로이드 플랫폼에서 실행 가능한 제2 콘텐츠로 변환한 후, 빌드하는 단계; 및 상기 제2 콘텐츠를 외부로 출력하는 단계를 포함한다.According to another aspect of the present invention, there is provided a content converting method comprising: a method of converting content by a content converting device, the method comprising: receiving first content according to a WAC specification from an external source; Driving the content conversion apparatus with reference to a predefined environment variable that varies according to a build environment; Converting the first content into a second executable executable on the Android platform using an executable binary file for converting the widget file into an apk file, and then building; And outputting the second content to the outside.
이때, 상기 입력받는 단계 이전에,At this time, before the step of receiving the input,
소프트웨어 빌드 프로세스를 자동화하는 Apache Ant를 다운로드하여 설치하는 단계; 및 상기 Apache Ant의 bin 디렉터리를 path로 등록하는 단계를 더 포함하고,Downloading and installing Apache Ant to automate the software build process; And registering the bin directory of the Apache Ant as a path.
상기 구동되는 단계는, The driven step,
환경 변수로 antpath-상기 Apache ant의 bin디렉터리의 절대 경로를 말함-를 참조할 수 있다.You can refer to antpath as an environment variable, which refers to the absolute path of the bin directory of Apache ant.
또한, 상기 입력받는 단계 이전에,In addition, before the step of receiving the input,
안드로이드 개발 프로그램인 안드로이드 sdk를 다운로드하여 설치하는 단계; 및 환경 변수에 상기 안드로이드 sdk의 tools 디렉터리를 path로 등록하는 단계를 더 포함하고,Downloading and installing the android sdk, which is an android development program; And registering the tools directory of the android sdk as a path in an environment variable.
상기 구동되는 단계는,The driven step,
환경 변수로 Androidpath-상기 안드로이드 sdk의 tools 디렉터리 절대 경로를 말함-를 참조할 수 있다.You can refer to Androidpath as the environment variable, which refers to the absolute path to the tools directory of the Android sdk above.
또한, 상기 빌드하는 단계는,In addition, the building step,
외부로부터 입력받은 입력 파라미터 및 라이브러리 형태로 제공되는 상기 실행 바이너리 파일을 이용하여 상기 제1 콘텐츠를 상기 제2 콘텐츠로 변환하는 단계; 상기 제2 콘텐츠에 상기 안드로이드 플랫폼에서 실행 가능한 추가 기능을 삽입하는 단계; 및 상기 추가 기능이 삽입된 제2 콘텐츠를 빌드하는 단계를 더 포함하고,Converting the first content into the second content using the executable binary file provided in the form of an input parameter and a library received from an external source; Inserting an additional function executable on the Android platform into the second content; And building second content into which the additional function is inserted,
상기 구동되는 단계는,The driven step,
환경 변수로 wgtviewpath-상기 추가 기능 삽입을 수행하기 위한 Widgetview.zip 파일의 절대 경로를 의미함-를 참조할 수 있다.As an environment variable, we can refer to wgtviewpath, which means the absolute path of the Widgetview.zip file for executing the add-in.
또한, 상기 삽입하는 단계는,In addition, the inserting step,
상기 제2 콘텐츠의 평문 소스코드를 암호화하는 단계; 및 상기 제2 콘텐츠의 라이센스를 검증하기 위한 코드를 삽입하는 단계를 포함할 수 있다.Encrypting plain text source code of the second content; And inserting code for verifying a license of the second content.
또한, 상기 삽입하는 단계와 상기 빌드하는 단계 사이에,In addition, between the inserting step and the building step,
상기 제2 콘텐츠에 사업자의 인증서로 서명하는 단계를 더 포함할 수 있다.The method may further include signing the second content with a certificate of an operator.
본 발명의 또 다른 특징에 따른 사용자 단말은, 안드로이드 플랫폼을 탑재하는 사용자 단말로서, 라이센스 검증코드를 포함하는 apk 형식의 콘텐츠가 다운로드되어 저장되는 저장부; 상기 라이센스 검증코드에 따라 상기 콘텐츠의 정상 구매 여부를 검증하는 검증부; 및 상기 검증부의 검증 성공 여부에 따라 상기 콘텐츠의 실행 여부를 결정하는 실행부를 포함한다.According to another aspect of the present invention, there is provided a user terminal including: a storage unit configured to download and store contents of an apk format including a license verification code as a user terminal on which an Android platform is mounted; A verification unit which verifies whether the content is normally purchased according to the license verification code; And an execution unit that determines whether to execute the content according to whether or not the verification unit succeeds in verifying the content.
이때, 상기 라이센스 검증코드는, At this time, the license verification code,
상기 콘텐츠 제공 서버의 접속 주소를 포함하며, An access address of the content providing server,
상기 검증부는, Wherein the verifying unit comprises:
상기 접속 주소를 이용하여 접속한 콘텐츠 제공 서버와 연동하여 상기 콘텐츠의 정상 구매 여부를 판단할 수 있다.It is possible to determine whether the content is normally purchased by interworking with a content providing server connected using the access address.
본 발명의 실시예에 따르면, 확장자가 wgt인 콘텐츠를 모바일 플랫폼에서 실행 가능하도록 apk 확장자의 콘텐츠로 변환하고, 이때, 변환하는 과정에서 소스코드를 암호화하는 모듈과 이동통신사에서 제공하는 라이센스 검증모듈을 적용함으로써 소스코드의 수정 및 악의적인 목적의 재배포를 차단할 뿐만 아니라 불법복제된 컨텐츠의 유포 및 실행 가능성을 사전에 차단한다. According to an embodiment of the present invention, a content having a wgt extension is converted into apk extension content to be executed on a mobile platform, and at this time, a module for encrypting a source code and a license verification module provided by a mobile communication company By not only preventing the modification of source code and redistribution for malicious purpose, but also proactively preventing the distribution and execution of illegally copied contents.
도 1은 본 발명의 실시예에 따른 전체 시스템 구성도이다.
도 2는 본 발명의 한 실시예에 따른 도 1의 변환 장치의 세부 구성을 나타낸 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 도 1의 변환 장치의 세부 구성을 나타낸 블록도이다.
도 4는 본 발명의 한 실시예에 따른 변환 장치의 변환 방법을 나타낸 순서도이다.
도 5는 본 발명의 다른 실시예에 따른 변환 장치의 변환 방법을 나타낸 순서도이다.
도 6은 본 발명의 한 실시예에 따른 도 1의 사용자 단말의 세부 구성을 나타낸 블록도이다.
도 7은 본 발명의 다른 실시예에 따른 도 1의 사용자 단말의 세부 구성을 나타낸 블록도이다.
도 8은 본 발명의 실시예에 따른 사용자 단말의 콘텐츠 실행 방법을 나타낸 순서도이다.1 is an overall system configuration according to an embodiment of the present invention.
2 is a block diagram illustrating a detailed configuration of the converter of FIG. 1 according to an embodiment of the present invention.
3 is a block diagram illustrating a detailed configuration of the converter of FIG. 1 according to another embodiment of the present invention.
4 is a flowchart illustrating a conversion method of a conversion device according to an embodiment of the present invention.
5 is a flowchart illustrating a conversion method of a conversion device according to another embodiment of the present invention.
6 is a block diagram showing a detailed configuration of a user terminal of FIG. 1 according to an embodiment of the present invention.
7 is a block diagram showing a detailed configuration of a user terminal of FIG. 1 according to another embodiment of the present invention.
8 is a flowchart illustrating a content execution method of a user terminal according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.
또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Also, the terms " part, "" module," and " module ", etc. in the specification mean a unit for processing at least one function or operation and may be implemented by hardware or software or a combination of hardware and software have.
본 명세서에서 단말(terminal)은 이동국(Mobile Station, MS), 이동 단말(Mobile Terminal, MT), 가입자국(Subscriber Station, SS), 휴대 가입자국(Portable Subscriber Station, PSS), 사용자 장치(User Equipment, UE), 접근 단말(Access Terminal, AT) 등을 지칭할 수도 있고, 단말, 이동 단말, 가입자국, 휴대 가입자 국, 사용자 장치, 접근 단말 등의 전부 또는 일부의 기능을 포함할 수도 있다.In this specification, a terminal includes a mobile station (MS), a mobile terminal (MT), a subscriber station (SS), a portable subscriber station (PSS), a user equipment , An access terminal (UE), an access terminal (AT), and the like, and may include all or some functions of a terminal, a mobile terminal, a subscriber station, a mobile subscriber station, a user equipment,
본 명세서에서 기지국(base station, BS)은, 접근점(Access Point, AP), 무선 접근국(Radio Access Station, RAS), 노드B(Node B), 고도화 노드B(evolved NodeB, eNodeB), 송수신 기지국(Base Transceiver Station, BTS), MMR(Mobile Multihop Relay)-BS 등을 지칭할 수도 있고, 접근점, 무선 접근국, 노드B, eNodeB, 송수신 기지국, MMR-BS 등의 전부 또는 일부의 기능을 포함할 수도 있다.In this specification, a base station (BS) includes an access point (AP), a radio access station (RAS), a node B, an evolved NodeB (eNodeB) A base station (BTS), a mobile multihop relay (MMR) -BS, or the like, and may perform all or a part of functions of an access point, a radio access station, a Node B, an eNodeB, a base transceiver station, .
이하, 도면을 참조로 하여 본 발명의 실시예에 따른 변환 장치, 변환 방법 및 사용자 단말에 대하여 상세히 설명한다.Hereinafter, a conversion apparatus, a conversion method, and a user terminal according to an embodiment of the present invention will be described in detail with reference to the drawings.
도 1은 본 발명의 실시예에 따른 전체 시스템 구성도이다.1 is an overall system configuration according to an embodiment of the present invention.
도 1을 참조하면, 콘텐츠 서버(100), 다운로드 서버(200) 및 사용자 단말(300)을 포함한다. Referring to FIG. 1, a
여기서, 콘텐츠 서버(100)는 K-Apps 규격에 따른 제1 콘텐츠를 저장하고, 판매하는 서버로서, 예컨대 앱스토어일 수 있다.Here, the
여기서, K-Apps는 국내 개발자들이 모바일 운영체제(OS) 구분 없이 여러 제조사 단말을 공통으로 지원하는 웹플랫폼 기반 앱을 모아 이통3사 앱스토어로 판매할 수 있는 앱 장터이자 이를 주도하는 협의체로서, 글로벌 'WAC(Wholesale Application Community)'과 호환된다.Here, K-Apps is an app marketplace and a leading council that allows domestic developers to collect web platform-based apps that support multiple manufacturers' terminals in common, regardless of mobile operating system (OS), and sell them as three mobile app stores. It is compatible with the WAC (Wholesale Application Community).
이때, WAC은 스마트폰 응용프로그램을 공유할 수 있는 일종의 도매시장 개념의 슈퍼 앱스토어로서, 지난해 2월 모바일월드콩그레스(MWC)에서 통신사와 제조사들이 결성한 앱 도매 장터이자 국제 표준화 조직이며, 전세계의 주요 통신사들 및제조업체가 참여하고 있다. 이러한 WAC은 전 세계 어플리케이션 개발자에게 표준화된 개발 환경을 제공한다. At this time, WAC is a kind of wholesale market concept that can share smartphone applications. It is an app wholesale market and international standardization organization formed by mobile operators and manufacturers at Mobile World Congress (MWC) last February. Major carriers and manufacturers are involved. These WACs provide a standardized development environment for application developers around the world.
이러한 K-Apps 규격에 따른 제1 콘텐츠는 '.wgt'의 확장자를 가지는 HTML(HyperText Markup Language), CSS(Cascading Style Sheets), Javascript 소스 형태의 위젯 파일이다. The first content according to the K-Apps standard is a widget file in the form of HyperText Markup Language (HTML), Cascading Style Sheets (CSS), or JavaScript source having an extension of '.wgt'.
다운로드 서버(200)는 네트워크(미도시)를 통해 제1 콘텐츠를 전송하는 서버로서, 콘텐츠 서버(100)와 연결되는 별도의 서버로 구현되거나 또는 콘텐츠 서버(100)에 탑재되어 다운로드 기능을 수행하도록 구현될 수 있다.The download server 200 is a server for transmitting the first content through a network (not shown). The download server 200 may be implemented as a separate server connected to the
이러한 다운로드 서버(200)는 본 발명의 실시예에 따른 변환 장치(300)를 포함한다. 여기서, 변환 장치(300)는 K-Apps 규격에 따른 제1 콘텐츠를 안드로이드 플랫폼에서 실행 가능한 '.apk' 확장자를 가지는 제2 콘텐츠로 변환한다. The download server 200 includes a
이때, 안드로이드는 스마트폰에서 프로그램을 실행하도록 하는 구글이 만든 모바일 전용 운영체제를 말한다.In this case, Android refers to a mobile-only operating system made by Google that allows a program to run on a smartphone.
또한, 다운로드 서버(200)는 네트워크(미도시)를 통해 연결된 사용자 단말(400)로 변환 장치(300)에 의해 변환된 제2 콘텐츠를 전송한다. In addition, the download server 200 transmits the second content converted by the
사용자 단말(400)은 정상 구매한 제1 콘텐츠의 다운로드를 다운로드 서버(200)로 요청하고, 제2 콘텐츠를 수신하여 실행한다. The
여기서, 제1 콘텐츠 및 제2 콘텐츠는 디지털 포맷으로 제작 또는 가공한 디지털 콘텐츠로서, 다양한 기능을 구현하는 애플리케이션을 포함한다.Here, the first content and the second content are digital content produced or processed in a digital format, and include an application that implements various functions.
도 2는 본 발명의 한 실시예에 따른 도 1의 변환 장치의 세부 구성을 나타낸 블록도이고, 도 3은 본 발명의 다른 실시예에 따른 도 1의 변환 장치의 세부 구성을 나타낸 블록도이다.2 is a block diagram illustrating a detailed configuration of the converter of FIG. 1 according to an embodiment of the present invention, and FIG. 3 is a block diagram illustrating a detailed configuration of the converter of FIG. 1 according to another embodiment of the present invention.
먼저, 도 2를 참조하면, 변환 장치(300)는 입력부(301), 변환부(303), 구성부(305), 서명부(307), 구동부(309) 및 출력부(311)를 포함한다. First, referring to FIG. 2, the
여기서, 구동부(309)는 환경 변수를 참조하여 변환부(303), 구성부(305), 서명부(307)를 구동시킨다. 변환부(303)가 변환한 제2 콘텐츠는 구성부(305)에 의해 추가 기능이 삽입된 후, 변환부(303)에 의해 빌드되어 서명부(307)로 출력되고, 서명부(307)가 서명을 추가한 후, 출력부(311)로 전달된다.Here, the driving
이때, 입력부(301)로 입력된 제1 콘텐츠는 구성부(305)에 입력되어 안드로이드 플랫폼에서 실행 가능하도록 추가 기능이 삽입된 후, 변환부(303) 및 서명부(307)를 거치도록 구현될 수도 있다. In this case, the first content input to the
변환 장치(300)는 '.wgt'의 확장자를 가지는 제1 콘텐츠를 '.apk' 확장자를 가지는 제2 콘텐츠로 변환하기 위한 기능을 라이브러리(lib) 형태로 제공하는 convert.jar 파일, '.apk' 확장자를 가지는 제2 콘텐츠를 구성하기 위해서 필요한 widgetview.zip 파일, '.apk' 확장자를 가지는 제2 콘텐츠에 서명(sign)을 하기 위한 keystore 파일, 빌드(build)에 필요한 정보를 정의한 buildconfig.xml 파일 및 convert.jar를 실행하기 위한 입력 파라미터(parameter) 변수를 이용하여 콘텐츠 변환을 수행한다. The
변환 장치(300)의 세부 구성요소에 대하여 설명하면 다음과 같다. 여기서, 입력부(301)는 K-Apps 규격에 따른 제1 콘텐츠 및 입력 파라미터 변수를 입력받는다. 이러한 입력부(301)는 콘텐츠 제공 서버(도 1의 100)로부터 제1 콘텐츠를 입력받는다. Detailed components of the
변환부(303)는 라이브러리(lib) 형태로 변환 기능을 제공하는 convert.jar 파일을 실행하여 K-apps 규격에 따른 코드를 안드로이드 플랫폼에서 해석할 수 있는 코드 즉 apk 형식의 코드로 변환한다. 이처럼, 변환 기능을 convert.jar라는 lib 형태로 제공하기 때문에 입력 파라미터를 추가함으로써 변환 장치(300)의 기능 확장이 용이하다.The
이때, convert.jar 파일은 wgt→apk 로 변환하기 위한 실행 바이너리로 jar 파일이다. 이러한 convert.jar 파일을 실행하기 위한 입력 파라미터(parameter) 변수는 입력부(301)를 통해 변환부(303)로 입력된다.At this time, convert.jar file is an executable binary to convert wgt → apk. An input parameter variable for executing the convert.jar file is input to the converting
여기서, 입력 파라미터 변수는 convert.jar 파일을 실행시키는 정보로서, 실행 방법은 두가지가 있다. 한 실시예에 따르면, 스탠드 얼론(stand-alone)으로 직접 명령어를 입력하여 실행한다. 다른 실시예에 따르면, convert.jar 파일 내의 클래스를 외부 자바코드에서 임포트(import)하여 클래스 함수를 직접 호출하여 실행한다. 이때, apk 파일 생성을 위한 정보를 입력받으며 입력이 없을시 디폴트(default)로 지정된 값을 사용한다. 디폴트로 지정된 입력 파라미터 변수는 빌드 설정 파일 경로, widget wgt 파일 경로, apk 생성 디렉토리 경로, android manifest 파일에 들어갈 versioncode, versionname, apk를 빌드할 ANDROID target ID, 빌드 후 생성되는 apk 파일 이름, target WRT의 WAC-min-version, WRT의 product ID, 디버그 옵션, 로그 파일 경로, 이동통신 사업자 ARM 시스템을 위한 product ID, 이동통신 사업자 ARM 시스템을 위한 product copyright을 포함한다.Here, the input parameter variable is information for executing the convert.jar file, and there are two ways to execute it. According to an embodiment, the command is directly executed by executing stand-alone. According to another embodiment, a class in the convert.jar file is imported from external Java code and executed by directly calling a class function. At this time, it receives the information for creating an apk file and uses the default value when there is no input. Input parameter variables specified by default include build configuration file path, widget wgt file path, apk generation directory path, versioncode to be included in android manifest file, versionname, ANDROID target ID to build apk, apk file name to be created after build, target WRT Includes WAC-min-version, product ID of the WRT, debug options, log file path, product ID for the carrier ARM system, and product copyright for the carrier ARM system.
또한, 변환부(303)는 convert.jar 파일을 실행하여 wgt 타입의 제1 콘텐츠를apk 타입의 제2 콘텐츠로 변환하여 sdk로 컴파일한 후, 배포 가능하도록 빌드한다. 여기서, 빌드는 일반적으로 target OS와 CPU에서 구동할 수 있도록 컴파일된 파일을 실행 코드로 변경하는 것을 지칭한다.In addition, the
구성부(305)는 widgetview.zip 파일을 실행하여 안드로이드(android)에서 실행 가능하도록 변환부(303)가 변환한 제2 콘텐츠에 필요한 기능을 삽입한다. 즉 변환부(303)가 변환한 제2 콘텐츠가 K-apps 규격에 따른 특성을 가지도록 기능을 삽입한다. 이러한 widgetview.zip 파일을 통해 변환부(303)가 변환한 제2 콘텐츠는 안드로이드 플랫폼에서 K-apps 규격을 가지면서도 실행이 가능하도록 구성된다. '.wgt'와 '.apk'는 실행 환경(runtime)이 다르기 때문에 필요한 특성이 다르다. 따라서, 구성부(305)는 '.apk' 환경을 고려하여 여러 기능을 추가로 지원한다. The
이때, widgetview.zip 파일은 '.apk' 타입으로 설치되어 안드로이드 단말 플랫폼에서 실행하기 위한 실행 코드가 삽입된 안드로이드 JAVA 코드 파일의 모음이며, widgetview.zip 파일을 통해 안드로이드 단말 플랫폼에서 실행 가능한 '.apk' 타입 콘텐츠의 구성 요소를 갖추게 된다. At this time, the widgetview.zip file is a collection of Android JAVA code files that are installed as '.apk' types and have executable code for execution on the Android terminal platform. The '.apk' executable on the Android terminal platform through the widgetview.zip file 'Type components of content.
여기서, 구성부(305)는 변환부(303)가 변환한 제2 콘텐츠의 소스코드 즉 플레인 텍스트(plain text)를 암호화한다. 이처럼, 소스코드를 암호화시킴으로써 소스코드의 변조를 방지할 수 있다.Here, the
또한, 구성부(305)는 사업자 예를들어 이동통신 사업자가 제공하는 라이센스 검증코드를 제2 콘텐츠에 포함시킨다. 이렇게 하면, 불법 복제된 컨텐츠의 유포 및 실행 가능성을 사전에 차단하여 이동통신사의 마켓에서 배포하는 콘텐츠를 정상적으로 구매하지 않고 무단 사용하려는 것을 방지할 수 있다. In addition, the
서명부(307)는 keystore 파일을 실행하여 구성부(305)가 출력하는 제2 콘텐츠에 서비스 제공자(operator)의 서명(sign)을 추가한다. 안드로이드 플랫폼은 '.apk' 타입 콘텐츠를 설치할 때 서명 여부를 확인하여 서명되지 않은 '.apk' 타입 콘텐츠의 경우 설치를 허락하지 않는다. 여기서, keystore 파일은 사업자의 인증서로 서명하도록 하는 기능을 제공한다. The
또한, apk 빌드를 위한 모든 동작은 Shell Command로 이루어지는데, Shell Command를 사용하려면 별도의 시스템 환경 변수 설정이 반드시 필요하며 정상적으로 설정되지 않을시 변환 장치(300)는 정상 동작하지 않는다. 따라서, 구동부(309)는 Apache Ant 또는 안드로이드 sdk를 다운받아 설치한 후, 시스템 환경변수를 설정한다. 즉 구동부(309)는 Apache Ant 또는 안드로이드 sdk를 포함하는 외부 툴(tool)을 사전에 다운로드하여 설치한다. 여기서, Apache Ant는 소프트웨어 빌드 프로세스를 자동화하는 프로그램이다. 또한, 안드로이드 sdk는 안드로이드 개발 프로그램이다.In addition, all operations for apk build are made of Shell Command. To use the Shell Command, a separate system environment variable setting is required, and the
구동부(309)는 앞서 기재한 외부 툴을 실행시켜 변환부(303), 구성부(305) 및 서명부(307)의 동작을 구동시킨다. 이때, 외부 툴의 경로 정보가 필요하며 가장 최우선적으로 환경 변수를 참조한다.The
구동부(309)는 Apache Ant를 다운로드하여 설치한 경우, Apache Ant의 bin 디렉터리를 path로 등록한다. 그리고 환경 변수로 antpath 즉 Apache ant의 bin 디렉터리의 절대 경로를 참조한다. The
구동부(309)는 안드로이드 sdk를 다운로드하여 설치한 경우, Android sdk의 tools 디렉터리를 path로 등록한다. 그리고 환경 변수로 Androidpath 즉 안드로이드 sdk의 tools 디렉터리 절대 경로를 참조한다.The
구동부(309)는 빌드(build)에 필요한 정보를 정의한 buildconfig.xml 파일 에 정의된 buildconfig의 환경을 참조하여 외부 툴을 실행시켜 변환부(303), 구성부(305) 및 서명부(307)의 동작을 구동시킨다. The driving
이때, buildconfig.xml 파일은 빌드 환경에 따라 시스템 환경 변수가 달라질 수 있는 점을 고려하여 환경 변수를 제대로 인지할 수 있도록 지원하는 파일이다. 즉 변환 장치(300)의 각 구성요소(303, 305, 307)가 인식할 수 있는 환경 변수가 buildconfig.xml 파일에 입력된다. In this case, the buildconfig.xml file is a file that supports proper recognition of environment variables in consideration of the fact that system environment variables may vary depending on the build environment. That is, environment variables that can be recognized by each
이때, 환경 변수로 참조되는 모든 경로는 절대 경로만 허용하며 상대 경로는 허용하지 않는다. 이는 상대경로를 사용할 경우 Shell에서 정상적으로 경로를 인식하지 못하기 때문에 변환 장치(300)가 정상적으로 동작할 수 없기 때문이다. At this time, all paths referred to as environment variables only allow absolute paths, not relative paths. This is because the
buildconfig.xml 파일이 제공하는 환경 변수는 아래 표 1과 같다.The environment variables provided by the buildconfig.xml file are shown in Table 1 below.
(구동부)Generator
(Drive part)
(서명부)Sign_keystore
(Sign book)
출력부(311)는 서명부(307)가 출력하는 제2 콘텐츠를 외부로 출력한다. 여기서, 외부는 네트워크(미도시)에 연결된 사용자 단말(400)이 될 수 있다. 그리고 출력부(311)가 출력하는 제2 콘텐츠는 소스코드가 암호화된 플레인 텍스트(plain text)와 라이센스 검증 코드가 삽입되어 있다.The
지금까지 기술된 제1 콘텐츠는 '.wgt' 콘텐츠와 동일하며 혼용되었다. 그리고 제2 콘텐츠는 '.apk' 콘텐츠와 동일하며 혼용되었다.The first content described so far is the same as the '.wgt' content and is mixed. The second content is the same as the '.apk' content and is mixed.
다음, 변환 장치(300)는 도 3과 같이 구현될 수 있다. Next, the
도 3은 도 2를 참고하여 설명한 입력부(301), 변환부(303), 구성부(305), 서명부(307), 구동부(309) 및 출력부(311)의 기능 중 적어도 일부를 수행하는데 사용할 수 있는 변환 장치(500)를 나타낸다. 이러한 변환 장치(500)는 프로세서(501), 메모리(503), 적어도 하나의 저장장치(505), 입출력(input/output, I/O) 인터페이스(507) 및 네트워크 인터페이스(509)를 포함하는 컴퓨터 시스템으로 구현될 수 있다. 3 is used to perform at least some of the functions of the
프로세서(501)는 중앙처리 유닛(central processing unit, CPU)이나 기타 칩셋, 마이크로프로세서 등으로 구현될 수 있으며, 메모리(503)는 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM), 램버스 DRAM(rambus DRAM, RDRAM), 동기식 DRAM(synchronous DRAM, SDRAM), 정적 RAM(static RAM, SRAM) 등의 RAM과 같은 매체로 구현될 수 있다. The
저장 장치(505)는 하드디스크(hard disk), CD-ROM(compact disk read only memory), CD-RW(CD rewritable), DVD-ROM(digital video disk ROM), DVD-RAM, DVD-RW 디스크, 블루레이(blue-ray) 디스크 등의 광학디스크, 플래시메모리, 다양한 형태의 RAM과 같은 영구 또는 휘발성 저장장치로 구현될 수 있다. The
또한, I/O 인터페이스(507)는 프로세서(501) 및/또는 메모리(503)가 저장 장치(505), 입력장치(509) 및 표시장치(511)에 접근할 수 있도록 하며, 네트워크 인터페이스(509)는 프로세서(501) 및/또는 메모리(503)가 네트워크(미도시)에 접근할 수 있도록 한다.In addition, I / O interface 507 allows
이 경우, 프로세서(501)는 입력부(301), 변환부(303), 구성부(305), 서명부(307), 구동부(309) 및 출력부(311)의 기능의 적어도 일부 기능을 구현하기 위한 프로그램 명령을 메모리(503)에 로드하고, 도 2를 참고로 하여 설명한 동작이 수행되도록 제어할 수 있다. In this case, the
이러한 변환 장치(300)의 동작에 대해 설명하면 다음과 같다.The operation of the
도 4는 본 발명의 한 실시예에 따른 변환 장치의 변환 방법을 나타낸 순서도이다.4 is a flowchart illustrating a conversion method of a conversion device according to an embodiment of the present invention.
도 4를 참조하면, 구동부(309)가 사전에 소프트웨어 빌드 프로세스를 자동화하는 Apache Ant를 다운로드하여 설치한다(S101).Referring to FIG. 4, the
다음, 구동부(309)가 환경변수로서 Apache Ant의 bin 디렉터리를 path로 등록한다(S103).Next, the driving
이후, 입력부(301)를 통해 K-apps 규격에 따른 제1 콘텐츠가 입력된다(S105). 이때, S105 단계는 보다 세부적으로 설명하면, 다음과 같다. 구동부(309)는 빈 프로젝트를 생성하는데, apk로 빌드가 가능하도록 Ant Script가 build.xml이란 이름으로 함께 생성된다. 그리고 안드로이드의 Assets 디렉토리에 Widget 파일 즉 K-apps 규격에 따른 제1 콘텐츠가 리소스로 삽입된다.Thereafter, the first content according to the K-apps standard is input through the input unit 301 (S105). At this time, step S105 will be described in more detail as follows. The
다음, 입력부(301)를 통해 변환부(303)로 앞서 기재한 입력 파라미터 변수가 입력된다(S107).Next, the above-described input parameter variable is input to the
다음, 구동부(309)는 S103 단계에서 등록된 Antpath 및 구성부(305)가 등록한 Wgtviewpath를 환경변수로 참조하여 변환부(303), 구성부(305) 및 서명부(307)를 구동시킨다(S109).Next, the driving
다음, 변환부(303)는 S107 단계에서 입력받은 입력 파라미터 및 라이브러리 형태로 제공되는 실행 바이너리 파일 즉 convert.jar 파일을 이용하여 S105 단계에서 입력받은 제1 콘텐츠를 apk 타입의 제2 콘텐츠로 변환한다(S111).Next, the converting
다음, 구성부(305)는 S111 단계에서 변환된 제2 콘텐츠에 widgetview.zip 파일을 통하여 앞서 기재한 암호화 코드 및 라이센스 검증 코드를 삽입한다(S113). Next, the
이때, widgetview.zip 파일의 Java코드를 S105 단계에서 생성된 안드로이드 프로젝트의 src 디렉토리에 복사한다. At this time, copy the Java code of the widgetview.zip file to the src directory of the Android project created in step S105.
그리고 구동부(309)가 제공하는 config.xml 파일을 파싱(parsing)하여 Floating mode의 지원여부와 패키지명을 생성하여 widgetview.zip 파일의 자바(Java)를 수정한다. The config.xml file provided by the
그리고 변환된 제2 콘텐츠를 암호화한다. Then, the converted second content is encrypted.
그리고 라이센스 검증 코드를 libs 디렉토리에 추가하고 빌드 스크립트에 classpath 옵션을 추가한다.Then add the license verification code to the libs directory and add the classpath option to the build script.
다음, 변환부(303)가 S113 단계에서 암호화 코드 및 라이센스 검증 코드가 삽입된 제2 콘텐츠를 빌드한다(S115). 즉 Ant에서 Build.xml을 설정파일로 APK 빌드한다. 이때, APK는 unsigned로 빌드된다.Next, the
다음, 서명부(307)가 S115 단계에서 빌드된 제2 콘텐츠에 사업자의 인증서로 서명한다(S117).Next, the
다음, 출력부(311)가 안드로이드 플랫폼에서 실행 가능한 apk 타입의 콘텐츠 즉 제2 콘텐츠를 출력한다(S119).Next, the
도 5는 본 발명의 다른 실시예에 따른 변환 장치의 변환 방법을 나타낸 순서도이다.5 is a flowchart illustrating a conversion method of a conversion device according to another embodiment of the present invention.
도 5를 참조하면, 구동부(309)가 사전에 안드로이드 개발 프로그램인 안드로이드 sdk를 다운로드하여 설치한다(S201).Referring to FIG. 5, the driving
다음, 구동부(309)가 환경변수로서 안드로이드 sdk의 tools 디렉터리를 path로 등록한다(S203).Next, the driving
이후, 입력부(301)를 통해 K-apps 규격에 따른 제1 콘텐츠가 입력된다(S205). 이때, S205 단계는 도 4의 S105 단계와 동일하다. Thereafter, the first content according to the K-apps standard is input through the input unit 301 (S205). At this time, step S205 is the same as step S105 of FIG. 4.
다음, 입력부(301)를 통해 변환부(303)로 앞서 기재한 입력 파라미터 변수가 입력된다(S207). 이때, S207 단계는 도 4의 S107 단계와 동일하다.Next, the above-described input parameter variable is input to the
다음, 구동부(309)는 S203 단계에서 등록된 Androidpath 및 구성부(305)가 등록한 Wgtviewpath를 환경변수로 참조하여 변환부(303), 구성부(305) 및 서명부(307)를 구동시킨다(S209).Next, the driving
다음, 변환부(303)는 S207 단계에서 입력받은 입력 파라미터 및 convert.jar 파일을 이용하여 S205 단계에서 입력받은 제1 콘텐츠를 apk 타입의 제2 콘텐츠로 변환한다(S211).Next, the converting
다음, 구성부(305)는 S211 단계에서 변환된 제2 콘텐츠에 widgetview.zip 파일을 통하여 앞서 기재한 암호화 코드 및 라이센스 검증 코드를 삽입한다(S213). Next, the
이때, S213 단계는 도 4의 S113 단계와 동일하다.At this time, step S213 is the same as step S113 of FIG. 4.
다음, 변환부(303)가 S113 단계에서 암호화 코드 및 라이센스 검증 코드가 삽입된 제2 콘텐츠를 빌드한다(S215). 이때, S215 단계는 도 4의 S115 단계와 동일하다.Next, the
다음, 서명부(307)가 S115 단계에서 빌드된 제2 콘텐츠에 사업자의 인증서로 서명한다(S217).Next, the
다음, 출력부(311)가 안드로이드 플랫폼에서 실행 가능한 apk 타입의 콘텐츠 즉 제2 콘텐츠를 출력한다(S219).Next, the
도 6은 본 발명의 한 실시예에 따른 도 1의 사용자 단말의 세부 구성을 나타낸 블록도이고, 도 7은 본 발명의 다른 실시예에 따른 도 1의 사용자 단말의 세부 구성을 나타낸 블록도이다.6 is a block diagram showing a detailed configuration of the user terminal of FIG. 1 according to an embodiment of the present invention, Figure 7 is a block diagram showing a detailed configuration of the user terminal of Figure 1 according to another embodiment of the present invention.
먼저, 도 6을 참조하면, 사용자 단말(400)은 apk 콘텐츠(401)를 저장하는 저장부(403), 실행부(405) 및 검증부(407)를 포함한다.First, referring to FIG. 6, the
여기서, apk 콘텐츠(401)는 암호화된 평문(plain text) 소스코드 및 라이센스 검증코드를 포함한다.Here, the
저장부(403)는 외부로부터 예컨대 도 1의 다운로드 서버(200)로부터 수신되는 apk 콘텐츠(401)를 저장한다.The
실행부(405)는 검증부(407)의 정상 구매 여부를 판단한 결과 즉 검증 성공 여부에 따라 apk 콘텐츠(401)의 실행 여부를 결정한다.The
검증부(407)는 apk 콘텐츠(401)에 포함된 라이센스 검증코드에 따라 apk 콘텐츠(401)의 정상 구매 여부를 검증한다. 예를 들어, 라이센스 검증코드는 콘텐츠 제공 서버(100) 또는 검증 서버(미도시)의 접속 주소를 포함하며, 검증부(407)는 라이센스 검증코드에 포함된 접속 주소를 이용하여 접속한 서버와 연동하여 apk 콘텐츠(401)의 정상 구매 여부를 판단한다.The
다음, 사용자 단말(400)은 도 7과 같이 구현될 수 있다. Next, the
도 7은 도 6을 참고하여 설명한 저장부(403), 실행부(405) 및 검증부(407)의 기능 중 적어도 일부를 수행하는데 사용할 수 있는 사용자 단말(600)을 나타낸다. 이러한 사용자 단말(600)은 프로세서(601), 메모리(603), 적어도 하나의 저장장치(605), 입출력(input/output, I/O) 인터페이스(607) 및 네트워크 인터페이스(609)를 포함하는 컴퓨터 시스템으로 구현될 수 있다. FIG. 7 illustrates a
프로세서(601)는 중앙처리 유닛(central processing unit, CPU)이나 기타 칩셋, 마이크로프로세서 등으로 구현될 수 있으며, 메모리(603)는 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM), 램버스 DRAM(rambus DRAM, RDRAM), 동기식 DRAM(synchronous DRAM, SDRAM), 정적 RAM(static RAM, SRAM) 등의 RAM과 같은 매체로 구현될 수 있다. The
저장 장치(605)는 하드디스크(hard disk), CD-ROM(compact disk read only memory), CD-RW(CD rewritable), DVD-ROM(digital video disk ROM), DVD-RAM, DVD-RW 디스크, 블루레이(blue-ray) 디스크 등의 광학디스크, 플래시메모리, 다양한 형태의 RAM과 같은 영구 또는 휘발성 저장장치로 구현될 수 있다. The
또한, I/O 인터페이스(607)는 프로세서(601) 및/또는 메모리(603)가 저장 장치(605), 입력장치(609) 및 표시장치(611)에 접근할 수 있도록 하며, 네트워크 인터페이스(609)는 프로세서(601) 및/또는 메모리(603)가 네트워크(미도시)에 접근할 수 있도록 한다.In addition, I /
이 경우, 프로세서(601)는 실행부(405) 및 검증부(407)의 기능의 적어도 일부 기능을 구현하기 위한 프로그램 명령을 메모리(603)에 로드하고, 도 6을 참고로 하여 설명한 동작이 수행되도록 제어할 수 있다. In this case, the
그러면, 사용자 단말(400, 500)의 콘텐츠 실행 방법에 대해 설명하면 도 8과 같다. 이때, 도 6 및 도 7에서 설명한 내용과 동일한 구성 요소에 대한 설명은 동일한 도면 부호를 사용하여 설명한다. Then, the method of executing the content of the user terminal (400, 500) will be described with reference to FIG. In this case, descriptions of the same components as those described with reference to FIGS. 6 and 7 will be described using the same reference numerals.
도 8은 본 발명의 실시예에 따른 사용자 단말의 콘텐츠 실행 방법을 나타낸 순서도이다.8 is a flowchart illustrating a content execution method of a user terminal according to an embodiment of the present invention.
도 8을 참조하면, 저장부(403)는 apk 콘텐츠(401)를 다운로드하여 저장한다(S301).Referring to FIG. 8, the
다음, 실행부(405)는 저장부(403)에 저장된 apk 콘텐츠(401)를 실행한다(S303).Next, the
이때, 검증부(407)는 apk 콘텐츠(401)에 포함된 라이센스 검증코드에 따른 라이센스 검증 절차를 수행한다(S305). At this time, the
다음, 실행부(405)는 검증부(407)의 라이센스 검증이 성공하는지를 판단한다(S307).Next, the
다음, 실행부(405)는 라이센스 검증에 성공하는 경우, 실행을 허용(S309)하며, apk 콘텐츠(401)에 포함된 암호화된 평문 소스코드를 해석하여 실행한다(S311).Next, when the license verification is successful, the
한편, 실행부(405)는 라이센스 검증에 실패하는 경우, 실행을 중지한다(S313). 이때, '화면 상에 정상 구매 여부가 확인되지 않습니다'와 같은 문구를 표출할 수 있다.On the other hand, when the license verification fails, the
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다. The embodiments of the present invention described above are not implemented only by the apparatus and method, but may be implemented through a program for realizing the function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded.
본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although embodiments of the present invention have been described in detail, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also included in the scope of the present invention. It belongs to.
Claims (17)
상기 제1 콘텐츠를 안드로이드 플랫폼에서 실행 가능한 제2 콘텐츠로 변환한 후 빌드하는 변환부;
빌드 환경에 따라 달라지는 사전 정의된 환경 변수를 참조하여 상기 변환부를 구동시키는 구동부; 및
상기 변환부가 빌드한 제2 콘텐츠를 외부로 출력하는 출력부
를 포함하는 변환 장치.An input unit configured to receive first content according to a WAC standard;
A converter configured to convert the first content into second content executable on the Android platform and then build the content;
A driving unit driving the conversion unit by referring to a predefined environment variable that varies according to a build environment; And
Output unit for outputting the second content built by the conversion unit to the outside
Conversion device comprising a.
상기 변환부는,
위젯 파일을 apk 파일로 변환하기 위한 실행 바이너리 파일을 이용하여 변환 및 빌드를 수행하는 변환 장치.The method of claim 1,
Wherein,
Conversion device that performs conversion and build using executable binary file to convert widget file to apk file.
상기 입력부는, 입력 파라미터를 입력받아 상기 변환부로 전달하고,
상기 변환부는, 상기 입력 파라미터에 의해 실행되어 라이브러리 형태로 제공되는 상기 실행 바이너리 파일을 이용한 콘텐츠 변환을 수행하는 변환 장치.3. The method of claim 2,
The input unit receives an input parameter and delivers it to the conversion unit.
And the converting unit converts the content using the executable binary file which is executed by the input parameter and provided in a library form.
상기 입력부는,
상기 변환부를 실행시키는 명령어를 상기 입력 파라미터로 입력받는 변환 장치.The method of claim 3,
Wherein the input unit comprises:
And a conversion device receiving a command to execute the conversion unit as the input parameter.
상기 입력부는,
상기 실행 바이너리 파일의 클래스를 외부 자바코드에서 임포트하여 상기 실행 바이너리 파일의 클래스 함수를 직접 호출시키는 명령을 상기 입력 파라미터로 입력받는 변환 장치.The method of claim 3,
Wherein the input unit comprises:
And a command to import a class of the executable binary file from external Java code and directly call a class function of the executable binary file as the input parameter.
상기 구동부에 의해 구동되고, 상기 안드로이드 플랫폼에서 실행 가능하도록 추가 기능을 상기 제2 콘텐츠에 삽입하는 구성부를 더 포함하고,
상기 변환부는,
상기 추가 기능이 삽입된 제2 콘텐츠를 빌드한 후, 상기 출력부로 전달하는 변환 장치.The method of claim 1,
A component unit driven by the driving unit and inserting an additional function into the second content to be executable on the android platform,
Wherein,
And converting the second content into which the additional function is inserted, and delivering the built-in second content to the output unit.
상기 구성부는,
상기 변환부로부터 전달받은 제2 콘텐츠의 평문 소스코드를 암호화하고, 상기 제2 콘텐츠의 라이센스를 검증하기 위한 코드를 삽입한 후, 상기 변환부로 출력하며,
상기 변환부는,
암호화된 평문 소스코드 및 라이센스 검증코드가 포함된 제2 콘텐츠를 빌드한 후, 상기 출력부로 전달하는 변환 장치.The method according to claim 6,
The component part,
Encrypting the plain text source code of the second content received from the converting unit, inserting a code for verifying a license of the second content, and outputting to the converting unit,
Wherein,
A conversion device for building the second content containing the encrypted plain text source code and the license verification code, and delivers it to the output unit.
암호화된 평문 소스코드 및 라이센스 검증코드가 포함된 제2 콘텐츠에 사업자의 인증서로 서명한 후, 상기 변환부로 전달하는 서명부를 더 포함하고,
상기 변환부는,
상기 서명부로부터 전달받은 암호화된 평문 소스코드 및 라이센스 검증코드가 포함되고, 서명이 추가된 제2 콘텐츠를 상기 출력부로 전달하는 변환 장치.The method of claim 7, wherein
Further comprising a signature unit for signing the second content containing the encrypted plain text source code and the license verification code with a certificate of the operator, and forwarding to the conversion unit,
Wherein,
The conversion apparatus including the encrypted plain text source code and the license verification code received from the signature unit, and delivers the second content added to the signature to the output unit.
상기 제2 콘텐츠를 사용자 단말로 전송하는 다운로드 서버에 탑재되는 변환 장치.The method of claim 1,
And a conversion device mounted on a download server for transmitting the second content to a user terminal.
외부로부터 WAC(Wholesale Application Community) 규격에 따른 제1 콘텐츠를 입력받는 단계;
빌드 환경에 따라 달라지는 사전 정의된 환경 변수를 참조하여 상기 콘텐츠 변환 장치가 구동되는 단계;
위젯 파일을 apk 파일로 변환하기 위한 실행 바이너리 파일을 이용하여 상기 제1 콘텐츠를 안드로이드 플랫폼에서 실행 가능한 제2 콘텐츠로 변환한 후, 빌드하는 단계; 및
상기 제2 콘텐츠를 외부로 출력하는 단계
를 포함하는 콘텐츠 변환 방법.As a content conversion apparatus converts content,
Receiving a first content according to the WAC (Wholesale Application Community) standard from the outside;
Driving the content conversion apparatus with reference to a predefined environment variable that varies according to a build environment;
Converting the first content into a second executable executable on the Android platform using an executable binary file for converting the widget file into an apk file, and then building; And
Outputting the second content to the outside
Content conversion method comprising a.
상기 입력받는 단계 이전에,
소프트웨어 빌드 프로세스를 자동화하는 Apache Ant를 다운로드하여 설치하는 단계; 및
상기 Apache Ant의 bin 디렉터리를 path로 등록하는 단계를 더 포함하고,
상기 구동되는 단계는,
환경 변수로 antpath-상기 Apache ant의 bin디렉터리의 절대 경로를 말함-를 참조하는 콘텐츠 변환 방법.The method of claim 10,
Before the receiving step,
Downloading and installing Apache Ant to automate the software build process; And
The method may further include registering the bin directory of Apache Ant as a path.
The driven step,
A content conversion method that refers to an environment variable antpath, which refers to the absolute path of the bin directory of Apache ant.
상기 입력받는 단계 이전에,
안드로이드 개발 프로그램인 안드로이드 sdk를 다운로드하여 설치하는 단계; 및
환경 변수에 상기 안드로이드 sdk의 tools 디렉터리를 path로 등록하는 단계를 더 포함하고,
상기 구동되는 단계는,
환경 변수로 Androidpath-상기 안드로이드 sdk의 tools 디렉터리 절대 경로를 말함-를 참조하는 콘텐츠 변환 방법.The method of claim 10,
Before the receiving step,
Downloading and installing the android sdk, which is an android development program; And
And registering the tools directory of the android sdk as a path in an environment variable.
The driven step,
How to convert content that refers to the Androidpath, which is an absolute path to the tools directory of the Android sdk above as an environment variable.
상기 빌드하는 단계는,
외부로부터 입력받은 입력 파라미터 및 라이브러리 형태로 제공되는 상기 실행 바이너리 파일을 이용하여 상기 제1 콘텐츠를 상기 제2 콘텐츠로 변환하는 단계;
상기 제2 콘텐츠에 상기 안드로이드 플랫폼에서 실행 가능한 추가 기능을 삽입하는 단계; 및
상기 추가 기능이 삽입된 제2 콘텐츠를 빌드하는 단계를 더 포함하고,
상기 구동되는 단계는,
환경 변수로 wgtviewpath-상기 추가 기능 삽입을 수행하기 위한 Widgetview.zip 파일의 절대 경로를 의미함-를 참조하는 콘텐츠 변환 방법.The method of claim 10,
The building step is
Converting the first content into the second content using the executable binary file provided in the form of an input parameter and a library received from an external source;
Inserting an additional function executable on the Android platform into the second content; And
Building the second content into which the additional function is inserted;
The driven step,
Wgtviewpath as an environment variable, meaning the absolute path of the Widgetview.zip file to perform the add-in insertion.
상기 삽입하는 단계는,
상기 제2 콘텐츠의 평문 소스코드를 암호화하는 단계; 및
상기 제2 콘텐츠의 라이센스를 검증하기 위한 코드를 삽입하는 단계
를 포함하는 콘텐츠 변환 방법.The method of claim 13,
Wherein the inserting step comprises:
Encrypting plain text source code of the second content; And
Inserting code to verify a license of the second content
Content conversion method comprising a.
상기 삽입하는 단계와 상기 빌드하는 단계 사이에,
상기 제2 콘텐츠에 사업자의 인증서로 서명하는 단계
를 더 포함하는 콘텐츠 변환 방법.15. The method of claim 14,
Between the inserting step and the building step,
Signing the second content with an operator's certificate
Content conversion method further comprising.
라이센스 검증코드를 포함하는 apk 형식의 콘텐츠가 다운로드되어 저장되는 저장부;
상기 라이센스 검증코드에 따라 상기 콘텐츠의 정상 구매 여부를 검증하는 검증부; 및
상기 검증부의 검증 성공 여부에 따라 상기 콘텐츠의 실행 여부를 결정하는 실행부
를 포함하는 사용자 단말.As a user terminal equipped with the Android platform,
A storage unit for downloading and storing contents in apk format including a license verification code;
A verification unit which verifies whether the content is normally purchased according to the license verification code; And
An execution unit that determines whether to execute the content according to whether the verification unit succeeds in verifying
Lt; / RTI >
상기 라이센스 검증코드는,
상기 콘텐츠 제공 서버의 접속 주소를 포함하며,
상기 검증부는,
상기 접속 주소를 이용하여 접속한 콘텐츠 제공 서버와 연동하여 상기 콘텐츠의 정상 구매 여부를 판단하는 사용자 단말.17. The method of claim 16,
The license verification code,
An access address of the content providing server,
Wherein the verifying unit comprises:
And a user terminal that determines whether the content is normally purchased by interworking with a content providing server connected by using the access address.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120061042A KR101541526B1 (en) | 2012-06-07 | 2012-06-07 | conversion device, conversion method and user terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120061042A KR101541526B1 (en) | 2012-06-07 | 2012-06-07 | conversion device, conversion method and user terminal |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140011495A true KR20140011495A (en) | 2014-01-29 |
KR101541526B1 KR101541526B1 (en) | 2015-08-07 |
Family
ID=50143648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120061042A KR101541526B1 (en) | 2012-06-07 | 2012-06-07 | conversion device, conversion method and user terminal |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101541526B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160082728A (en) * | 2014-12-29 | 2016-07-11 | 주식회사 디지캡 | License verification system for web application |
CN111400246A (en) * | 2020-03-26 | 2020-07-10 | 广州酷旅旅行社有限公司 | Asynchronous file importing method and device, computer equipment and storage medium |
KR102352225B1 (en) * | 2021-05-27 | 2022-01-18 | 정주현 | System for providing cloud based application making service |
CN116301471A (en) * | 2023-05-18 | 2023-06-23 | 深圳前海环融联易信息科技服务有限公司 | Method for realizing automatic file insertion and automatic file insertion method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102011725B1 (en) * | 2017-12-28 | 2019-08-19 | 숭실대학교산학협력단 | Whitelist construction method for analyzing malicious code, computer readable medium and device for performing the method |
-
2012
- 2012-06-07 KR KR1020120061042A patent/KR101541526B1/en active IP Right Grant
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160082728A (en) * | 2014-12-29 | 2016-07-11 | 주식회사 디지캡 | License verification system for web application |
CN111400246A (en) * | 2020-03-26 | 2020-07-10 | 广州酷旅旅行社有限公司 | Asynchronous file importing method and device, computer equipment and storage medium |
CN111400246B (en) * | 2020-03-26 | 2023-12-19 | 广州酷旅旅行社有限公司 | Asynchronous file import method, device, computer equipment and storage medium |
KR102352225B1 (en) * | 2021-05-27 | 2022-01-18 | 정주현 | System for providing cloud based application making service |
CN116301471A (en) * | 2023-05-18 | 2023-06-23 | 深圳前海环融联易信息科技服务有限公司 | Method for realizing automatic file insertion and automatic file insertion method |
CN116301471B (en) * | 2023-05-18 | 2023-09-01 | 深圳前海环融联易信息科技服务有限公司 | Method for realizing automatic file insertion and automatic file insertion method |
Also Published As
Publication number | Publication date |
---|---|
KR101541526B1 (en) | 2015-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109214168B (en) | Firmware upgrading method and device | |
CN102830992B (en) | Plug-in loading method and system | |
KR101541526B1 (en) | conversion device, conversion method and user terminal | |
CN108229112B (en) | Protection application program, and running method and device of application program | |
CA2698066A1 (en) | System and method for remotely compiling multi-platform native applications for mobile devices | |
US9823909B1 (en) | Program code conversion for cross-platform compatibility | |
US8667600B2 (en) | Trusted computing source code escrow and optimization | |
CN101226569A (en) | Method and device for checking code module in virtual machine | |
CN104991793A (en) | Method, device and system used for application program subpackage | |
CN107273142B (en) | Program updating method, program running method and device | |
CN109815680B (en) | Application authority management method and device, terminal equipment and storage medium | |
US20180067777A1 (en) | Application protection method, server, and terminal | |
CN103177210A (en) | Method of implanting dynamic stain analysis module in Android | |
CN104331662A (en) | Method and device for detecting Android malicious application | |
Anderson et al. | Inglorious Installers: Security in the Application Marketplace. | |
CN104036194B (en) | Vulnerability detection method and device for revealing private data in application program | |
CN106709281B (en) | Patch granting and acquisition methods, device | |
CN108170461A (en) | Difference upgrade package generation method, difference upgrade method and device | |
US20150026483A1 (en) | Systems and Methods for Mobile Application Protection | |
CN112416395A (en) | Hot repair updating method and device | |
US9953157B2 (en) | Method and apparatus for protecting application program | |
CN113220314B (en) | APP resource loading and APK generation method, device, equipment and medium | |
KR20180028666A (en) | Method and apparatus for preventing reverse engineering | |
CN113242288A (en) | Internet of things equipment firmware upgrading method, system and device and storage medium | |
KR101520097B1 (en) | Program source code distributing system and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180612 Year of fee payment: 6 |