68.游戏分析工具设计以及更改辅助中存在的界面问题

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

内容参考于:易道云信息技术研究院

上一个内容:67.利用FreeLibrary函数实现无痕注入的核心代码

分析工具主要做的是 游戏公共内容分析(公共内容指的是注入核心三大仙 注入、CALL、HOOK,所有事情都为围绕它们三个进行的服务)、游戏对象分析

游戏公共内容分析:又分游戏变量分析与记录,一个辅助是一定会对全局变量进行操作的比如基址、游戏函数分析并记录、游戏HOOK分析记录、通过分析结果生产c++代码。

游戏对象分析:游戏对象成员变量分析、游戏对象成员函数分析、分析结果生产c++代码

然后分析又不能只是分析还要通过特征码把它的位置定位出来,一个进程的内存地址是不固定的比如游戏一更新内存地址就会变这时不能重新把游戏的地址再写到代码中重新编译要让它通过特征码定位到

以上就是游戏分析工具的功能

67.利用FreeLibrary函数实现无痕注入的核心代码 它的代码为基础进行修改

CWndINC.cpp文件的修改

cpp 复制代码
void CWndINC::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码
    if (wndProcess.DoModal() == IDOK) {
        UExe = wndProcess.wExe;
        modPage[0].GetModList(wndProcess.dPid);
        UpdateData(FALSE);
    }
}

void CWndINC::OnBnClickedButton2()
{
    // TODO: 在此添加控件通知处理程序代码
    if (wndProcess.DoModal() == IDOK) {
        UExe = wndProcess.wExe;
        modPage[1 
        ].GetModList(wndProcess.dPid);
        UpdateData(FALSE);
    }
}

CWindProcess.cpp文件的修改

cpp 复制代码
void CWindProcess::OnNMDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
{
    LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
    // TODO: 在此添加控件通知处理程序代码
    *pResult = 0;
    NM_LISTVIEW* View = (NM_LISTVIEW*)pNMHDR;

    if (View->iItem != -1) {
        wPid = ProcessLst.GetItemText(View->iItem, 0);
        wExe = ProcessLst.GetItemText(View->iItem, 1);

        // CString 转 DWORD
        dPid = wcstoul(wPid.GetBuffer(), 0, 10);
        OnOK();
    }
}

CWindProcess.h文件的修改

cpp 复制代码
#pragma once


// CWindProcess 对话框

class CWindProcess : public CDialogEx
{
    DECLARE_DYNAMIC(CWindProcess)

public:
    CWindProcess(CWnd* pParent = nullptr);   // 标准构造函数
    virtual ~CWindProcess();

// 对话框数据
#ifdef AFX_DESIGN_TIME
    enum { IDD = IDD_PROCESS_LST };
#endif

protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

    DECLARE_MESSAGE_MAP()
public:
    CListCtrl ProcessLst;
    BOOL IsFirst;
    CString wPid;
    CString wExe;
    DWORD dPid;
public:
    virtual BOOL OnInitDialog();
    void RefreshProcess();
    afx_msg void OnNMDblclkList1(NMHDR* pNMHDR, LRESULT* pResult);
    afx_msg void OnLvnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult);
};

GAMEHACKER2Dlg.h文件的修改

cpp 复制代码
void OnOK();
void OnCancel();
afx_msg void OnClose();

GAMEHACKER2Dlg.cpp文件的修改

cpp 复制代码
void CGAMEHACKER2Dlg::OnOK()
{
}

void CGAMEHACKER2Dlg::OnCancel()
{
}


void CGAMEHACKER2Dlg::OnClose()
{
    // TODO: 在此添加消息处理程序代码和/或调用默认值

    CDialogEx::OnCancel();
}

相关推荐
山登绝顶我为峰 3(^v^)32 小时前
如何录制带备注的演示文稿(LaTex Beamer + Pympress)
c++·线性代数·算法·计算机·密码学·音视频·latex
十五年专注C++开发5 小时前
CMake基础:条件判断详解
c++·跨平台·cmake·自动化编译
QuantumStack7 小时前
【C++ 真题】P1104 生日
开发语言·c++·算法
天若有情6737 小时前
01_软件卓越之道:功能性与需求满足
c++·软件工程·软件
whoarethenext7 小时前
使用 C++/OpenCV 和 MFCC 构建双重认证智能门禁系统
开发语言·c++·opencv·mfcc
Jay_5158 小时前
C++多态与虚函数详解:从入门到精通
开发语言·c++
TESmart碲视9 小时前
HKS201-M24 大师版 8K60Hz USB 3.0 适用于 2 台 PC 1台显示器 无缝切换 KVM 切换器
单片机·嵌入式硬件·物联网·游戏·计算机外设·电脑·智能硬件
xiaolang_8616_wjl9 小时前
c++文字游戏_闯关打怪
开发语言·数据结构·c++·算法·c++20
FrostedLotus·霜莲10 小时前
C++主流编辑器特点比较
开发语言·c++·编辑器
翻滚吧键盘12 小时前
查看linux中steam游戏的兼容性
linux·运维·游戏