本文基于防止软件被破解与逆向的目的,通过对PE文件导入表、导出表、重定位表的处理实现Shell增加区段的功能。通过将IsDebuggerPresent与Timing Attacks技术的融合实现Shell自身的反调试,同时采用ShellCode的编码方式存储一些敏感信息以及通过“无效操作码”这一后门接口实现Shell自身的反虚拟机功能。最后通过对Notepad的加Shell试验说明Shell具有反调试与反虚拟机功能,证明了对软件加Shell具有防止被破解与逆向的功能。
1