常用的軟件保護技術有:
代碼混淆技術:代碼混淆技術是一種用于對移動代碼保護和軟件知識產權保護的安全技術。可視為一種高效的編譯技術,它將原程序轉換成新的程序,新程序具有與原程序相同的外部行為,且代碼的安全性能更強。
軟件加殼:軟件加殼是用來保護軟件不被非法修改或反編譯的一種安全機制。加殼保護機制是利用特殊的算法,對編譯后的文件(如EXE、DLL)里的數據進行壓縮、加密,并且把解壓算法、解密算法作為程序的外殼附加到被保護的程序中。當加載器加載程序到內存執行時,殼先于原始程序得到控制權,對原始程序解密、還原后,再把控制權交還給原程序,執行原程序的代碼部分。加上外殼后,原程序代碼在磁盤文件中一般是以加密的形式存在的,當執行時在內存中還原。程序加殼后不僅可以改變原程序的運行流程和特征,還可以有效改變原程序的靜態特征[18],因此,可以有效地防止破解者對程序的非法修改,同時也可以防止程序被靜態反編譯。此外,加殼程序可以開發成獨立的軟件,對大的軟件公司而言,開發獨立、安全的加殼軟件將大大節省軟件保護的成本。加殼技術經過多年的發展,已經采用了很多不同的技術,如花指令、代碼混淆、加密與壓縮等。
反破解技術:保護應用軟件還有一個常用方法就是反破解技術。反破解技術不是單一的一種方法或手段,而是針對軟件分析技術的一般流程,總結出通用的一個過程,整個過程可以分為對抗反編譯、對抗靜態分析、對抗動態調試和防止重編譯4個步驟。
序列號保護機制:俗稱注冊碼。驗證用戶名和序列號之間的書寫映射關系。
回答所涉及的環境:聯想天逸510S、Windows 10。
常用的軟件保護技術有:
代碼混淆技術:代碼混淆技術是一種用于對移動代碼保護和軟件知識產權保護的安全技術。可視為一種高效的編譯技術,它將原程序轉換成新的程序,新程序具有與原程序相同的外部行為,且代碼的安全性能更強。
軟件加殼:軟件加殼是用來保護軟件不被非法修改或反編譯的一種安全機制。加殼保護機制是利用特殊的算法,對編譯后的文件(如EXE、DLL)里的數據進行壓縮、加密,并且把解壓算法、解密算法作為程序的外殼附加到被保護的程序中。當加載器加載程序到內存執行時,殼先于原始程序得到控制權,對原始程序解密、還原后,再把控制權交還給原程序,執行原程序的代碼部分。加上外殼后,原程序代碼在磁盤文件中一般是以加密的形式存在的,當執行時在內存中還原。程序加殼后不僅可以改變原程序的運行流程和特征,還可以有效改變原程序的靜態特征[18],因此,可以有效地防止破解者對程序的非法修改,同時也可以防止程序被靜態反編譯。此外,加殼程序可以開發成獨立的軟件,對大的軟件公司而言,開發獨立、安全的加殼軟件將大大節省軟件保護的成本。加殼技術經過多年的發展,已經采用了很多不同的技術,如花指令、代碼混淆、加密與壓縮等。
反破解技術:保護應用軟件還有一個常用方法就是反破解技術。反破解技術不是單一的一種方法或手段,而是針對軟件分析技術的一般流程,總結出通用的一個過程,整個過程可以分為對抗反編譯、對抗靜態分析、對抗動態調試和防止重編譯4個步驟。
序列號保護機制:俗稱注冊碼。驗證用戶名和序列號之間的書寫映射關系。
回答所涉及的環境:聯想天逸510S、Windows 10。