VirtualAlloc申请进程空间

https://baike.baidu.com/item/VirtualAlloc       百度百科

https://msdn.microsoft.com/zh-cn/library/windows/desktop/aa366887(v=vs.85).aspx      微软文档

用了这个之后可以把二进制文件读到进程空间中,然后用db等软件反汇编查看其内容.

另外,先把地址输出来,不然在64位下面找不到在哪儿,4个G大呢,进程空间.

64位下输出地址的话这样写:

printf ("%llx", unsigned long long (222222222222222222222));

原文地址:https://www.cnblogs.com/love-DanDan/p/9880152.html

时间: 2024-07-30 07:33:24

VirtualAlloc申请进程空间的相关文章

Linux - 进程(一) 进程空间

一 进程空间分布概述 对于一个进程,其空间分布如下图所示: 程序段(Text):程序代码在内存中的映射,存放函数体的二进制代码. 初始化过的数据(Data):在程序运行初已经对变量进行初始化的数据. 未初始化过的数据(BSS):在程序运行初未对变量进行初始化的数据. 栈 (Stack):存储局部.临时变量,函数调用时,存储函数的返回指针,用于控制函数的调用和返回.在程序块开始时自动分配内存,结束时自动释放内存,其操作方式类似于数据结构中的栈. 堆 (Heap):存储动态内存分配,需要程序员手工分

Linux 内核开发 - 进程空间

1.1 虚拟内存 Linux 是一个多任务的系统,如果每个任务都独立的占用内存,则实际的物理内存将很快消耗殆尽,实际上对于前台正在运行的任务来说,所需要要的内存并不多,很多任务基本不需要运行,也就没有必要一直占用内存,虚拟内存技术采用硬盘来充当一部分内存,当内存不足时就将不需要在内存中使用的数据搬移到硬盘中去,当任务需要运行时又将硬盘中的数据搬回物理内存. 虚拟内存技术不仅起到了保护操作系统的作用,而且使得用户程序可以使用到比实际物理内存更大的地址空间,屏蔽了实际物理内存对用户地址空间的影响.

Linux进程空间分布

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Verdana; color: #555555 } span.s1 { } Linux使用两级保护机制:0级供内核使用,3级供用户程序使用.从图中可以看出,每个进程有各自的私有用户空间(0~3G),这个空间对系统中的其他进程是不可见的.最高的1GB字节虚拟内核空间则为所有进程以及内核所共享.

对进程空间的认识

(为什么32位的机器的进程地址空间为4GB) 在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制. 一早期的内存分配机制 在 早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址.当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小.那当程序同时运行多个程序时,操作系统是如何为这些程序分配内存 的呢?下面通过实例来说明当时

关于子函数中用new动态申请的空间的思考

当我们的程序在运行时才能决定数组空间的大小的情况下,我们会经常使用new或者malloc来在堆空间中动态的申请一片空间,这是相当的方便和实用的.最近经常使用自己也发现了一些问题以及自己对这些问题的思考: void main() { int *B; cout<<*B; fun(&B); cout<<*B; } void fun(int **A) { *A=new int(10); } 上面的代码要注意的是一定要将指针的地址传入子函数中,因为一开始B没有分配空间:

云邦互联可以申请免费空间

云邦互联免费空间(免备案,无广告) [1G免费全能空间,免备案,无广告] 1G全能空间 + 100M数据库(Mysql 5.5 / SQL Server 2005) 支持的脚本:ASP.PHP(5.2 - 7.0)..NET(2.0 / 4.0) 没有任何限制,详细功能请访问: http://www.yunzz.net/host/free.html(云邦互联) 推广员:ftp85379w

全局(进程空间)单例模式

如果每个模块调用static instance()实现不了,可以在模块初始化 module_main::init(主模块指针) { 指针->register(本模块类::instance()); } 这样其他模块就拥有这个模块内实例的指针:用那个指针调用单例. 只要拥有指针就可以调用其他模块变量

深入Linux内核架构——进程管理和调度(上)

如果系统只有一个处理器,那么给定时刻只有一个程序可以运行.在多处理器系统中,真正并行运行的进程数目取决于物理CPU的数目.内核和处理器建立了多任务的错觉,是通过以很短的间隔在系统运行的应用程序之间不停切换做到的.由此,以下两个问题必须由内核解决:除非明确要求,否则应用程序不能彼此干扰:CPU时间必须在各种应用程序之间尽可能公平共享(一些程序可能比其他程序更重要).本篇博文主要涉及内核共享CPU时间的方法以及如何在进程之间切换(内核为各进程分配时间,保证切换之后从上次撤销其资源时执行环境完全相同)

关于Excel的攻击探讨

近些年来APT趋势增长,有更多的恶意样本流传于世,这篇文章便初步探讨下Excel的一些攻击.站在攻击者的视角查看一些利用手法,知己知彼方能百战不殆. 随着趋势的发展,office文件一套成为了办公的需要,但同时软件的安全,也成为了企业部门保护信息重症之地.许多组织机构对企业发起APT攻击,其中最为常见的手法有鱼叉钓鱼.水坑攻击等. 在市面上流传的Excel样本,大都数都是如下攻击手法: office宏攻击 DDE攻击 Power Query DDE (DDE的一种) office宏攻击(Macr