基址分为固定基址,与随机基址

一般的EXE里 数据段和代码段 相关的地址是固定的

通常DLL里找到的基址都是动态的

常见的基址 形式

一、固定基址

标题

先说固定的基址 举个例子 某个游戏的角色相关的几个地址:

0x400056 //int 血量

0x40006c //float x坐标

0x400070 //float y坐标

或者

[0x458800AC]+0x180  //血量

[0x458800AC]+0x784  //float x坐标

[0x458800AC]+0x788 //float y坐标

//如果上边的地址 在游戏 重新进入后 依然可以通过这个地址读取到正确的值 一般来说这个基址就是固定类型的

二、另一种 动态基址

如果是动态地址 一般是编译器里 随机基址:是

像这种用CE分析出来的基址 一般是这种形式

game.exe+0x780C //血量

game.exe+0x7810 //x坐标

game.exe+0x7814 //y坐标

多级指针形式例子

[game.exe+0x880C]+0x78 //int 血量

[game.exe+0x880C]+0x18c //坐标x float

[game.exe+0x880C]+0x190 //坐标y float

//接下来说说 读取基址的办法

//读取内存数据一般常见的有2种方式

方式1:跨进程读写内存,一般用 ReadProcessMemory来封装接口

int R4INT(UINT_PTR pbase)

{
int dwRet=0;
SIZE_T byReadSize=0;
 int ir=ReadProcessMemory(游戏进程句柄,(PVOID)pbase,&dwRet,sizeof(UINT_PTR),&byReadSize);
return dwRet;
}

float R4F(UINT_PTR pbase)
{
float dwRet=0;

SIZE_T byReadSize=0;
 int ir=ReadProcessMemory(游戏进程句柄,(PVOID)pbase,&dwRet,sizeof(UINT_PTR),&byReadSize);
return dwRet;
}

方式2: 本地进程读写内存接口,一般可以用指针 如 *(int*),或者*(float*)

例:

int R4INT(UINT_PTR pbase)

{
 return *(int*)pbase;
}

float R4F(UINT_PTR pbase)

{
 return *(float*)pbase;
}

//读取基址偏移例子:

game.exe+0x780C //血量   R4INT((UINT_PTR)GetModuleHandle("game.exe")+0x780C);

game.exe+0x7810 //x坐标 R4F((UINT_PTR)GetModuleHandle("game.exe")+0x7810);

game.exe+0x7814 //y坐标 R4F((UINT_PTR)GetModuleHandle("game.exe")+0x7814);

[game.exe+0x880C]+0x78 //int 血量 R4INT(R4INT((UINT_PTR)GetModuleHandle("game.exe")+0x880C)+0x78);

[game.exe+0x880C]+0x18c //坐标x float  R4F(R4INT((UINT_PTR)GetModuleHandle("game.exe")+0x880C)+0x18c);

[game.exe+0x880C]+0x190 //坐标y float  R4F(R4INT((UINT_PTR)GetModuleHandle("game.exe")+0x880C)+0x18c);

[0x458800AC]+0x180  //血量  R4INT(R4INT(0x458800AC)+0x180);

[0x458800AC]+0x784  //float x坐标 R4F(R4INT(0x458800AC)+0x784);

[0x458800AC]+0x788 //float y坐标 R4F(R4INT(0x458800AC)+0x788);

0x400056 //int 血量  R4INT(0x400056)

0x40006c //float x坐标 R4F(0x40006c)

0x400070 //float y坐标 R4F(0x400070)

