2.x86游戏实战-跨进程读取血量

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

本次游戏没法给

内容参考于:微尘网络安全

接下来会写C/C++代码,C/C++代码不是很难,然后为了快速掌握逆向这个技能,我不会写C/C++语言基础的教学,也不需要学,跟着下方写的代码直接抄,然后跟着文字描述理解一下代码实现的功能,就可以了,当后面抄的C/C++代码多了自然就会C/C++语言了(这样学会的C/C++会导致基础非常不扎实,如果不想浪费时间,那就等学会了逆向(逆向是思路并不是写代码,所以直接抄C/C++代码)再回头看C/C++基础)

上一个内容:1.x86游戏实战-认识CE

效果图:

首先打开Visual Studio 2022

然后选择单击下图红框,创建新项目

然后选择c++

然后选择控制台应用

然后设置项目名称、位置(意思是代码存放位置)、解决方案名

下图是为了展示项目名称与解决方案名称的区别,然后点创建

项目名称与解决方案名称的区别,解决方案这个概念它是用来概括项目的,多个项目组合起来就可以叫做一个解决方案,一个项目也可以叫解决方案,不理解也没事,不重要

项目创建好,如下图红框位置,它有一段代码,这段代码不重要

然后上一个内容中CE读取了游戏中的数据,这种操作叫做跨进程读取,那么这种操作怎么实现的?

涉及两个函数,OpenProcess 和 ReadProcessMemory

OpenProcess用来打开一个进程

ReadProcessMemory用来读取指定进程中的内存

在攻防对抗中,防的一方一般会给 OpenProcess 函数做拦截,让它返回一个无权限的句柄,后面会写如何提权 ,这句话看到这里可能不懂,看完下方的代码里写的文字就会懂了

需要的东西

Pid

测试读取的数据

代码:

然后有一个东西,鼠标单击 函数,然后按F1键

会打开函数的说明

下图的说明是中文的,也有可能是英文的,如果是英文的那就用浏览器的翻译工具进行网页翻译

然后下图红框,函数说明里会有这种[in] [out]这种东西,[in]的意思是我们给函数传递的东西,[out]的意思是给函数一个内存地址,然后函数会给这个内存地址里写东西,写的东西是什么就看看说明

