GithubHelp home page GithubHelp logo

cthackframework's Introduction

CTHackFramework 通用外挂框架

概述

 CTHackFramework是一个基于C++的通用外挂框架,可用于制作游戏外挂、修改器,软件破解机、注册机等程序。

 该框架下包含了大量用于游戏外挂制作的类,函数与工具包,以供支持游戏外挂的快速开发。同时包含了一套外挂的软件架构,使该框架下的外挂具有稳定,高效的特性,同时使得外挂的扩展性与兼容性得以保证。

目前仅为开发阶段,许多功能未形成稳定版本,所以并未加入该框架,例如Dll注入,封装好的D3D等,如果感兴趣,这些功能可以在示例工程中看到。目前框架非常简陋,所以需要将这些实验性功能逐步加入,使得框架更具有实际工程意义,而非目前的空架构。

框架结构

 框架的结构图如下。

Arch

Memory为内存模块,包含各类对目标进程的内存进行读取,写入,扫描等函数,负责对目标进程的内存进行操作。

Process为进程模块,包含对进程信息的获取与各类对进程的相关操作函数,如获取进程pid,句柄,查询进程加载的模块信息,进程的内存信息等等。并且包含一组封装好的进程内存数据读取函数,可以从目标进程中读取各种宽度的整形,浮点,布尔值等,同时也可以直接读取一段字节。反之,也可写入数据。如果多个外挂供能需要独立读写数据,则可以将Process改为Singleton,并将读取方法设计为static方法,并添加信号量保证互斥访问,从而多线程同时访问。

Game为游戏信息模块,主要包含两个部分GameStructGameData,其中GameStruct包含了关于游戏或者目标程序的相关结构体的定义,比如玩家类的结构,坐标结构,武器属性的结构等,而GameData包含了从游戏进程中获取到的各类数据以及外挂相关数据等。Manager通过Process将外挂所需的数据读取出来,并存储于GameData中以供各个功能子模块和GUI,Overlay等使用。

Function为功能子模块,即一种外挂功能,每个Function直接从GameData中直接获取相关数据,而数据的读取由Manager进行。同时,Manager也负责对于每个Function子功能模块进行管理,如启用停用等,并通过配置文件进行子功能模块的配置。功能子模块与整个程序的耦合程度较轻,方便模块的移植与修改。  其中,占用资源与时间较少,逻辑简单,实现软实时任务的子功能模块可以在Manager线程下运行,而相对重量级,执行硬实时任务,功能复杂的子模块,通常单独在一个新的线程中运行。这些线程也由Manager进行管理。

Manager是整个架构的核心,其负责整个架构的运转,其职能主要是:

  • 通过Process,实现对目标进程的信息读取,内存操作等。
  • 将读取到的数据等存储进GameData中。
  • 负责管理Function子功能模块。
  • 负责处理KeyBoardMouse等外设的输入。
  • 负责通过Config配置文件进行程序配置

GUI为用户界面。可以使用.NET框架,将一部分C++托管,使用WinForm,在CLR下运行,也可以使用Qt,ImGUI等其他框架。

Overlay为悬浮界面,覆盖于目标程序窗口之上,背景透明且不响应任何消息,窗口消息透传至下一层即目标程序。主要负责透视框,外挂信息,游戏信息等的显示。使用DirectX11,基于微软的DirectXTK库,见Microsoft DirectXTK

 另外关于GUIOverlay,可以通过api hooking,hook目标程序的D3D设备,从而将其绘制与游戏内,从而减少窗口模式对游戏性能的消耗。

特性

  • 支持x86/x64。
  • 包含AoB扫描,支持使用通配符进行模糊扫描。
  • DLL注入器,支持DLL注入。(详见示例工程)
  • DirectXTK,并进行了封装,便于Overlay设计。(详见示例工程)
  • 一个通用WinForm GUI,基于C++/CLR。(Winform版未发布,已经改用ImGui)

使用方法

 1. 基于目标程序,向GameStruct添加外挂所需要的结构定义。

 2. 根据各个功能子模块需求,编写逻辑并将需要的数据写入GameData,向相关配置参数写入Config。

 3. 根据功能编写Manager,进行进程的信息获取,内存数据读取,处理外设输入,管理功能子模块等。

 4. 编写用户UI,Overlay等。

示例工程

 Counter-Strike: Global Offensive 外部外挂: CSGO External Hack

 主要功能:ESP透视(DirectX Overlay),Glow透视,雷达显人,bHop,自动扳机,自瞄等。

 Counter-Strike: Global Offensive 内部外挂: CSGO Internal Hack

 主要功能:自动扳机,自喵,微自瞄,自动压枪,Glow透视,雷达显人,bHop,改枪皮,改刀等。

声明

  • 本程序仅为通用框架并非完整的具有功能的外挂,需要在该框架的基础上进行二次开发从而实现特定的功能。
  • 本程序作为外挂框架,并未将防检测纳入考量,请勿在受反外挂程序保护的服务器上使用。
  • 本程序作为游戏外挂使用时,仅限单机游戏使用,请勿在多人游戏中作弊。
  • 本程序作为其他用途时,请勿用于破坏网络安全,盗取个人信息,危害社会治安等用途,产生的一切后果与本程序无关。
  • 本程序仅限交流学习使用,请勿用于商业活动,转载或使用代码,请注明出处。

 欢迎对代码进行完善修改,增加新功能,本程序基于MIT开源许可证发行,更多请参阅许可证说明。

关于

Celestial Tech

更多详情请见天师苍邪科技官方网站: Celestial Tech

Copyright © 2019 Celestial Tech

cthackframework's People

Contributors

celestialpaler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cthackframework's Issues

该项目内容上传不完整

准备拿来学习,编译不过去,与实例项目对比发现这里没有上传完整,希望作者可以补全

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.