zoukankan      html  css  js  c++  java
  • 大富翁8 修改器

    这里使用之前分析出来的数据结构写一个简易的修改器。在写之前需要确认如下事情

    一、如何取得对象在内存中位置

    由于之前分析出来的两个变量gRichCardsTable、gRichDataInfo是全局的变量,它们的偏移在每个发布版本中是确定的

    我使用的版本偏移值:

    gRichDataInfo              0x231dac

    gRichCardsTable         0x231dbc

    二、如何修改Rich8的内存数据

    可以使用Windows的两个函数ReadProcessMemory、WriteProcessMemory来实现从Rich8进程中读取数据和写入数据。

    实现思路比较简单,就是

    通过ReadProcessMemory读取数据->界面显示

    取界面数据->通过WriteProcessMemory写入修改后的数据

    结构定义

    #pragma pack(1)

    struct RichUserCardItem
    {
        ULONG CardValue;      //卡片值
        ULONG Reserved1;
        ULONG Reserved2;
    };

    struct RichUserInfo
    {
        BYTE Reserved1[656];
        ULONG CashValue;      //现金
        ULONG SavingsValue;      //存储
        BYTE Reserved2[28];
        RichUserCardItem ArrayOfUserCard[8];//8个卡片
        ULONG Reserved3;
        ULONG Reserved4;
        ULONG Reserved5;
        ULONG CountOfUserCard;  //持有卡片的数量
        ULONG CouponValue;    //点券
    };

    struct RichDataInfo
    {
        RichUserInfo* UsersInfo;  //玩家数组指针
        ULONG Reserved1;
        ULONG Reserved2;
        ULONG UserTotalCount;    //玩家的数量
        BYTE Reserved3[28];
        ULONG IndexOfUserSelected; //当前玩家索引
    };

    struct RichCardInfo
    {
        ULONG* CardsTable;  //卡片表的指针
        ULONG Reserved1;
        ULONG Reserved2;
        ULONG CardTotalCount;  //卡片的个数
    };

    #pragma pack()

    下面是实现后的效果,试过是可以的。

    image

    挺简陋的,不过基本需要的功能都有了。

    卡片我没有把对应的名称显示出来,这里就用该工具修改后,把所有卡片对应的名称列出来吧。

    image

    我的Rich8文件richman8.dat的MD5值是13a19e617b0ebeb16b7214f4ce63be64。如果是其他的发布版本,可能对应的偏移不同

    下载文件Download

    文件的Hash值:

      MD5    db7259dae55187c29599ec0e85a8ef15

          SHA1  3a04160b9c25de7731abba6be25903d718709a4c

    申明:所有只是为了研究学习,如果因为修改而导致的问题自己负责

    添加修改器的代码下载,有兴趣的朋友可以下载Code

  • 相关阅读:
    树状数组求区间最大值
    ABP Zero最新版源码
    abp zero mysql版正式发布
    基于ABP的Easyui admin framework正式开放源代码
    【推荐】ImageProcessor.Web,再也不用自己生成缩略图了
    ABP教程(四)- 开始一个简单的任务管理系统
    Abp Framework中文文档上线
    【开源】基于EF6+MVC5+API2+Easyui1.4.5+Easyui管理模板开发的管理系统
    web+ admin template,spa管理应用后台,easyui后台正式发布
    ABP教程(三)- 开始一个简单的任务管理系统 – 后端编码
  • 原文地址:https://www.cnblogs.com/Quincy/p/1936775.html
Copyright © 2011-2022 走看看