社区
进程/线程/DLL
帖子详情
64位进程地址空间的问题
csh20140320
2015-08-10 03:34:11
拜托各位大神,希望能答复我下边几个疑问?
1, 64位程序的进程地址空间多大?
2,假设有一个64位程序在运行,我能通过注入的方式获取他的起始地址吗,就是像
unsigned long address=(unsigned long)main;
一样,我又如何获取他的结束地址?
3,该程序运行中的输入参数在他的地址空间里能找到吗?
其实总结就是,我想获取一个64位程序运行时输入的参数,用注入的办法在某一时刻把内存里的东西全都写到文件里可以吗?
谢谢各位大神。
...全文
626
7
打赏
收藏
64位进程地址空间的问题
拜托各位大神,希望能答复我下边几个疑问? 1, 64位程序的进程地址空间多大? 2,假设有一个64位程序在运行,我能通过注入的方式获取他的起始地址吗,就是像unsigned long address=(unsigned long)main;一样,我又如何获取他的结束地址? 3,该程序运行中的输入参数在他的地址空间里能找到吗? 其实总结就是,我想获取一个64位程序运行时输入的参数,用注入的办法在某一时刻把内存里的东西全都写到文件里可以吗? 谢谢各位大神。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
csh20140320
2015-09-17
打赏
举报
回复
非常感谢各位
赵4老师
2015-08-12
打赏
举报
回复
获取一个程序运行时输入的参数,微软有现成的命令行工具。
许文君
2015-08-12
打赏
举报
回复
1.考虑64位进程空间大小我觉得没什么意义。 2.只要你能注入,在自己进程内怎么搞都行。获取main函数参数方法4L已经给出,获取其他函数可以hook知道其起始地址,只要知道这个函数参数个数、大小,参数如果是类会繁琐一些。至于结束地址是指return?你起始地址改了完全可以自己去return,当然一般系统api不建议这么搞。 3与2同一个问题
Saleayas
2015-08-11
打赏
举报
回复
如果你已经注入他的进程,那么直接使用 API 函数,GetCommandLine 获取运行参数。 如果没有,获取进程的 NtCurrentPeb() 中的 ProcessParameters->CommandLine.
csh20140320
2015-08-10
打赏
举报
回复
大神何在?跪求大神。
csh20140320
2015-08-10
打赏
举报
回复
引用 1 楼 oyljerry 的回复:
1. 2的64次方。非常大
拜托,还有其他的呢
oyljerry
2015-08-10
打赏
举报
回复
1. 2的64次方。非常大
32&
64位
APP&
地址空间
32位App和
64位
App 位数对应才能发挥最大的处理性能 64CPU+64操作系统+64应用 三者可以向低版本兼容,但是不能顾及高版本。
64位
系统设计初衷是满足高性能的事件处理,而32位系统则是用于普通用户; 64操作系统必须用于64CPU的电脑,32应用+64系统就有点大材小用,得不到性能最大化; 最主要的是运算速度,
64位
CPU GPRs(General-Purpose Regisoters,通用寄存器)的数据宽度位64,
64位
指令集可以存心
64位
数据指令,也就是说处理器一次可以提取64
深入解析Linux
进程
地址空间
与虚拟内存管理
本文深入探讨Linux
进程
地址空间
与虚拟内存管理机制。首先介绍了32位系统下程序
地址空间
的布局,通过示例代码验证了不同变量的存储区域。重点分析了虚拟地址的本质——
进程
视角的线性地址,通过父子
进程
实验揭示了写时拷贝技术(COW)的工作原理及其在
进程
独立性中的关键作用。文章详细阐述了分页管理机制,包括页表结构、缺页中断处理流程以及虚拟内存管理的核心数据结构(mm_struct和vm_area_struct)。通过对比直接操作物理内存的弊端,论证了虚拟
地址空间
的三大优势:安全保护、解耦设计和延迟分配机制。
python32位 最大内存_Python在
64位
窗口上的32位内存限制
我不知道你为什么认为你的
进程
应该能够访问4GB。根据MSDN上的Memory Limits for Windows Releases,在
64位
Windows 7上,默认的32位
进程
获得2GB *正好在哪里。那么有没有办法呢?那么你可以制作一个使用IMAGE_FILE_LARGE_ADDRESS_AWARE标志的32位Python的自定义构建,并重建numpy和所有其他扩展模块。我不能保证所有相关的...
Linux
进程
地址空间
分布
Linux
进程
的虚拟
地址空间
通过虚拟内存机制将物理内存和磁盘空间抽象为连续地址范围,分为用户空间和内核空间。32位系统用户空间为低3GB,
64位
系统可达128TB。用户空间从低到高依次为代码段(只读指令)、数据段(全局变量)、堆(动态分配)、共享库映射区(mmap)和栈(函数调用)。关键机制包括页表地址转换、ASLR安全保护和TLB加速。调试工具如/proc/pid/maps、gdb和strace可分析内存
问题
。优化建议包括避免大栈分配、调整堆阈值和使用valgrind检测内存错误。
linux 虚拟
地址空间
在哪,Linux虚拟
地址空间
Linux虚拟内存管理(glibc)在使用mysql作为DB开发的兑换券系统中,随着分区表的不断创建,发现mysqld出现了疑似“内存泄露”现象,但通过 valgrind等工具检测后,并没发现类似的
问题
(最终原因是由于glibc的内存碎片造成)。因此,需要深入学习 Linux的虚拟内存管理方面的内容来解释这个现象;Linux的虚拟内存管理有几个关键概念:1、每个
进程
都有独立的虚拟
地址空间
,
进程
访问...
进程/线程/DLL
15,465
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章