当前位置: 首页 >  在线学习 >  windows加壳程序WinLicense与Themida

windows加壳程序WinLicense与Themida

导读:反调试提示.开了Procmon.exe之后启动游戏会弹出这个框,这个是程序加壳之后的反外挂,反调试提示框。.WinLicense A monitor program has been found running in your system.Please,.unload it f

反调试提示

开了Procmon.exe之后启动游戏会弹出这个框,这个是程序加壳之后的反外挂,反调试提示框。

WinLicense A monitor program has been found running in your system.Please, unload it from memory and restart your program

反外挂sdk

  1. https://www.oreans.com/Themida.php
  2. https://www.oreans.com/WinLicense.php

官网提供的是试用版,两者都是商业软件,会提供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
}
内容
  • 刀光拖尾功能的改良
    刀光拖尾功能的改良
    2023-12-09
    年末终于有空,刀光拖尾是我很早就想回顾的一个课题,项目中多采用插件实现,很少有机会去研究。.之前也写过一版拖尾,但效果并
  • 手画图解,关于死锁,面试的一切都在这里了
    手画图解,关于死锁,面试的一切都
    2023-12-01
    什么是死锁(Deadlock).死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象。若无外力
  • Unity3D学习记录04——利用射线实现角色类似LOL的移动
    Unity3D学习记录04——利
    2023-12-02
    首先新建一个空白的GameObject,挂在一个MouseManager的脚本.实现思路:.通过获取鼠标点击的位置,获得
  • Unity_Photon
    Unity_Photon
    2023-12-07
    Photon.1.0 Photon搭建.(2条消息) 【Unity3D】Photon环境搭建_photon框架_litt
  • 怎么看待 Soul 聚焦 Z 世代社交,一脚跨入元宇宙?
    怎么看待 Soul 聚焦 Z 世
    2023-12-03
    社交是一种永恒的需求,既有生存层面的必要,也有情感上的渴求。而随着互联网开始统治这个时代,社交被搬到了网上,并且越来越成
  • 如何正确理解并科学实践DDD
    如何正确理解并科学实践DDD
    2023-12-04
    客观的理解DDD.DDD,即领域驱动设计,不仅带给我们一套新的概念,还提供了一套全新的设计思路,应用在构建大型复杂软件系