190514-读取基址与偏移的几种方式相关推荐

  1. Java如何读取文件文本内容的几种方式汇总

    本文为joshua317原创文章,转载请注明:转载自joshua317博客 Java如何读取文件文本内容的几种方式汇总 - joshua317的博客 package com.joshua317;imp ...

  2. Spring获取ApplicationContext方式,和读取配置文件获取bean的几种方式

    Spring获取ApplicationContext方式 我自己常用的方法: 读取一个文件1 //创建Spring容器 2 ApplicationContext ctx = new ClassPath ...

  3. SpringBoot笔记:SpringBoot2.3读取应用配置参数的几种方式

    文章目录 yml格式文件 方式一:@ConfigurationProperties注解方式 方式二:@Value注解方式 方式三:Environment获取方式 测试结果 propetries格式文件 ...

  4. python pydicom读取dicom文件信息的几种方式

    使用pydicom读取单张dicom信息 看这篇文章之前,请各位对dicom文件有一定的了解. 知道上面那张图片里面的各个栏目如group,VR代表着啥再继续往下看 现有一张dicom文件,如何读取它 ...

  5. 使用mvc模式读取服务器上的文件,ASP.NET MVC之读取服务器文件资源的两种方式

    初次认识asp.net mvc时,以为所有文件都需要走一遍路由,然后才能在客户端显示, 所以我首先介绍这一种方式 比如说:我们在服务器上有图片: ~/resource/image/5.jpg 我们就需 ...

  6. springboot读取linux文件_SpringBoot读取Resource下文件的几种方式

    最近在项目中涉及到Excle的导入功能,通常是我们定义完模板供用户下载,用户按照模板填写完后上传:这里待下载模板位置为resource/excelTemplate/test.xlsx,尝试了四种读取方 ...

  7. python 读取wav 音频文件的两种方式

    python 中,常用的有两种可以读取wav音频格式的方法,如下所示: 1 import scipy 2 from scipy.io import wavfile 3 4 import soundfi ...

  8. python读取Excel绘制饼图的两种方式

    python的两种数据作图方案 matplotlib简单方便,适合数据作图或科学作图(论文发表) pyecharts流程略复杂,但功能强大,图形具有交互式,适合项目开发或商业分析报告,但是它是一个非常 ...

  9. poi 读取excel合并单元格两种方式

    说明: excel合并是用选择的两个或更多单元格创建一个单元格的过程.合并单元格时,如果有多个选择的单元格包含数据,则将保留左上角或右上角(取决于当前的视图方向)单元格中的数据,并删除其余的所有数据. ...

最新文章

  1. 并发 vs 并行 (Concurrency Is Not Parallelism)
  2. c语言如何将浮点数转换为字节,浅谈C语言整型与浮点型转换
  3. 汇总|C++系统计时方法以及系统时间戳获取方法
  4. asp.net 1.1 web.config 讲解
  5. Servlet / Tomcat / Spring 之间的关系
  6. 多少个没收到会收敛_做多少个俯卧撑算是合格?坚持做俯卧撑,会有什么变化?...
  7. CentOS7 0安装Maven
  8. 【Android 安装包优化】Android 中使用 SVG 图片 ( SVG 矢量图简介 | Android 中生成 Vector 矢量图资源 )
  9. php刷新公测,2021新时代来临,Z-BlogPHP 1.7 重磅公测
  10. OpenCV A-KAZE匹配的实例(附完整代码)
  11. .NET 框架兼容性简介
  12. 桌面图标设计里的计算机是灰色的,小技巧教您如何将Windows 10上的桌面图标设置中的回收站为灰色!...
  13. Project Euler Problem 10-Summation of primes
  14. 基于mfc的图形学实例_前端图形学(二十)——退后!!我要开始进入3D世界了...
  15. 程序员面试金典——9.5字符串排列
  16. Pytorch模型构造方法
  17. 获取p12证书详情,返回证书详情实体
  18. 电工基础知识-配电室安全须知
  19. 百度飞桨AI达人创造营 | Day01:创意是如何诞生的
  20. JVM--GC相关记录

热门文章

  1. 仿京东购物界面放大镜效果
  2. “Windows Server 2012 R2安装VMwareTools提示“安装程序无法验证是否已安装所需的Microsoft更新KB2919355”的解决办法
  3. 阿里、微盟、碧桂园,抢占智慧餐饮高地
  4. U盘重装win10出现的异常情况
  5. 下过富士康工厂、做过华为外包,这位程序员是如何花 6 年逆袭成为技术大佬的?...
  6. 微型计算机硬件组成框图视频讲解,第1章 微型计算机的概述.ppt
  7. Android6.0 APN
  8. CA_PID描述在的表示 CAT(EMM_PID)与PMT (ECM_PID)
  9. 2020蓝桥杯省赛单片机2
  10. 身为一个程序员,如何做到自律?