TWI334573B - Application procedure processing methods and systems, and machine readable medium thereof - Google Patents

Application procedure processing methods and systems, and machine readable medium thereof Download PDF

Info

Publication number
TWI334573B
TWI334573B TW96124633A TW96124633A TWI334573B TW I334573 B TWI334573 B TW I334573B TW 96124633 A TW96124633 A TW 96124633A TW 96124633 A TW96124633 A TW 96124633A TW I334573 B TWI334573 B TW I334573B
Authority
TW
Taiwan
Prior art keywords
code
link
binary image
application
information table
Prior art date
Application number
TW96124633A
Other languages
Chinese (zh)
Other versions
TW200903330A (en
Inventor
Wen Liang Chang
Yen Jen Chang
Original Assignee
Via Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Tech Inc filed Critical Via Tech Inc
Priority to TW96124633A priority Critical patent/TWI334573B/en
Publication of TW200903330A publication Critical patent/TW200903330A/en
Application granted granted Critical
Publication of TWI334573B publication Critical patent/TWI334573B/en

Links

Landscapes

  • Stored Programmes (AREA)

Description

1334573 九、發明說明: 【發明所屬之技術領域】 本發明係有關於一種應用程序處理方、土 α ^ J次,且特別有關 於一種可以對於應用程序進行保護之方法。 【先前技術】 urce1334573 IX. DESCRIPTION OF THE INVENTION: TECHNICAL FIELD OF THE INVENTION The present invention relates to an application processing method, and is specifically related to a method for protecting an application. [prior art] urce

在撰寫應用程序時’通常係先編寫來源碼(s_ Code),並將來源碼進行編譯(Compile),從而形成物 (Object Code)或是函式庫(Library)。其中,函式庫係物件碼 的集合。由於-個完整應用也許會使用多個函式庫,因 此在程式編譯的連結階段中’函式庫間將會相互進行連結 且改變位置(Relocation)以成為最終之二元赘像㊉迅° Image)。第1圖顯示習知之函式庫連結。如第i圖所二, 來源碼110進行編譯成為函式庫11丨之後,可以與$ ^庫 120與130等進行連結,以成為二元影像14〇。 對於一些開發業者而言,其開發的應用程序通常亦係 透過函式庫的方式來釋出給客戶,以提供客戶在開發業者 所提供之裝置上使用。客戶可以將所有的函式庫進行連結 之後’成為影像碼並燒入裝置之儲存單元,如唯讀記憶體 中。必須說明的是,若僅以函式庫的方式釋出給客戶,客 戶將可以非常容易地透過偵錯與反編譯工具將函式庫解 析’從而得知函式庫的相關資訊。舉例來說,第2圖顯示 習知記憶體中二元影像中程序執行的過程。如第2圖所 示,程序Func_b係欲保護的應用程序,且不希望客戶對於 程序Func_b進行任何分析與研究。習知地,當程序Func_aWhen writing an application, the source code (s_Code) is usually written first, and the source code is compiled (Compile) to form an Object Code or a Library. Among them, the library is a collection of object codes. Since a complete application may use multiple libraries, in the link phase of the program compilation, the functions will be linked to each other and the location will be changed to become the final binary image. ). Figure 1 shows a conventional library link. As shown in the second figure, after the source code 110 is compiled into the library 11丨, it can be linked with the $^ libraries 120 and 130 to become a binary image. For some developers, the applications they develop are usually released to the customer through a library to provide the customer with the device provided by the developer. The customer can connect all the libraries and then become the image code and burn it into the storage unit of the device, such as read-only memory. It must be noted that if it is released to the client only by means of a library, the client will be able to easily parse the library through the debug and decompile tools to learn about the library. For example, Figure 2 shows the process of program execution in a binary image in a conventional memory. As shown in Fig. 2, the program Func_b is an application to be protected, and the client is not expected to perform any analysis and research on the program Func_b. Conventionally, when the program Func_a

Client's Docket N〇.:VIT07-0037 TT’s Docket N〇:0608-A41186TW/Draft-Final/Yianhou/ 6 1334573 主體調用到程序Func_b時,可以輕易使用偵錯工具找到程 序Func_b的進入點,進而研究程序Func_b的撰寫方式。 因此,在習知的環境下,客戶非常容易將相應應用程 序之函式庫使用在非開發業者所提供的裝置或平台上,使 得應用程序的智慧財產受到損害。 【發明内容】 有鑑於此,本發明提供應用程序處理方法及系統。 本發明實施例之應用程序處理方法。首先,將一應用 程序編譯為至少一第一物件碼。由第一物件碼取出一連結 資訊,使得剩餘之第一物件碼成為一二元影像。於程式編 譯之一連結階段,提供至少一第二物件碼透過一函式介面 與連結資訊與二元影像進行連結、或於一執行階段,透過 函式介面接收一存取要求,且相應於存取要求透過函式介 面依據連結資訊執行二元影像。 本發明實施例之應用程序處理方法。首先,將一應用 程序編譯為至少一第一物件碼。由第一物件碼取得至少一 連結符號與至少一程式碼位移,且依據連結符號與程式碼 位移產生一連結資訊表。由第一物件碼取得至少一執行碼 與至少一常數資料,且依據執行碼與常數資料產生一二元 影像。於程式編譯之一連結階段,至少一第二物件碼透過 一函式介面與連結資訊表與二元影像進行連結。 本發明實施例之應用程序處理方法。首先,於一執行 階段透過一函式介面接收一存取要求。相應於存取要求, 透過函式介面存取一安全模組中之一應用程序與一二元影Client's Docket N〇.:VIT07-0037 TT's Docket N〇:0608-A41186TW/Draft-Final/Yianhou/ 6 1334573 When the main body calls the program Func_b, the error detection tool can be used to find the entry point of the program Func_b, and then the program Func_b How to write. Therefore, in a known environment, it is very easy for a customer to use a library of the corresponding application on a device or platform provided by a non-developer, thereby impairing the intellectual property of the application. SUMMARY OF THE INVENTION In view of the above, the present invention provides an application processing method and system. An application processing method of an embodiment of the present invention. First, an application is compiled into at least one first object code. A link information is retrieved from the first object code such that the remaining first object code becomes a binary image. Providing at least one second object code to connect with the link information and the binary image through a functional interface or at an execution stage, receiving an access request through the functional interface, and correspondingly storing The request is to perform a binary image based on the link information through the function interface. An application processing method of an embodiment of the present invention. First, an application is compiled into at least one first object code. Obtaining at least one link symbol and at least one code code displacement by the first object code, and generating a link information table according to the link symbol and the code code displacement. At least one execution code and at least one constant data are obtained from the first object code, and a binary image is generated according to the execution code and the constant data. In one of the link stages of the program compilation, at least one second object code is linked to the binary information through a functional interface and a link information table. An application processing method of an embodiment of the present invention. First, an access request is received through a functional interface during an execution phase. Corresponding to the access requirement, accessing an application and a binary image in a security module through a functional interface

