Readprocessmemory用法[通俗易懂]

Readprocessmemory用法[通俗易懂]函数功能:该函数从指定的进程中读入内存信息,被读取的区域必须具有访问权限。 函数原型:BOOLReadProcessMemory(HANDLEhProcess,LPCVOIDlpBaseAddress,LPVOIDlpBuffer,DWORDnSize,LPDWORDlpNumberOfBytesRead); 参数:hProcess:进程句柄 lpBaseA

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

函数功能:该函数从指定的进程中读入内存信息,被读取的区域必须具有访问权限。

 

函数原型:BOOL ReadProcessMemory(HANDLE hProcess,LPCVOID lpBaseAddress,LPVOID lpBuffer,DWORD nSize,LPDWORD lpNumberOfBytesRead);

 

参数:

hProcess:进程句柄

 

lpBaseAddress:读出数据的地址

 

lpBuffer:存放读取数据的地址

 

nSize:读出的数据大小

 

lpNumberOfBytesRead:数据的实际大小

 

C#中使用该函数首先导入命名空间:

 

然后写API引用部分的代码,放入 class 内部

 

 

这个函数有五个参数,第一个参数是 进程句柄,由OpenProcess函数获取;第二个参数是要读出数据的地址,使用CE等辅助工具可取得;第三个参数是用于存放读取数据的地址;第四个参数是 要读出的数据大小;第五个参数是读出数据的实际大小。例如:

如果我们读取的一段内存中的数据,我们引入部分可修改成如下:

由于数组是引用传递,我们不需要写out关键字。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185788.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月5日 上午8:46
下一篇 2022年10月5日 上午9:00


相关推荐

  • linux内核编程指南_linux内核源码详解

    linux内核编程指南_linux内核源码详解本章主要是as86与gas两种汇编语言的简要介绍,C语言与汇编语言的相互嵌套,目标文件的结构与及makefile文件的简要语法。  1,as86汇编的简要语法及命令可以参考http://blog.csdn.net/astraylinux/article/details/7301596  2,gas汇编与intel汇编的主要区别:(具体语法参考:http://blog.csdn.net/as

    2022年10月8日
    6
  • ManualResetEvent的理解和使用[通俗易懂]

    ManualResetEvent的理解和使用[通俗易懂]classProgram{staticvoidMain(string[]args){//注意:ManualResetEvent可以对所有进行等待的线程进行统一控制//true-初始状态为发出信号;false-初始状态为未发出信号ManualResetEventm…

    2022年7月18日
    17
  • JAVA的forEach用法

    JAVA的forEach用法JavaSE5 引入了一种更加简洁的 for 语法格式 可以用于遍历数组和集合 是 for 循环的增强版本 可能借鉴的是 C 语言 但是没有引入 C 格式的 foreach 和 in 关键字 还是用的 for 关键字 java 有些本地类的名字是 in 引入关键字可能导致冲突 所以使用冒号代替 格式如下 for 元素类型元素变量 x 遍历对象 数组或集合

    2026年3月18日
    2
  • 雪花算法的原理和实现Java

    雪花算法的原理和实现JavaSnowFlake算法,是Twitter开源的分布式id生成算法。其核心思想就是:使用一个64bit的long型的数字作为全局唯一id。在分布式系统中的应用十分广泛,且ID引入了时间戳,基本上保持自增的。这64个bit中,其中1个bit是不用的,然后用其中的41bit作为毫秒数,用10bit作为工作机器id,12bit作为序列号。…

    2022年7月25日
    15
  • SpringBoot在Tomcat部署war包[通俗易懂]

    SpringBoot在Tomcat部署war包[通俗易懂]启动类配置继承SpringBootServletInitializer@SpringBootApplicationpublicclassTestApplicationextendsSpringBootServletInitializer{publicstaticvoidmain(String[]args){SpringApplication.run(TestApplication.class,args);}@Override

    2022年6月12日
    34
  • 自定义类加载器加载jar包_类加载器的可见性

    自定义类加载器加载jar包_类加载器的可见性spring根本不会去管自己被放在哪里,它统统使用TCCL来加载类,而TCCL默认设置为了WebAppClassLoader,也就是说哪个WebApp应用调用了spring,spring就去取该应用自己的WebAppClassLoader来加载bean。这在真正理解线程上下文类加载器(多案例分析)中已有详细描述。因此,为了使spring使用自定义的类加载器进行加载,需要开一个线程,将这个线程的类加载器设置为自定义类加载器。publicStringtest(){try{

    2025年9月19日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号