windows加壳程序WinLicense与Themida
反调试提示
开了Procmon.exe之后启动游戏会弹出这个框,这个是程序加壳之后的反外挂,反调试提示框。
反外挂sdk
官网提供的是试用版,两者都是商业软件,会提供lib和源代码,以便更好的集成到游戏中。
将软件保护的强大功能(如 Themida)与高级许可证控制的强大功能相结合。它提供了广泛的强大而灵活的技术,使开发人员能够安全地分发其应用程序的试用版。
简单介绍
Themida的原理是通过加密、虚拟化、防调试等技术来保护Windows程序的安全性和可控性。
具体来说,Themida会将程序中的函数和代码进行加密和混淆,使得对程序进行逆向工程和破解变得更加困难。同时,Themida还会使用虚拟机技术,将部分程序代码转换为虚拟指令,使得程序在运行时动态解密和执行,增加了程序的安全性和可控性。
此外,Themida还会添加防调试、防篡改、防注入等机制,使得程序更难被调试、修改或被注入其他程序中。这些机制都可以有效防止程序被破解、篡改或被恶意利用。
总的来说,Themida的原理是综合使用多种技术手段,对程序进行加密、虚拟化和保护,从而提高程序的安全性和可控性。
举个简单的例子:
把1+10=11混淆为 1+1-1+5+3-4-2-2+1之类的,干扰调试
加壳优缺点
加壳也不是百利无一害,优缺点如下:
防破解,防调试,逆向起来非常难
加壳后会影响游戏效率,比如帧率下降,性能下降
集成到项目中
把sdk的lib文件导入到代码工程中,在游戏的关键的函数入口打上要保护的标签。
示例:保护脚本代码执行入口
//pch.hpp中include头文件
#include "ThemidaSDK/WinlicenseSDK.h"
//在要保护的代码打上标签
bool Script::init( const std::string & pythonPaths,
const char * componentName )
{
VM_TIGER_WHITE_START
//函数的逻辑代码
VM_TIGER_WHITE_END
}