Client’s Docket N〇_:VIT07-0037 TTss Docket N〇:0608-A41186TW/Draft-FinalA"ianhou/ 1334573 像。其中應用程序係被編譯為至少一第一物件碼。由第一 物件碼取得至少一連結符號與至少一程式碼位移,且依據 連結符號與程式碼位移產生連結資訊表。由第一物件碼取 得至少一執行碼與至少一常數資料,且依據執行碼與常數 資料產生二元影像。 本發明實施例之應用程序處理系統,包括一安全模組 與一函式介面。安全模組包括相應一應用程序之一連結資 訊表與一二元影像。其中應用程序係被編譯為至少一第一 物件碼。由第一物件碼取得至少一連結符號與至少一程式 碼位移,且依據連結符號與程式碼位移產生連結資訊表。 由第一物件碼取得至少一執行碼與至少一常數資料,且依 據執行碼與常數資料產生二元影像。於程式編譯之一連結 階段,至少一第二物件碼透過函式介面與該安全模組中之 連結資訊表與二元影像進行連結。 本發明實施例之應用程序處理系統,包括一安全模組 與一函式介面。安全模組包括相應一應用程序之一連結資 訊表與一二元影像。其中應用程序係被編譯為至少一第一 物件碼。由第一物件碼取得至少一連結符號與至少一程式 碼位移,且依據連結符號與程式碼位移產生連結資訊表。 由第一物件碼取得至少一執行碼與至少一常數資料,且依 據執行碼與常數資料產生二元影像。於一執行階段,透過 函式介面接收一存取要求,且相應於存取要求透過函式介 面存取連結資訊表與二元影像。 本發明上述方法可以透過程式碼方式收錄於實體媒體Client’s Docket N〇_:VIT07-0037 TTss Docket N〇:0608-A41186TW/Draft-FinalA"ianhou/ 1334573 Image. The application is compiled into at least one first object code. At least one link symbol and at least one code code displacement are obtained from the first object code, and the link information table is generated according to the link symbol and the code code displacement. At least one execution code and at least one constant data are obtained from the first object code, and the binary image is generated according to the execution code and the constant data. The application processing system of the embodiment of the invention comprises a security module and a functional interface. The security module includes one of the corresponding applications to link the information table with a binary image. The application is compiled into at least one first object code. At least one link symbol and at least one code displacement are obtained from the first object code, and the link information table is generated according to the link symbol and the code code displacement. At least one execution code and at least one constant data are obtained from the first object code, and the binary image is generated according to the execution code and the constant data. During the link phase of the program compilation, at least one second object code is linked to the binary image through the function interface and the link information table in the security module. The application processing system of the embodiment of the invention comprises a security module and a functional interface. The security module includes one of the corresponding applications to link the information table with a binary image. The application is compiled into at least one first object code. At least one link symbol and at least one code displacement are obtained from the first object code, and the link information table is generated according to the link symbol and the code code displacement. At least one execution code and at least one constant data are obtained from the first object code, and the binary image is generated according to the execution code and the constant data. In an implementation phase, an access request is received through the function interface, and the link information table and the binary image are accessed through the function interface corresponding to the access request. The above method of the present invention can be recorded in physical media through code

Client’s Docket N〇.:VIT07-0037 TT’s Docket N〇:0608-A41186TW/Draft-Final/Yianhou/ :。當程式碼被機器載入且執行時 發明之裝置。 機σο交成用以實行本 為使本發明之上述目的、特徵 下文特舉實施例, 馒點此更明顯易懂, 【實施方式】 配合所附圖示,詳細說明如下。 第3圖顯示依據本發明實施例之應 / 依據本發明實施彳 … 處理系統。 式介面3U)與—安^ Γ 系統_包括一函 用以提供其他物件碼/函式庫與安面二:^-” ’Client’s Docket N〇.:VIT07-0037 TT’s Docket N〇:0608-A41186TW/Draft-Final/Yianhou/ :. The device invented when the code was loaded by the machine and executed. The above-mentioned objects and features of the present invention will become more apparent from the following detailed description of the embodiments of the present invention. Figure 3 shows an embodiment of a processing system in accordance with an embodiment of the present invention. Interface 3U) and - ^ System _ includes a function to provide other object code / library and An No. 2: ^-" ’

Sr ΐ行連結’並於執行階段提供相應安 存取。女全模組320包括一保護演算法 連Sr is linked and provides access during the execution phase. Female full module 320 includes a protection algorithm

