本文主要介紹三種方式實(shí)現(xiàn)保護(hù)程序和功能的選擇中的第一種方式:使用編譯器創(chuàng)建的MAP文件以及程序的可執(zhí)行文件。MAP文件包含有關(guān)應(yīng)用程序的所有過程和功能的名稱以及地址的所有必要信息。如果使用MAP文件,則可以選擇按名稱保護(hù)的過程和函數(shù)。使用MAP文件,每次重新編譯項(xiàng)目時(shí),VMProtect都會(huì)自動(dòng)確定過程和函數(shù)的新地址。
VMProtect 是一種很可靠的工具,可以保護(hù)應(yīng)用程序代碼免受分析和破解,但只有在應(yīng)用程序內(nèi)保護(hù)機(jī)制正確構(gòu)建且沒有可能破壞整個(gè)保護(hù)的嚴(yán)重錯(cuò)誤的情況下,才能實(shí)現(xiàn)最好的效果。本文主要介紹在使用VMProtect前,先準(zhǔn)備一個(gè)項(xiàng)目。
VMProtect 是一種很可靠的工具,可以保護(hù)應(yīng)用程序代碼免受分析和破解,但只有在應(yīng)用程序內(nèi)保護(hù)機(jī)制正確構(gòu)建且沒有可能破壞整個(gè)保護(hù)的嚴(yán)重錯(cuò)誤的情況下,才能實(shí)現(xiàn)最好的效果。 讓我們一起來看看為應(yīng)用程序提供良好保護(hù)的關(guān)鍵要素。
VMProtect是新一代的軟件保護(hù)實(shí)用程序。VMProtect支持Delphi,Borland C Builder,Visual C / C ++,Visual Basic(本機(jī)),Virtual Pascal和XCode編譯器。 同時(shí),VMProtect具有內(nèi)置的反匯編程序,可與Windows和Mac OS X可執(zhí)行程序配合使用,還可以鏈接編譯器創(chuàng)建的MAP文件,以快速選擇代碼片段進(jìn)行保護(hù)。
如今,大多數(shù)保護(hù)軟件都沒有太多關(guān)注混淆和虛擬化,這允許破解者以自動(dòng)或半自動(dòng)模式移除這種保護(hù)。現(xiàn)代保護(hù)軟件的另一個(gè)瓶頸是使用未記錄的Windows功能,這會(huì)導(dǎo)致在較新版本的OS中受保護(hù)應(yīng)用程序的運(yùn)行受限。VMProtect是新一代的軟件保護(hù)系統(tǒng),將保護(hù)后的代碼放到虛擬機(jī)中運(yùn)行,這將使分析反編譯后的代碼和破解變得極為困難。