TWI636375B - Software program authorization method and authorization tool application - Google Patents
Software program authorization method and authorization tool application Download PDFInfo
- Publication number
- TWI636375B TWI636375B TW105110696A TW105110696A TWI636375B TW I636375 B TWI636375 B TW I636375B TW 105110696 A TW105110696 A TW 105110696A TW 105110696 A TW105110696 A TW 105110696A TW I636375 B TWI636375 B TW I636375B
- Authority
- TW
- Taiwan
- Prior art keywords
- program
- software
- electronic device
- code
- authorization
- Prior art date
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本發明係有關於一種軟體程式之授權方法,該方法適用於一電子裝置,該方法包含接收一動態連結函式庫(DLL)程式碼,將該動態連結函式庫程式碼加入一待編譯程式,以及編譯該待編譯程式,並於編譯該待編譯程式時,判斷該電子裝置是否合法授權,以選擇性地將該待編譯程式編譯成一應用程式。
Description
本發明係有關於授權方法與授權工具應用程式,尤指一種可判斷電子裝置是否合法授權,以選擇性地將該電子裝置中之開發程式碼編譯成應用程式之軟體授權方法與授權工具應用程式。
由於科技的進步,智慧型手機、平板與電腦已成為人民生活中不可或缺的電子產品。在此些電子產品中提供有許多的應用程式,以提供不同的服務與使用者。現今,有些軟體供應商會販售軟體程式與上述之電子產品的製造商或開發者,以進行電子產品的開發。然而,當軟體供應商將軟體程式提供給電子產品之製造商或開發者時,無法有效防止該製造商或開發者將該軟體程式私下販售給其他製造商或開發者。
由以上可知,需要一種新穎的方法,以輔助使用者妥善地解決既有的問題。
本發明之目的之一在於提供一種軟體程式之授權方法,以解決上述問題。
本發明之另一目的在於,提供極高安全性結合與開發者之開
發環境之特性,不僅給予供應商專屬保護、也可保證開發者是在符合授權範圍的情況下使用。
本發明之一實施例中提供一種軟體程式之授權方法,該方法適用於一電子裝置,該方法包含接收一動態連結函式庫(DLL)程式碼;將該動態連結函式庫程式碼加入一待編譯程式;以及編譯該待編譯程式,並於編譯該待編譯程式時,判斷該電子裝置是否合法授權,以選擇性地將該待編譯程式編譯成一應用程式。
本發明於提供上述方法之同時,亦對應地提供一種授權工具應用程式,其包含至少一程式碼,當該至少一程式碼經由一電子裝置之一處理器執行時,係偵測該電子裝置之一軟硬體資訊,並依據該軟硬體資訊產生一授權碼。
上列詳細說明係針對本發明之一可行實施例之具體說明,惟該實施例並非用以限制本發明之專利範圍,凡未脫離本發明技藝精神所為之等效實施或變更,均應包含於本案之專利範圍中。
100‧‧‧電子裝置
110‧‧‧處理電路
120‧‧‧網路模組
S210~S230‧‧‧步驟流程
S310~S350‧‧‧步驟流程
圖1為依據本發明一實施例之電子裝置的方塊圖。
圖2為依據本發明一實施例之軟體程式之授權方法的流程圖。
圖3為依據本發明一實施例之軟體程式之授權方法之使用情境的流程圖。
以下將以圖式及詳細說明本發明之精神,任何所屬技術領域
中具有通常知識者在瞭解本發明之較佳實施例後,當可由本發明所教示之技術加以改變及修飾,其並不脫離本發明之精神與範圍。
請參考圖1,圖1為依據本發明一實施例之一電子裝置的方塊圖。如圖1所示,電子裝置100包含一處理電路110與一網路模組120,而處理電路110與網路模組120係彼此耦接。依據本實施例,網路模組120係用來提供一網路服務予電子裝置100。例如:網路模組120可包含一個或多個網路介面電路。另外,處理電路110可包含至少一處理器以執行程式碼,並且執行程式碼之處理電路110係用來控制該電子裝置100之運作。其中,該程式碼可為一程式模組,諸如一軟體模組或一韌體模組,這只是為了說明的目的而已,並非對本發明之限制。
請參考圖2,圖2為依據本發明一實施例之軟體程式之授權方法的流程圖。此實施例之軟體程式之授權方法可適用於上述之電子裝置100。
於步驟S210中,網路模組120接收一動態連結函式庫(DLL)程式碼。
於步驟S220中,處理電路110可將該動態連結函式庫程式碼加入一待編譯程式。
於步驟S230中,處理電路110可編譯該待編譯程式,並於編譯該待編譯程式時,判斷該電子裝置是否合法授權,以選擇性地將該待編譯程式編譯成一應用程式。舉例而言,於編譯該待編譯程式時,若處理電路110判斷該電子裝置為合法授權,則將該待編譯程式編譯成一應用程式。若處理電路110判斷該電子裝置不為合法授權,則停止編譯該待編譯程式。
於一實施例中,該動態連結函式庫程式碼包含有一授權碼,並且處理電路110於編譯該待編譯程式時,可偵測該電子裝置之一軟硬體資訊,並依據該軟硬體資訊產生一待驗證授權碼。此外,處理電路110可比對該授權碼與該待驗證授權碼是否相符,若是,則處理電路110可判斷該電子裝置為合法授權;若否,則處理電路110可判斷該電子裝置為不合法授權。順帶一提,該動態連結函式庫程式碼可利用編譯時間計算(Complier Time Computing)之特性,於處理電路110編譯該待待編譯程式時,偵測該電子裝置之軟硬體資訊。其中,上述之軟硬體資訊可包含(但不限於):電子裝置之主機名稱、媒體存取控制位址(Media Access Control Address,或簡稱為Mac Address)、處理器、記憶體、主機板、基本輸入輸出系統(Basic Input/Output System,或簡稱為BIOS)之資訊。
於一實施例中,上述之動態連結函式庫程式碼係接收自一供應商。此外,電子裝置100之一開發者可於該電子裝置執行一軟體授權程式,以產生該授權碼,並將該授權碼提供給該供應商。其中,該軟體授權程式可由該電子裝置100接收自該供應商,並且處理電路110於執行該軟體授權程式時可偵測該電子裝置之一軟硬體資訊,並依據該軟硬體資訊產生該授權碼。順帶一提,該授權碼係專用於該電子裝置,且該供應商可將該授權碼封裝於上述之動態連結函式庫程式碼中,再將包含授權碼之動態連結函式庫程式碼提供給電子裝置100之開發者,或透過網路直接傳輸至電子裝置100。
請參考圖3,圖3為依據本發明一實施例之軟體程式之授權方法之使用情境的流程圖。
於步驟S310中,供應商提供一軟體授權程式給第一開發商,當第一開發商於第一電子裝置執行該軟體授權程式時,該軟體授權程式係根據該第一電子裝置之軟硬體資訊產生一授權碼。
於步驟S320中,第一開發商將該授權碼提供給供應商。
於步驟S330中,供應商依據該授權碼,製作專屬於該第一開發商之動態連結函式庫程式碼,並將該動態連結函式庫程式碼提供給該第一開發商。
於步驟S340中,第一開發商將接收自供應商之動態連結函式庫程式碼供給第二開發商。
於步驟S350中,第二開發商將動態連結函式庫程式碼加入於第二電子裝置之待編譯程式中,第二電子裝置於編譯該待編譯程式時,編譯失敗。因此,上述實施例所述之方法可有效防止開發商將供應商所提供之程式外流給其他開發商。
綜上所述,本案不僅於技術思想上確屬創新,並具備習用之傳統方法所不及之上述多項功效,已充分符合新穎性及進步性之法定發明專利要件,爰依法提出申請,懇請 貴局核准本件發明專利申請案,以勵發明,至感德便。
Claims (8)
- 一種軟體程式之授權方法,該方法適用於一電子裝置,該方法包含:接收一動態連結函式庫(DLL)程式碼,其中該動態連結函式庫程式碼包含有一授權碼,且該授權碼係基於另一電子裝置的軟硬體資訊所產生;將該動態連結函式庫程式碼加入一待編譯程式;編譯該待編譯程式,並於編譯該待編譯程式時,判斷該電子裝置是否合法授權,包括:偵測該電子裝置之一軟硬體資訊,並依據該軟硬體資訊產生一待驗證授權碼;以及比對該授權碼與該待驗證授權碼是否相符,若是,則判斷該電子裝置為合法授權,若否,則判斷該電子裝置不為合法授權;以及若合法授權則將該待編譯程式編譯成一應用程式,而若不為合法授權則停止編譯該待編譯程式。
- 如申請專利範圍第1項所述之軟體程式之授權方法,其中該動態連結函式庫程式碼係接收自一供應商。
- 如申請專利範圍第2項所述之軟體程式之授權方法,該電子裝置之一開發者係於該電子裝置執行一軟體授權程式,以產生該授權碼,並將該授權碼提供給該供應商。
- 如申請專利範圍第3項所述之軟體程式之授權方法,其中該軟體授權程式係偵測該電子裝置之一軟硬體資訊,並依據該軟硬體資訊產生該授權碼。
- 如申請專利範圍第3項所述之軟體程式之授權方法,其中該軟體授權程式係接收自該供應商。
- 如申請專利範圍第3項所述之軟體程式之授權方法,其中該供應商係將該授權碼封裝於該動態連結函式庫程式碼中。
- 如申請專利範圍第3項所述之軟體程式之授權方法,其中該授權碼係專用於該電子裝置。
- 一種授權工具應用程式,其包含至少一程式碼,當該至少一程式碼經由一電子裝置之一處理器執行時,係偵測該電子裝置之一軟硬體資訊,並依據該軟硬體資訊產生一授權碼,該授權碼封裝於一動態連結函式庫程式碼中,且該授權碼與由另一電子裝置之軟硬體資訊所產生之待驗授權碼比對,若比對相符則將該動態連結函式庫程式碼與一待編譯程式編譯成一應用程式,而若比對不相符則停止編譯該待編譯程式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105110696A TWI636375B (zh) | 2016-04-06 | 2016-04-06 | Software program authorization method and authorization tool application |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105110696A TWI636375B (zh) | 2016-04-06 | 2016-04-06 | Software program authorization method and authorization tool application |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201737148A TW201737148A (zh) | 2017-10-16 |
TWI636375B true TWI636375B (zh) | 2018-09-21 |
Family
ID=61021808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105110696A TWI636375B (zh) | 2016-04-06 | 2016-04-06 | Software program authorization method and authorization tool application |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI636375B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7320075B2 (en) * | 2001-11-20 | 2008-01-15 | Safenet, Inc. | Software protection method utilizing hidden application code in a protection dynamic link library object |
CN104077502A (zh) * | 2013-03-27 | 2014-10-01 | 苏州精易会信息技术有限公司 | 一种软加密方式的软件保护方法 |
-
2016
- 2016-04-06 TW TW105110696A patent/TWI636375B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7320075B2 (en) * | 2001-11-20 | 2008-01-15 | Safenet, Inc. | Software protection method utilizing hidden application code in a protection dynamic link library object |
CN104077502A (zh) * | 2013-03-27 | 2014-10-01 | 苏州精易会信息技术有限公司 | 一种软加密方式的软件保护方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201737148A (zh) | 2017-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9767292B2 (en) | Systems and methods to identify security exploits by generating a type based self-assembling indirect control flow graph | |
US9031922B2 (en) | Code regeneration determination from selected metadata fingerprints | |
US9146833B2 (en) | System and method for correct execution of software based on a variance between baseline and real time information | |
CN109784007B (zh) | 一种字节码加密的方法、字节码解密的方法及终端 | |
CN112639778A (zh) | 指针认证及指针认证方案之间的动态切换 | |
US20170103192A1 (en) | Secure code delivery | |
CN106560830A (zh) | 一种Linux嵌入式系统中的安全防护方法及系统 | |
CN108021791B (zh) | 数据保护方法及装置 | |
US20170102955A1 (en) | Software platform for embedded systems | |
CN105808978A (zh) | 一种基于单片机固件的硬件防盗版方法及系统 | |
US11960880B2 (en) | Systems and methods for remediation of software configuration | |
WO2022017242A1 (zh) | 在第一系统运行第二系统应用的方法、装置、设备及介质 | |
US9514028B2 (en) | System and method for determining correct execution of software based on baseline and real time trace events | |
US11474795B2 (en) | Static enforcement of provable assertions at compile | |
TWI636375B (zh) | Software program authorization method and authorization tool application | |
US9003236B2 (en) | System and method for correct execution of software based on baseline and real time information | |
US10838742B1 (en) | Multi-user hidden feature enablement in firmware | |
JP5821720B2 (ja) | 起動制御プログラム、起動制御方法 | |
CN113778451B (zh) | 文件加载方法、装置、计算机系统和计算机可读存储介质 | |
CN112596751A (zh) | 应用程序安装包的编译方法、终端、服务器及存储介质 | |
CN111625466A (zh) | 一种软件检测方法、装置及计算机可读存储介质 | |
US20150052514A1 (en) | Method and computer system of distributing a computer program product | |
CN112948241B (zh) | 应用程序的反调试方法、装置、电子设备及存储介质 | |
US11354433B1 (en) | Dynamic taint tracking on mobile devices | |
Lethaby | Why use a Real-Time operating system in MCU applications |