Ifl矣rt, _ 1 運結貧 , "、一二兀影像(Binary Image)323。保護演算法 321 係用以決定安全模址32〇内相關之操作邏輯,其細節將於 後說明。連結資訊表322與二元影像323係相應於包括來 源碼之—應用程序。連結資訊表322中記錄相應二元影像 3之連、、Ό 讯。一元影像323中記錄相應應用程序編譯 後之執行碼等資料。依據連結資訊表322中記錄之連結資 訊方可正確得知二元影像323中相關符號(Symb〇1)的位 址’並正確執行。連結資訊表322與二元影像323的產生 方式將於第4圖中說明。 第4圖顯示依據本發明實施例之應用程序處理方法。 如步驟S410’將應用程序編譯為至少一物件碼/函式 庫。如步驟S420 ’由物件碼/函式庫中取出所有或一部分之 連結資訊,如連結符號與程式碼位移,且依據連結資訊產Ifl矣rt, _ 1 is poor, ", Binary Image 323. The protection algorithm 321 is used to determine the relevant operational logic within the security model address 32, the details of which will be described later. The link information table 322 and the binary image 323 correspond to the application including the source code. The link information table 322 records the connection of the corresponding binary image 3, and the message. The unary image 323 records information such as the execution code of the corresponding application compiled. According to the link information recorded in the link information table 322, the address of the related symbol (Symb〇1) in the binary image 323 can be correctly known and executed correctly. The manner in which the link information table 322 and the binary image 323 are generated will be explained in FIG. Figure 4 shows an application processing method in accordance with an embodiment of the present invention. The application is compiled into at least one object code/function library as in step S410'. In step S420', all or part of the link information, such as the link symbol and the code code, are taken out from the object code/library, and the link information is

Client's Docket No.: VIT07-0037 TT s Docket N〇:〇608-A41186TW/Drafl-FinaIA7iaiihou/ 9 1334573 生連結資訊表322。在一些實施例中,物件碼可以是一可 執行可連接格式(ETF)檔,且連結資訊表可以包括可執行^ 連接格式檔中之一符號表。如步驟S43〇,依據剩餘之物件 碼/函式庫中的執行碼與常數資料產生二元影像323。如步 驟S44G’將連結資訊表進行加密。必須說明的是,在此^ 施例中,連結資訊表係進行加密。然而,在一些實施例中只 可以依據不同需求決定是否對於連結資訊表進行加密。如 步驟S450,將保護演算法321、連結資訊表322與二^ 像323封裝於安全模組32〇中,並如步驟S46〇,提供函$ ,丨面31〇 ’以提供其他物件碼/函式庫與安全模組32〇於; ==段進行連結’並於執行階段提供相應安: 核、,且320之存取。值得注意的是, 王 面310與安全模'组320則共給客户=業^可以將函式介 模組320係一個黑盒子,客戶無、於各戶而e ’安全 的相關資訊。 件知安全模組320内部 第5圖顯示依據本發明實施例 第6圖顯核據本㈣實施例之 /程料結方法。 第5圖與第6圖。在程式編譯的連^ ^纟° ° μ同時參考 物件碼/函式庫610與620與函式。白又時’如步驟S510 ’ 過函式介面310與安全模組320進^ 1Q進灯連’纟°’以透 其他物件⑹函式庫之影像標寫人記之後’將相應 將函式介面31Q與安全模組320寫:/且如步驟S520 置’以成為最終二元影像630。·”、錢體中的-特定位 第7圖顯示依據本發明實施例之應用程序存取方法。Client's Docket No.: VIT07-0037 TT s Docket N〇: 〇608-A41186TW/Drafl-FinaIA7iaiihou/ 9 1334573 Health Link Information Table 322. In some embodiments, the object code can be an executable connectable format (ETF) file, and the link information table can include one of the executable form files. In step S43, a binary image 323 is generated based on the execution code and the constant data in the remaining object code/bank. The link information table is encrypted as in step S44G'. It must be noted that in this embodiment, the link information table is encrypted. However, in some embodiments, it is only possible to decide whether to encrypt the link information table according to different needs. In step S450, the protection algorithm 321 , the link information table 322 and the second image 323 are encapsulated in the security module 32 ,, and in step S46 提供, the function $ , 丨 31 〇 ' is provided to provide other object codes/letters. The library and the security module 32 are connected; the == segment is linked 'and provides corresponding security during the execution phase: core, and 320 access. It is worth noting that the Wang 310 and the Security Module 'Group 320 are given to the customer = industry ^ can be a black box of the function module 320, the customer has no information about the security of each household. The inside of the hardware module 320 is shown in Fig. 5. The method according to the embodiment of the present invention is shown in Fig. 6. Figure 5 and Figure 6. Refer to the object code/function libraries 610 and 620 and the function at the same time in the program compilation. White and then 'step S510' through the interface 310 and the security module 320 into the ^ 1Q into the light '纟 °' to penetrate the other objects (6) library image of the person after the record will be corresponding to the interface The 31Q and the security module 320 write: / and set 'in step S520 to become the final binary image 630. "--Specific Bits in Money" Figure 7 shows an application access method in accordance with an embodiment of the present invention.

Client's Docket No.:VIT07-0037 IT's Docket N〇:0608-A41186TW/Draft-FinalA^ianhou/ 1334573 第9圖顯示依據本發明實施例之勒 ▲ 考第7圖與第9圖。 序存取。請同時參 如步=71〇 ’ *執行階段透過函式介 取要求。>主意的是,存取要求可練存 影像323之至少一 相應應用程序/二元Client's Docket No.: VIT07-0037 IT's Docket N〇: 0608-A41186TW/Draft-FinalA^ianhou/ 1334573 FIG. 9 shows a seventh diagram and a ninth diagram of a ▲ according to an embodiment of the present invention. Order access. Please also refer to step = 71〇 ’ at the same time. * The implementation phase introduces the request through the function. > The idea is that the access request can be performed on at least one of the corresponding applications/binary