// ConsoleApplication4.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//#include <iostream>
#include "Windows.h"int main()
{/*PROCESS_ALL_ACCESS表示全部权限FALSE表示不继承,这个一般用不到,不用了解14384进程的Pid,详情看文章中的图h是进程句柄,句柄是用来代表一个进程的数字,由操作系统提供HANDLE h = OpenProcess(PROCESS_ALL_ACCESS, FALSE, 14384); 这一句的意思是获取14384进程的所有权限,并把句柄放到h中*/HANDLE h = OpenProcess(PROCESS_ALL_ACCESS, FALSE, 14384);DWORD* buffer = (DWORD*)0x60BAA6A0;DWORD ret;/*h要读取谁的内存buffer内存地址ret内存地址的数据4读取4个字节NULL没用ReadProcessMemory(h, buffer, &ret, 4, NULL); 这一句的意思是,从h的内存中的0x60BAA6A0位置开始读取4字节,放到ret它里面,如果ret的大小没有4字节会显示有问题或程序崩溃*/ReadProcessMemory(h, buffer, &ret, 4, NULL);printf("%d", ret);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/36523.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python--pickle函数的用法(超详细)

pickle是Python中的一个标准库&#xff0c;它提供了一种简单的方法来序列化和反序列化Python对象&#xff0c;以便可以将它们保存到文件或通过网络传输。pickle模块可以将Python对象转换为一种可以存储或传输的格式&#xff0c;然后可以通过pickle模块将其恢复为原始对象。 下…

不用再找了,这是大模型实践最全的总结

随着ChatGPT的迅速出圈&#xff0c;加速了大模型时代的变革。对于以Transformer、MOE结构为代表的大模型来说&#xff0c;传统的单机单卡训练模式肯定不能满足上千&#xff08;万&#xff09;亿级参数的模型训练&#xff0c;这时候我们就需要解决内存墙和通信墙等一系列问题&am…

对于mysql 故障的定位和排查

故障表现 他的执行时间超过规定的限制&#xff08;比如1000ms&#xff09;CPU使用率高大量业务失败&#xff0c;数据连接异常执行sql越来越慢&#xff0c;失败越来越多 解决方案 定位 应急 故障恢复 定位 查询慢sql的日志查看mysql 的performance schena&#xff08;里面…

flask-socket的实践

1.长连接和短连接的由来 1&#xff09;TCP在真正的读写操作之前&#xff0c;server与client之间必须建立一个连接&#xff0c; 当读写操作完成后&#xff0c;双方不再需要这个连接时它们可以释放这个连接&#xff0c; 连接的建立通过三次握手&#xff0c;释放则需要四次握手…

用Roofline模型去分析pytorch和Triton算子

用Roofline模型去分析pytorch和Triton算子 1.参考链接2.测试环境3.安装相关依赖4.锁频5.获取理论算力6.创建测试脚本7.运行测试程序生成Roofline图8.NVIDIA Nsight Compute生成Roofline9.效果图A.nn.LinearB.Triton实现 本文演示了如何用Roofline模型去分析pytorch和Triton算子…

如何快速判断IP被墙

IP被墙是指IP部分地区或者运营商无法被正常进行访问的一个情况。 被墙的原因有很多种不一一列举&#xff0c;由于被墙的时间短的为按周按月计算&#xff0c;时间长的则为按年计算&#xff0c;所以一般这种情况下只能选择更换IP。 检查办法&#xff1a; 第一&#xff0c;确认IP…

【银河麒麟】unzip程序卡住,处理机制详解,附代码

1.服务器环境以及配置 【机型】 处理器&#xff1a; HUAWEI,Kunpeng 920 内存&#xff1a; 400G 【内核版本】 4.19.90-23.18.v2101.ky10.aarch64 【OS镜像版本】 银河麒麟高级服务器操作系统V10-SP1-0711-arm 【第三方软件】 docker 2.问题现象描述 一台k8s服务器…

netconf_h3c_ac

# -*- coding:utf-8 -*- import xmltodict from ncclient import managerip=ACip地址, m=manager.connect(host=ip,port=830,username=账号,password=密码,hostkey_verify=False,device_params={name: h3c},allow_agent=False,look_for_keys=False,timeout=30)data_xml = <…

el-dropdown问题

问题&#xff1a;用element组件中的el-dropdown组件之后&#xff0c;发现随便点击屏幕任何地方控制台都会报错&#xff0c;之前使用的element的级联查询 &#xff0c;在加入这个组件之后点击空白地方下拉面板没办法收回去。 element-ui.common.js?ccbf:2432 Uncaught TypeErr…

水上实用救生工具_救生拉杆_鼎跃安全

每年&#xff0c;由于水上事故而失去生命的人数不胜数&#xff0c;水上安全问题也成为公众关注的焦点。如何在关键时刻实施有效的救援&#xff0c;成为保障生命的重要课题。作为水上救援的重要工具&#xff0c;救生拉杆在紧急情况下发挥了无可替代的作用。 救生拉杆&#xff0c…

springboot 缓存框架Cache整合redis组成二级缓存

springboot 缓存框架Cache整合redis组成二级缓存 项目性能优化的解决方案除开硬件外的方案无非就是优化sql&#xff0c;减少sql 的执行时间&#xff0c;合理运用缓存让同样的请求和数据库之间的连接尽量减少&#xff0c;内存的处理速度肯定比直接查询数据库来的要快一些。今天就…

CDP问卷的常见问题

CDP问卷的常见问题可以归纳如下&#xff1a; 哪些企业会收到CDP邀请&#xff1f; 企业会收到来自投资和/或采购机构的邀请&#xff0c;以填写CDP问卷并披露相应的环境管理信息。 未收到邀请的企业可否填报&#xff1f; 未收到邀请的企业可以选择自行填报。他们需发送申请自愿…

多线程(基础)

前言&#x1f440;~ 上一章我们介绍了什么是进程&#xff0c;对于进程就了解那么多即可&#xff0c;我们作为java程序员更关注线程&#xff0c;线程内容比较多&#xff0c;所以我们要分好几部分才能讲完 目录 进程的缺点 多线程&#xff08;重要&#xff09; 进程和线程的区…

鸿蒙开发Ability Kit(程序框架服务):【FA模型切换Stage模型指导】 module的切换

module的切换 从FA模型切换到Stage模型时&#xff0c;开发者需要将config.json文件module标签下的配置迁移到module.json5配置文件module标签下&#xff0c;具体差异见下列表格。 表1 FA模型module标签与Stage模型module标签差异对比 FA标签标签说明对应的Stage标签差异说明…

随想录 Day 72 拓扑排序、最短路径 朴素dijkstra

随想录 Day 72 拓扑排序、最短路径 朴素dijkstra 117. 软件构建 117. 软件构建 时间限制&#xff1a;1.000S 空间限制&#xff1a;256MB 题目描述 某个大型软件项目的构建系统拥有 N 个文件&#xff0c;文件编号从 0 到 N - 1&#xff0c;在这些文件中&#xff0c;某些文件依…

LeetCode刷题之HOT100之课程表

吃完普通的食堂饭菜&#xff0c;回到实验室&#xff0c;继续做一道题&#xff01; 1、题目描述 2、逻辑分析 这道题涉及到图相关知识&#xff0c;应用到了拓扑排序。 题意解释 一共有 n 门课要上&#xff0c;编号为 0 ~ n-1。先决条件 [1, 0]&#xff0c;意思是必须先上课 0…

触动心弦的成语之旅:《米小圈动画成语》带你走进中华智慧

成语&#xff0c;这些古老而典雅的语言精华&#xff0c;如同中华文化的晶莹明珠&#xff0c;闪耀着历史的光辉和智慧的火花。从古至今&#xff0c;它们在中国人的日常交流中扮演着重要角色&#xff0c;不仅传递着深刻的哲理和文化内涵&#xff0c;更是凝聚了世代智者的思想和智…

mindspore打卡第几天 DDPM 之Unet 网络解析markdown版本

mindspore打卡第几天 DDPM 之Unet 网络解析markdown版本 A: 为啥DDPM的unet网络的下采样这部分的channel是从20 32 64 128这样上升的&#xff1f;从U形结构看不应该是下降的 &#xff5b;Block1 --> block2 --> Res&#xff08;attn&#xff09;-- >dowmsample&#…

20240622服务器异常

异常表现 玩法无法登录服务器&#xff0c;远程XShell 无法连接到服务器,IT 后台查看服务器内存使用完毕。 异常处理 IT 直接重启服务器 后续异常 Docker 服务器无法启动 使用命令查看错误&#xff1a; sudo systemctl status docker.service docker.service - Docker Ap…

【Linux】线程id与互斥(线程三)

上一期我们进行了线程控制的了解与相关操作&#xff0c;但是扔就有一些问题没有解决 本章第一阶段就是解决tid的问题&#xff0c;第二阶段是进行模拟一个简易线程库&#xff08;为了加深对于C库封装linux原生线程的理解&#xff09;&#xff0c;第三阶段就是互斥。 目录 线程id…