宿主程序在接入DLL插件之后,平时运行一直很正常,可一旦用Themida做完保护,插件列表就变成空的、模块怎么都加载不上、配置文件也找不着了,这类问题在实际项目里并不少见。出现这些情况的时候,先不要急着去改程序代码,而是要顺着插件是怎么被扫描出来的、加载的时候走的是什么路径、保护之后文件放在哪里了,这几个方向一步步去排查,通常能找到问题的根子。Themida本身可以对Windows应用程序做代码加壳和反调试保护,同时也提供了XBundler这个功能,能把DLL和各种数据文件直接嵌进受保护的程序里面。但打包方式一变,原来那些直接读文件、写配置、动态加载模块的逻辑,也就得跟着一起重新调整。