^ ± 夕付唬。相應於存取要求,如步驟S7M 將連結資訊表322解 女〔驟奶〇 ’ 於連姓1-…” 疋,在此實施例中由 j二貝喊322在建立時係經過加密處理,因^ ± 夕付唬. Corresponding to the access request, in step S7M, the link information table 322 is deactivated, and in this embodiment, the j-bee 322 is encrypted at the time of establishment.

土在中,若連結資訊表奶在建 "並未經過加密處理,則步驟S720的解密動作可以 =步:奶〇 ’保護演算法321依據連結資訊表322執 3 帛8圖顯讀據本發明實施例之保護演算法的作 業。如步驟S731,依據相應應用程序/二元影像3幻之符號 由,結資訊表322中檢索相應之一位址。如步驟S732' = 目前程式計數器的值存入(Push)堆疊中。如步驟S733,將 程式計數器的值改變為相應二元影像323之位移。必須提 醒的是,若二元影像323在記憶體中具有一基本位址時, 則相應二元影像323之位移必須加上基本位址。如步驟 S734,執行二元影像323,且得到相應之執行結果。之後, 如步驟S735,由堆疊中取出(pop)原先程式計數器的值。去 執行結束之後’如步驟S740,透過函式介面31〇回傳執; 結果。 相較於第2圖,第10圖顯示依據本發明實施例之記情 體中二元影像中程序執行的過程。如第10圖所示,程序 Func一b係欲保護的應用程序,且不希望客戶對於程序If the soil is in the middle, if the linked information table is under construction, the decryption action in step S720 can be = step: the milk donkey 'protection algorithm 321 is executed according to the link information table 322. The operation of the protection algorithm of the embodiment of the invention. In step S731, a corresponding one of the addresses is retrieved from the knot information table 322 according to the corresponding application/binary image 3 magic symbol. In step S732' = the value of the current program counter is stored in the stack. In step S733, the value of the program counter is changed to the displacement of the corresponding binary image 323. It must be reminded that if the binary image 323 has a basic address in the memory, the displacement of the corresponding binary image 323 must be added to the basic address. In step S734, the binary image 323 is executed, and the corresponding execution result is obtained. Thereafter, in step S735, the value of the original program counter is popped from the stack. After the end of the execution, as in step S740, the transfer is performed through the function interface 31; the result. Compared to Fig. 2, Fig. 10 shows the procedure of program execution in a binary image in a sensible body according to an embodiment of the present invention. As shown in Figure 10, the program Func-b is the application to be protected, and does not want the client to program

Client's Docket N〇.:VIT07-0037 TT’s Docket N〇:0608-A41186TW/Draft-Final/Yianhou/ 1334573Client's Docket N〇.:VIT07-0037 TT’s Docket N〇:0608-A41186TW/Draft-Final/Yianhou/ 1334573

Func一b進行任何分析與研究。當程序Func_a主體需要使 用到Func一b時’其可以利用” Func_b”作為參數呼 叫 getFuncPtrbyAlg()”函式。”getFuncPtrbyAlg()”函式便會 致使保護演算法321由連結資訊表322中檢索出相應程序 Func_b的位移與位址,並至相應之位址進行執行。透過函Func-b performs any analysis and research. When the program Func_a body needs to use Func-b, it can use the "Func_b" as a parameter to call the getFuncPtrbyAlg()" function. The getFuncPtrbyAlg()" function causes the protection algorithm 321 to be retrieved from the link information table 322. The displacement and address of the corresponding program Func_b are executed to the corresponding address.

式介面310與將連結資訊分離之二元影像323,客戶將無 法輕易使用偵錯或反編譯工具來找到程序Func_b的進入 點,且無法研究程序Func—b的撰寫方式。 本發明之方法,或特定型態或其部份,可以以程式碼 的型態包含於實體媒體,如軟碟、光碟片、硬碟、或是任 何其他機器可讀取(如電腦可讀取)儲存媒體,立中,合程 式碼被機器,如電腦載人且執行時,此機器變賴^現 本發明之裝置。本發明之方法與|置也可以以程式碼型能 透過-些傳送媒體’如電線或魏、光纖、或是任何傳輸 型態進行傳送,其中,當程式碼被機器,如電腦接收、載 入且執仃時,此機器變成用以實現本發明之穿置各 般用途處理H實作時,程式碼結合處㈣提操:_ 於應用特定邏輯電路之獨特裝置。 μ 雖然本發明已以較佳實施例揭露如上H並 限定本發明,任何熟悉此藝者,在不脫料發明 神和範圍内,當可做些許更動與潤飾,因此本發明 範圍當視後附之申請專利範圍所界定者為準 ,、 【圖式簡單說明】 第1圖為一示意圖係顯示習知之函式庫連結The interface 310 and the binary image 323 separating the link information, the client will not be able to easily use the debug or decompile tool to find the entry point of the program Func_b, and can not study how the program Func_b is written. The method of the present invention, or a specific type or part thereof, may be included in a physical medium such as a floppy disk, a compact disc, a hard disk, or any other machine (for example, a computer readable computer). The storage medium, the center, and the code are loaded by a machine, such as a computer, and the machine is changed to the device of the present invention. The method and the method of the present invention can also be transmitted in a code type through a transmission medium such as a wire or a Wei, an optical fiber, or any transmission type, wherein the code is received and loaded by a machine such as a computer. At the time of execution, the machine becomes a unique device for applying specific logic circuits when it is used to implement the various applications of the present invention. Although the present invention has been disclosed in the above preferred embodiment by the above-described H and the present invention is defined, any one skilled in the art can make some changes and refinements without departing from the scope of the invention, and therefore the scope of the present invention is attached. The definition of the patent application scope shall prevail, and [Simplified description of the drawings] Fig. 1 is a schematic diagram showing the connection of the conventional library

