0x01
普通的一些加密壳能够较为容易的被脱掉,而一些稍微难一点壳,例如VMProtect等,刚入门的新手就不是那么好脱了,而这些壳也提供了一些sdk帮助我们加密需要加密的函数,使保护壳能够识别源码中需要加密保护的代码段。下面以我的一个delphi程序为例,介绍VMProtect sdk和Asprotect的一些加密方法,其他vc,或者易语言写的程序也可以使用其进行加密。
0x02 VMProtect保护
VMProtect sdk保护方式可以有两种,map法和标记法,在官方文档中,有下述方法。
it is possible by doing the following: use the main menu of the Delphi IDE to open the project
options (Project - Options) and select the "Detailed" option in the "MAP file" group on the "Linker" tab:
将项目设置中map文件的设置从无改成详细。
可以看到产生了如图的map文件,map文件中包含了有关被链接的程序的下列信息:模块名称,为文件的基名称,时间戳,来自程序的文件头(不是来自文件系统),程序中的组列表,包括每个组的起始地址(节:偏移量的形式)、长度、组名和类;公共符号的列表,包括每个地址(节:偏移量的形式)、符号名称、平直地址和包含符号定义的obj文件;入口点(节:偏移量的形式),另外可以通过