首页
社区
课程
招聘
未解决 [求助]X64 申请内存问题 50.00雪花
发表于: 2021-4-30 01:14 3989

未解决 [求助]X64 申请内存问题 50.00雪花

2021-4-30 01:14
3989


上面是游戏模块地址游戏自带的模块都是7FFD3开头的 下面是我自己申请的内存地址 调用的ZwAllocateVirtualMemory


地址相差太大 有办法申请到模块附近的内存吗


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 1
支持
分享
最新回复 (14)
雪    币: 108
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2


游戏自带模块都是7FFD开头  如何申请在7FFD开头的内存 尝试了好多办法都没有成功

最后于 2021-4-30 01:20 被mb_punccucj编辑 ,原因:
2021-4-30 01:19
0
雪    币: 246
活跃值: (4427)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
3
https://github.com/btbd/modmap/tree/master/modmap
把你的模块搞在他的后面,不过DLL不能卸载
2021-4-30 11:00
0
雪    币: 108
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
ookkaa https://github.com/btbd/modmap/tree/master/modmap 把你的模块搞在他的后面,不过DLL不能卸载
谢谢 我小白看不太懂 只是想 申请一个指定长度的内存区域 不是要把DLL注入进去 这个申请的内存地址范围不能超过原本模块太多  不然拷贝进去数据 地址都是错误的 有什么简便的方法吗 
2021-4-30 12:34
0
雪    币: 246
活跃值: (4427)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
5
mb_punccucj 谢谢 我小白看不太懂 只是想 申请一个指定长度的内存区域 不是要把DLL注入进去 这个申请的内存地址范围不能超过原本模块太多 不然拷贝进去数据 地址都是错误的 有什么简便的方法吗
你把你的代码传上来就行了,你肯定写的有问题
2021-4-30 12:40
0
雪    币: 108
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
ookkaa 你把你的代码传上来就行了,你肯定写的有问题
	bytesIO = 5*4096;
	buf = 0;
	XXXZwAllocateVirtualMemory ZwAllocateVirtualMemory;
	ZwAllocateVirtualMemory = (XXXZwAllocateVirtualMemory)GetProcAddress(GetModuleHandleW(L"ntdll.dll"), "ZwAllocateVirtualMemory");
	ZwAllocateVirtualMemory(GetCurrentProcess(), &buf, 0, &bytesIO, MEM_COMMIT | MEM_TOP_DOWN, PAGE_EXECUTE_READWRITE);

就是想这样申请内存 内存地址在模块地址附近  你发的那个 我这小白看不懂啊也

2021-4-30 12:58
0
雪    币: 108
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
ookkaa 你把你的代码传上来就行了,你肯定写的有问题
老哥 留个联系方式 我详细跟你说一下
2021-4-30 13:03
0
雪    币: 246
活跃值: (4427)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
8
mb_punccucj 老哥 留个联系方式 我详细跟你说一下[em_2]
wwo知道你啥意思,只能控制低32位,前面高的控制不了
2021-4-30 13:24
0
雪    币: 108
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
ookkaa wwo知道你啥意思,只能控制低32位,前面高的控制不了
我想给游戏模块内存做备份 但是 自己申请的内存地址与游戏模块地址相差太大导致备份的内存 基址 还有call跳转是错误的 call容易修复 但是比如mov rax[xxxx]这样的基址形式的 修复起来麻烦  所以要申请的地址不能与模块地址相差太大  有什么办法吗
2021-4-30 13:32
0
雪    币: 246
活跃值: (4427)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
10
mb_punccucj 我想给游戏模块内存做备份 但是 自己申请的内存地址与游戏模块地址相差太大导致备份的内存 基址 还有call跳转是错误的 call容易修复 但是比如mov rax[xxxx]这样的基址形式的 修复起来麻 ...
不清楚
2021-4-30 13:37
0
雪    币: 4939
活跃值: (2360)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
申请高位地址
2021-4-30 17:18
0
雪    币: 108
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
hekes 申请高位地址
看我发的代码 申请的就是高位的啊但是申请下来比游戏模块地址小
2021-4-30 17:30
0
雪    币: 377
活跃值: (5996)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
13
这个函数的第二个参数BaseAddress不是可以指定位置吗
2021-4-30 19:19
0
雪    币: 108
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
14
下咯 这个函数的第二个参数BaseAddress不是可以指定位置吗
指定位置 我不知道要设置什么样的内存地址才可以 尝试了几个都崩溃
2021-4-30 19:20
0
雪    币: 377
活跃值: (5996)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
15
mb_punccucj 指定位置 我不知道要设置什么样的内存地址才可以 尝试了几个都崩溃

临时想到个笨办法,用个循环,往他的地址后面申请失败了就加1000,继续循环申请直到成功或者超出你的范围

最后于 2021-4-30 19:28 被zx_838741编辑 ,原因:
2021-4-30 19:27
0
游客
登录 | 注册 方可回帖
返回
//