Client's Docket N〇.:VIT07-0037 TT's Docket No:0608-A41186TW/Draft-Final/Yianhou/ 12 1334573 第2圖為一示意圖係顯示習知記憶體中二元影像中程 序執行的過程。 第3圖為一示意圖係顯示依據本發明實施例之應用程 序處理系統。 第4圖為一流程圖係顯示依據本發明實施例之應用程 序處理方法。 第5圖為一流程圖係顯示依據本發明實施例之應用程 序連結方法。 • 第6圖為一示意圖係顯示依據本發明實施例之函式庫 連結。 ' 第7圖為一流程圖係顯示依據本發明實施例之應用程 - 序存取方法。 . 第8圖為一流程圖係顯示依據本發明實施例之保護演 算法的作業。 第9圖為一示意圖係顯示依據本發明實施例之應用程 序存取。 ® 第10圖為一示意圖係顯示依據本發明實施例之記憶 體中二元影像中程序執行的過程。 【主要元件符號說明】 110〜來源碼; 111、120、130〜函式庫; 140〜二元影像; 300〜應用程序處理系統; 310〜函式介面;Client's Docket N〇.:VIT07-0037 TT's Docket No:0608-A41186TW/Draft-Final/Yianhou/ 12 1334573 Figure 2 is a schematic diagram showing the execution of a program in a binary image in a conventional memory. Figure 3 is a schematic diagram showing an application processing system in accordance with an embodiment of the present invention. Figure 4 is a flow chart showing an application processing method in accordance with an embodiment of the present invention. Figure 5 is a flow chart showing an application linking method in accordance with an embodiment of the present invention. • Figure 6 is a schematic diagram showing a library connection in accordance with an embodiment of the present invention. Figure 7 is a flow chart showing an application-order access method in accordance with an embodiment of the present invention. Figure 8 is a flow chart showing the operation of the protection algorithm in accordance with an embodiment of the present invention. Figure 9 is a schematic diagram showing application access in accordance with an embodiment of the present invention. ® Figure 10 is a schematic diagram showing the execution of a program in a binary image in a memory in accordance with an embodiment of the present invention. [Main component symbol description] 110~ source code; 111, 120, 130~ library; 140~binary image; 300~ application processing system; 310~ function interface;

Client’s Docket N〇.:VIT07-0037 TT5s Docket No:0608-A41186TW/Draft-FinaUYianhou/ 1334573 320〜安全模組; 321〜保護演算法; 322〜連結資訊表; 323〜二元影像; S410、S420、...、S460〜操作步驟; S510、S520〜操作步驟; 610、620〜物件碼/函式庫; 630〜最終二元影像; • S710、S720、…、S740〜操作步驟; S731、S732、...、S735〜操作步驟。Client's Docket N〇.:VIT07-0037 TT5s Docket No:0608-A41186TW/Draft-FinaUYianhou/ 1334573 320~Security Module; 321~Protection Algorithm; 322~Link Information Sheet; 323~ Binary Image; S410, S420, ..., S460~ operation steps; S510, S520~ operation steps; 610, 620~ object code/function library; 630~ final binary image; • S710, S720, ..., S740~ operation steps; S731, S732, ..., S735 ~ operation steps.

Client’s Docket N〇.:VTT07-0037 TT’s Docket No:0608-A41186TW/Draft-Final/Yianhou/Client’s Docket N〇.:VTT07-0037 TT’s Docket No:0608-A41186TW/Draft-Final/Yianhou/

Claims (1)

十、申請專利範圍·· 1.種應用程序處理方 取得至少一第—从4 ,,匕括下列步驟: 第物件竭與至少一第_ 由該第一物件碼取得竭; 位移’且依據該連 二、。付旒與至少-程式碼 表I ㈣雜式碼位移產生-連結資訊 由該第-物件石馬取得 料,且依據該執行碼與該常數資^碼與常數資 封裝該連結資訊表” ϋί生一―疋影像,·以及 步驟的-函式介面,杈仏對應該封裝 連处已㈣Μ 中第件碼可透過該函式介面 連、,Ό已封相該連結資訊表與該二元影像。 更包括H二專心圍第1項所述之應用程序處理方法, 更ο括透過該函式介面接收—存 要求^r面存取該連結資訊表與該== 更包括第2項所述之應⑽序處理方法’ =透過该函式介面依據該連結資訊表以執行該二元影 4·如申請專利範圍第3項所述之應用程序處理方法, 更包括下列步驟: 由邊連結資訊表檢索相應該二元影像之一位移;以及 依據該位移執行該二元影像。 5. 如申請專利範圍第1項所述之應用程序處理方法, 更包括將該連結資訊表進行加密。 6. 如申請專利範圍第5項所述之應用程序處理方法, Cent’s Docket No_:VIT〇7-〇〇37 TT s Docket No:〇608-A41186TW/Draft-Final/Yianhou/ 15 更包函式介面進行下列步驟·· 〜連結資訊表進行解密;以及 連結資訊表以執行t元影像。 其中該i-賴叙制料處理方法, 馬係由至少一來源碼編譯得來。 其中該彻叙應料核理方法, 結資執行可連接格式_)槽,且該連 η括該可執行可連接格式槽之—符號表。 •—種應用程序處理系統,包括: 訊表像=應至少-第-物件碼之-連結資 符號與至少1式碼2由該第一物件碼取得至少-連結 位移產生該連’且依據該連結符號與該程式碼 行碼盘至,1、— 及由該第—物件碼取得至少-執 生該二元影像:::枓’且依據該執行碼與該常數資料產 中之兮遠帛以供至少—第二物件碼與該安全模组 中之該連結賴表與該二元料騎連結。 、、, 立中=·γ dr範圍第9項所述之應用程序處理系統’ ”中忒函式;丨面接收一存取要求,且相應於誃 =函式介面存㈣安全模財之該連結 ^ §fi表與言玄二元 綠Γφ如申請專利範圍第10項所述之應用程序處理系 .,…、中4函式介面依據該連結f訊表 以申料㈣㈣U項料之應_—/處 Client s Docket Νο.:νιτ〇7-〇〇37 TT's Docket No^eOS^llSeTW/Draft-FanalA^ianhou/ 16 1334573 統,其中該安全模組更包括一保護演算法,用以由該連結 資訊表檢索相應該二元影像之一位移,且依據該位移致使 該二元影像被執行。 13. 如申請專利範圍第9項所述之應用程序處理系統, 其中該連結資訊表更進行加密。 14. 如申請專利範圍第13項所述之應用程序處理系 統,其中該函式介面解密該連結資訊表,且依據該連結資 訊表以執行該二元影像。 • 15.如申請專利範圍第9項所述之應用程序處理系統, 其中該第一物件碼係由至少一來源碼編譯得來。 • 16.如申請專利範圍第9項所述之應用程序處理系統, ·- 其中該第一物件碼為一可執行可連接格式(ETF)檔,且該連 結資訊表更包括該可執行可連接格式檔之一符號表。 17. —種應用程序處理方法,包括下列步驟: 透過一函式介面接收一存取要求;以及 相應於該存取要求透過該函式介面存取一安全模組中 • 之一應用程序與一二元影像,其中該應用程序係被編譯為 至少一第一物件碼,由該第一物件碼取得至少一連結符號 與至少一程式碼位移,且依據該連結符號與該程式碼位移 產生該連結資訊表,及由該第一物件碼取得至少一執行碼 與至少一常數資料,且依據該執行碼與該常數資料產生該 二元影像。 18. 如申請專利範圍第17項所述之應用程序處理方 法,更包括透過該函式介面依據該連結資訊表以執行該二 Client’s Docket No.:VIT07-0037 TT's Docket N〇:0608-A41186TW/Draft-Final/Yianhou/ 17 元影像。 法,範園第18項所述之應用程序處理方 -二該=資訊表檢索相應該應用程序之該二元影像之 依據該位移執行該二元影像。 法 利範圍第】7項所述之應用程序處理方 其中该連結資訊表更進行加密。 法 利範㈣2G項所述之應用程序處理方 更匕括透過该函式介面進行下列步驟: 解密該連結資訊表;以及 依據該連結資訊表以執行該二元影像。 法 專利範圍第17項所述之應用程序處理方 〃中5亥應用程序包括至少_來源碼。 法,範㈣17項所述之應用程序處理方 該連社資替f t件碼為一可執行可連接格式(ETF)檔,且 2二= 可執行可連接格式槽之-符號表。 •種應用程序處理系統,包括: -二it模2包括相應—應用程序之一連結資訊表與 版山p八中5亥應用程序係被編譯為至少-第-物件 馬’由該第-物件碼取得至少―連結符號與至少一程^ Γ及連結符號與該程式碼位移產生該連結資訊 2及由該第-物件石馬取得至少一執行碼與至少一常數資 且依據該執行碼與該常數資料產生該二元影像;以及 Clienfs Docket No.:VIT07-0037 TT s Docket No:0608-A41186TW/Draft-Fi .inal/Yianh〇u/ ^^4573 、、幽八力曲’爪π佼叹一存取要求,且相應於該 要求透過該函式介面存取該連結f訊表與該二元影像。 25·如申請專利範圍第24項所述之應用程序處 統’其中該函式介面依據該連結資訊表以執行該二元影像。 26. 如申請專利範圍第25項所述之應用程序處理系 其中該安全模組更包括—保護演算法,用以由該輕X. Application for patent scope · 1. The application processor obtains at least one - from 4, and includes the following steps: the first item is exhausted and at least one of the first object code is exhausted; the displacement is based on Even two.旒 旒 and at least - the code table I (4) miscellaneous code displacement generation - the link information is obtained from the first object, and the link information table is encapsulated according to the execution code and the constant code and the constant value A 疋 image, and a step-to-function interface, 杈仏 封装 封装 ( ( ( ( ( ( ( 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第In addition, the application processing method described in Item 1 of the H-Concentration is further included, and the access information request is accessed through the function interface, and the connection information table is further included in the second item. The method of processing the application according to item 3 of the patent application, and the following steps are further included in the application processing method according to the third aspect of the patent application: Retrieving a displacement corresponding to the binary image; and executing the binary image according to the displacement. 5. The application processing method according to claim 1, further comprising encrypting the link information table. Patent application The application processing method described in item 5, Cent's Docket No_: VIT〇7-〇〇37 TT s Docket No: 〇608-A41186TW/Draft-Final/Yianhou/ 15 The more package interface performs the following steps·· ~ Link the information table for decryption; and link the information table to execute the t-image. The i-Lai-Sui processing method, the horse system is compiled from at least one source code. The implementation can be connected to the format_) slot, and the link includes the symbol table of the executable connectable format slot. • An application processing system, including: the signal image = at least - the object code - the link And the at least one code 2 obtains at least a link displacement from the first object code to generate the link and obtains at least the code according to the link symbol and the code line code, 1, and from the first object code Performing the binary image:::枓' and according to the execution code and the constant data production, at least for the second object code and the connection table and the binary material in the security module Riding the link. , , , Lizhong =·γ dr range mentioned in item 9 The application processing system ' ” 忒 function; 丨 face receives an access request, and corresponds to 誃 = function interface storage (4) security model of the link ^ § fi table and Yan Xuan binary green Γ φ as claimed The application processing system described in Item 10, ..., the 4 function interface is based on the link f (information) (4) (4) U items should be _- / at Client s Docket Νο.: νιτ〇7-〇〇37 TT's Docket No^eOS^llSeTW/Draft-FanalA^ianhou/ 16 1334573, wherein the security module further includes a protection algorithm for retrieving a displacement of the corresponding binary image from the link information table, and according to the The displacement causes the binary image to be executed. 13. The application processing system of claim 9, wherein the link information table is further encrypted. 14. The application processing system of claim 13, wherein the function interface decrypts the link information table and executes the binary image according to the link information table. 15. The application processing system of claim 9, wherein the first object code is compiled from at least one source code. 16. The application processing system of claim 9, wherein the first object code is an executable connectable format (ETF) file, and the link information table further comprises the executable connectable A symbol table for one of the format files. 17. An application processing method comprising the steps of: receiving an access request through a functional interface; and accessing a security module through the functional interface corresponding to the access request and an application a binary image, wherein the application is compiled into at least one first object code, and at least one link symbol and at least one code code displacement are obtained by the first object code, and the link is generated according to the link symbol and the code code displacement And the information table, and obtaining at least one execution code and at least one constant data from the first object code, and generating the binary image according to the execution code and the constant data. 18. The application processing method of claim 17, further comprising performing the two Client's Docket No. by the function interface according to the link information table: VIT07-0037 TT's Docket N〇: 0608-A41186TW/ Draft-Final/Yianhou/ 17 yuan image. The method of processing, described in Item 18 of Fan Park, is to perform the binary image according to the displacement of the binary image corresponding to the application. The application processor described in item 7 of the French patent range, wherein the link information table is more encrypted. The application processor described in the 4G item of the method (4) further includes the following steps: decrypting the link information table; and executing the binary image according to the link information table. The application processing method described in Item 17 of the patent scope includes at least _ source code. Method, Fan (4) The application processor described in item 17 is connected to the executable code format (ETF) file, and 2 2 = executable symbol formatable slot. • An application processing system, including: - Two it mod 2 includes the corresponding - one of the applications linked to the information table and the version of the mountain p eight in the 5 Hai application is compiled to at least - the first object horse 'by the first object The code obtains at least a link symbol and at least one pass and a link symbol and the code code shift generates the link information 2 and obtains at least one execution code and at least one constant from the first object stone and according to the execution code The constant data produces the binary image; and Clienfs Docket No.: VIT07-0037 TT s Docket No: 0608-A41186TW/Draft-Fi .inal/Yianh〇u/ ^^4573 ,, 幽八力曲' claw 佼 佼An access request, and corresponding to the request, accessing the link f-table and the binary image through the function interface. 25. The application program of claim 24, wherein the function interface is based on the link information table to execute the binary image. 26. The application processing system of claim 25, wherein the security module further includes a protection algorithm for 二訊表檢索相應該應用程序之該二元影像之—位移 據該位移致使該二元影像被執行。 27. 如申請專利範圍第24項所述之應用程序處理系 統,其中該連結資訊表更進行加密。 ’、 絲專利⑽圍第27項所述之應用程序處理系 、、先,更〇括於-執行階段透過該函式介 解密該連結資訊表;以及 ^驟, 依據該連結資訊表以執行該二元影像。 29:申請專利範圍第24項所述之應用程序處理系 统圍第24項所述之應用程序處理系 該連^碼為一可執行可連接格式(etf)槽,且 該連、、·。胃絲更包㈣可執行可賴格式紅 3二種機;可讀取媒體’儲存-程式用以執行=使 、取料處理方法,該方法包括下列步驟: ::弟—物件碼與至少一第二物件碼; Docket N〇.:VIT07-0037 订* 一齡剔咖伽崎輸㈣ 介梦由々第""物件碼取得至少—連結符號與至少—程式碼 位私’且依據該連結符號與該程式碼位移產生—連結^ Chenfs Docket N〇.:VIT07-0037 1 X S Docicpf Μλ.λλλο A >» 1, ---- 19 1334573 表; 由該第一物件碼取得至少一執行碼與至少一常數資 料,且依據該執行碼與該常數資料產生一二元影像;以及 封裝該連結資訊表與該二元影像,且提供對應該封裝 步驟的一函式介面,其中該第二物件碼可透過該函式介面 連結已封裝的該連結資訊表與該二元影像。 32. —種機器可讀取媒體,儲存一程式用以執行時致使 一裝置執行一應用程序處理方法,該方法包括下列步驟: 透過一函式介面接收一存取要求;以及 相應於該存取要求透過該函式介面存取一安全模組中 之一應用程序與一二元影像,其中該應用程序係被編譯為 至少一第一物件碼,由該第一物件碼取得至少一連結符號 與至少一程式碼位移,且依據該連結符號與該程式碼位移 產生該連結資訊表,及由該第一物件碼取得至少一執行碼 與至少一常數資料,且依據該執行碼與該常數資料產生該 二元影像。 33. —種應用程序處理方法,包括下列步驟: 取得至少一第一物件碼; 由該第一物件碼取出一連結資訊,使得剩餘之該第一 物件碼成為·一二元影像,以及 於程式編譯之一連結階段提供至少一第二物件碼透過 一函式介面與該連結資訊與該二元影像進行連結、或於一 執行階段透過該函式介面接收一存取要求,且相應於該存 取要求透過該函式介面依據該連結資訊執行該二元影像。 Client’s Docket N〇.:VIT07-0037 TT's Docket N〇:0608-A41186TW/Draft-Final/Yianhou/The second table retrieves the displacement of the binary image corresponding to the application. The displacement causes the binary image to be executed. 27. The application processing system of claim 24, wherein the link information table is further encrypted. The application processing system described in item 27 of the Silk Patent (10), and, in addition, the decryption of the linked information table by the function in the execution phase; and, according to the linked information table, Binary imagery. 29: The application processing system described in claim 24 of the application processing system described in claim 24 is an executable connectable format (etf) slot, and the connection, . The stomach wire is further packaged (4) executable red format type 2 machine; the readable medium 'storage-program is used to execute = make and reclaim processing method, the method comprises the following steps: :: brother - object code and at least one Second item code; Docket N〇.:VIT07-0037 Order* One-year-old Tsanghasaki loses (4) 梦 々 々 々 quot & & & & 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物 物The link symbol and the code shift generation - link ^ Chenfs Docket N〇.: VIT07-0037 1 XS Docicpf Μλ.λλλο A >» 1, ---- 19 1334573 table; at least one execution from the first object code a code and at least one constant data, and generating a binary image according to the execution code and the constant data; and encapsulating the link information table and the binary image, and providing a functional interface corresponding to the packaging step, wherein the second The object code can link the encapsulated information table and the binary image through the function interface. 32. A machine readable medium, storing a program for causing a device to perform an application processing method, the method comprising the steps of: receiving an access request through a functional interface; and corresponding to the access Requiring access to an application and a binary image in a security module through the function interface, wherein the application is compiled into at least one first object code, and at least one link symbol is obtained from the first object code Translating at least one code, and generating the link information table according to the link symbol and the code shift, and obtaining at least one execution code and at least one constant data from the first object code, and generating the constant data according to the execution code and the constant data The binary image. 33. An application processing method, comprising the steps of: obtaining at least one first object code; extracting a link information from the first object code, so that the remaining first object code becomes a binary image, and the program Compiling a link phase to provide at least one second object code to connect to the binary image via a functional interface or to receive an access request through the functional interface in an execution phase, and corresponding to the save The binary image is executed according to the link information through the function interface. Client’s Docket N〇.:VIT07-0037 TT's Docket N〇:0608-A41186TW/Draft-Final/Yianhou/
TW96124633A 2007-07-06 2007-07-06 Application procedure processing methods and systems, and machine readable medium thereof TWI334573B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW96124633A TWI334573B (en) 2007-07-06 2007-07-06 Application procedure processing methods and systems, and machine readable medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW96124633A TWI334573B (en) 2007-07-06 2007-07-06 Application procedure processing methods and systems, and machine readable medium thereof

Publications (2)

Publication Number Publication Date
TW200903330A TW200903330A (en) 2009-01-16
TWI334573B true TWI334573B (en) 2010-12-11

Family

ID=44211984

Family Applications (1)

Application Number Title Priority Date Filing Date
TW96124633A TWI334573B (en) 2007-07-06 2007-07-06 Application procedure processing methods and systems, and machine readable medium thereof

Country Status (1)

Country Link
TW (1) TWI334573B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI408605B (en) * 2010-12-27 2013-09-11 Giga Byte Tech Co Ltd Method for executing process in user space and computer system using the same and recording medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI408605B (en) * 2010-12-27 2013-09-11 Giga Byte Tech Co Ltd Method for executing process in user space and computer system using the same and recording medium

Also Published As

Publication number Publication date
TW200903330A (en) 2009-01-16

Similar Documents

Publication Publication Date Title
BE1023400B1 (en) A BUILD SYSTEM
CN1148645C (en) Device for executing enciphered program
US20070271446A1 (en) Application Execution Device and Application Execution Device Application Execution Method
US8583938B2 (en) From polymorphic executable to polymorphic operating system
US8117661B2 (en) Encryption based silicon IP protection
WO2015058620A1 (en) Method and apparatus for generating installation package corresponding to an application and executing application
EP3552093B1 (en) Application piracy prevention with secure enclave protection of automatically modularized functions
RU2004128233A (en) METHOD AND SYSTEM FOR DISTRIBUTION AND INSTALLATION OF SOFTWARE
RU2005103708A (en) METHOD AND SYSTEM FOR EXTERNAL DATA STORAGE
TW201128384A (en) Repairing portable executable files
CA2525376A1 (en) System and method for authenticating software using hidden intermediate keys
WO2006106469A1 (en) Software protection
JPWO2007000993A1 (en) Verification method, information processing apparatus, recording medium, verification system, certification program, and verification program
JPWO2007007805A1 (en) Verification method, verification program, recording medium, information processing apparatus, integrated circuit
CN107430650A (en) Computer program is protected to resist reverse-engineering
CN109543433B (en) Software development kit encryption method, device, computer and storage medium
TWI334573B (en) Application procedure processing methods and systems, and machine readable medium thereof
JP6698775B2 (en) Security providing apparatus and method for protecting code of shared object, and security executing apparatus and method
CN113220314A (en) APP resource loading and APK generation method, device, equipment and medium
EP3398103B1 (en) A build system with plugins for encryption of application components
CN109460640A (en) A kind of java applet guard method, device, equipment and readable storage medium storing program for executing
TWI687838B (en) File protection method and file processing system thereof
CN109492353B (en) Application reinforcement method, device, electronic equipment and storage medium
CN114155885B (en) File encryption method, recording method, decryption method, device and computing equipment
CN112800418B (en) File protection method and device for user-defined program set