Advertisement

WOW64利用PEB机制获取32和64位进程及其模块信息(附带DEMOD)

  • 5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:RAR


简介:
DELPHI代码编写过程。通过调用API NtWow64QueryInformationProcess64获取进程的64位PEB结构体地址。利用API NtWow64ReadVirtualMemory64获取进程内存块数据。基于PEB64结构体,对进程的所有64位模块进行遍历操作。 对于32位进程的处理步骤如下:首先,调用CreateToolhelp32Snapshot获取进程的基本信息;其次,利用Process32First和Process32Next函数实现对进程的遍历;接着,通过Module32First和Module32Next方法访问模块信息。 鉴于对WINDOWS系统的权限管理仍需进一步优化,目前只能获取进程的基本信息,而模块的详细数据则无法访问。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • 32中枚举64
    优质
    本文探讨在32位应用程序中获取64位进程中模块信息的方法和技术,详细介绍实现过程中的关键步骤与挑战。 资源介绍:WOW64的32位程序实际上具备所有64位程序的功能,包括注入到64位进程、枚举64位进程模块、挂钩(Hook)64位模块以及调用64位API等。 这是因为WOW64不是完全虚拟化的环境,而是一个伪虚拟化系统。它本身就是一个运行在Windows上的64位进程,但其认为自己是32位程序。因此,在Wow64进程中同时存在有32位和64位的环境结构。通过使用NtWow64QueryInformationProcess64 API可以获取到目标进程的64位PEB(进程执行块)地址;而利用NtWow64ReadVirtualMemory64 API则能够读取该进程内部任意位置的数据,进而可以通过遍历PEB64结构来枚举出所有正在运行中的模块。
  • CPU温度硬盘,适3264系统
    优质
    本工具可轻松获取计算机的CPU温度及硬盘详细信息,兼容32位与64位操作系统,帮助用户实时监控电脑硬件状态。 可以通过加载WINRING0驱动来读取寄存器以获取32位或64位Intel CPU的温度和硬盘信息。
  • 使DSP28335SPIA配置AD2S1210以
    优质
    本项目采用TI公司的DSP28335处理器与SPIA通信模块,实现对ADI公司生产的高精度旋转变压器解码芯片AD2S1210的配置,精确获取角度位置信息。 本段落将详细介绍如何在入职初期使用DSP28335微处理器通过SPIA模块配置AD2S1210芯片以实现电机控制中的位置信息采集。AD2S1210是一款高精度的数字旋转变压器(DAC)芯片,常用于电机控制系统中进行角度和速度检测。 配置AD2S1210的关键在于正确初始化SPI接口。这包括使能SPI外设时钟以及初始化相应的GPIO端口。例如,可以调用`InitSpiaGpio()`库函数来完成GPIO的初始化工作。在设置移位时钟极性和相位时,需确保与AD2S1210的串行接口时序图一致。这里采用无相位延迟的上升沿模式,即SPICLK为低电平有效,在SPICLK上升沿发送数据,在下降沿接收。 初始化SPI控制器设置如下: ```c SpiaRegs.SPICCR.all = 0x07; // 设置为主模式且没有相位延迟。 SpiaRegs.SPICTL.all = 0x0006; // 上升沿发送,下降沿接收。 SpiaRegs.SPIBRR = 0x0012; // 波特率约为1.974MHz ``` 接下来需要编写SPI收发函数`SPI_Byte()`。此函数负责将数据通过SPI总线发送,并在接收到响应后返回该数据,是SPI通信的核心部分。 然后初始化与AD2S1210相关的GPIO引脚,包括CS(片选)、RESET(复位)、RD(读取)、A0、A1、SAMPLE、WR(写入)和SOE(串行输出使能)。这些引脚的电平控制直接影响到AD2S1210的操作状态。 编写AD2S1210的初始化函数`ad2s1210_Init()`,通过控制RESET和SAMPLE引脚完成复位过程,并确保有足够的延迟时间以满足设备的要求。接下来定义写入和读取AD2S1210的功能。`WriteToAD2S1210()`接收地址与数据作为参数并通过SPI接口发送;而`ReadFromAD2S1210()`根据不同的工作模式(配置、位置或速度)从设备中读取数据。 在读取模式为POSITION或VELOCITY时,还需要控制SAMPLE引脚以确保正确采样。此外,在读取后可能需要等待一段时间来保证数据稳定。 最后,通过改变A0和A1引脚的电平可以切换AD2S1210的工作模式。`AD2S1210_ModeSelect()`函数用于选择工作模式,并根据需求设置这两个引脚的状态。 总结来说,配置AD2S1210的过程包括SPI接口初始化、GPIO设置、SPI通信功能编写、复位操作及读写和切换工作模式的实现。这些步骤为电机控制系统采集位置信息奠定了基础,确保DSP28335能够有效与AD2S1210交互,从而实现精确控制。
  • Android ZBar SO库含6432Jar包
    优质
    本资源提供ZBar条形码扫描库的Android版本,兼容32位与64位系统,并包含Jar包,便于开发者快速集成使用。 Android Zbar 包含64位和32位的so库及jar包。由于本人不会编译这些文件,只能拿来使用。这些资源在某些平台上积分要求较高,对于没有足够积分的人来说难以获取。现在我将这些资源以1分的积分价格提供给那些想要使用但缺乏积分的人。
  • SecureCRT 8.x 破解版(注册 6432)下载
    优质
    本页面提供SecureCRT 8.x破解版及其配套注册机的下载服务,适用于64位和32位系统。请注意,使用破解软件可能涉及法律风险,请谨慎选择。 SecureCRT 8.x 破解版(包含注册机,适用于32位和64位系统)现已可用,请尽快下载。此版本内附一个功能强大的FTP客户端,并且对于Linux后台登录管理来说是不可或缺的工具。
  • 简化JRE(适于Windows 3264Linux 3264
    优质
    这是一个精简版的Java运行环境(JRE)安装包,专门针对Windows和Linux系统的32位和64位架构设计,旨在提供轻量级且高效的Java应用程序执行环境。 精简JRE(适用于Windows 32位和64位、Linux 32位和64位)。JRE的精简主要集中在对rt.jar文件进行优化,会移除无用的class文件。
  • DiskInfo:Node.js磁盘
    优质
    DiskInfo是一款专为Node.js设计的模块,它能够帮助开发者轻松获取系统中各磁盘的信息,包括容量、使用情况等数据。 使用Node.js模块diskinfo可以获取磁盘信息,并通过调用系统命令来获得驱动器的相关数据。解析后的结果会被加载到一个数组里。 代码示例如下: ```javascript var d = require(diskinfo); d.getDrives(function(err, aDrives) { for (var i = 0; i < aDrives.length; i++) { console.log(Drive: + aDrives[i].filesystem); console.log(Blocks: + aDrives[i].blocks); console.log(Used: + aDrives[i].used); console.log(Available: + aDrives[i].available); } }); ```
  • eWOW64Ext v1.1 - 支持加载任意 32/64 64汇编读写-易语言
    优质
    eWOW64Ext v1.1 是一个强大的工具,支持在64位系统中加载任意32位或64位模块,并提供64位汇编功能及进程读写操作,适用于易语言开发环境。 模块原理:wow64 是在 64 位操作系统上允许运行32位程序(例如用易语言编写的程序)的模拟器子系统;无论是在64位还是32位的操作系统中,都存在两个地址空间。正常情况下,32位应用程序访问的是其对应的32位地址空间,而64位的应用则使用自己的64位地址空间。然而,在这两种环境之间可以进行切换,并且本模块正是利用这一特性来在程序内部从一个32位的wow环境中进入x64模式以调用ntdll.dll中的函数(这些基址是针对64位应用而言),然后返回到原来的wow环境;这个过程必须在一个子程序内完成。部分实现代码参考了c++开源项目:wow64ext,在此感谢作者 rewolf。 模块功能包括: - 实现易语言纯 64 位汇编置入代码; - 允许调用易程序中的所有ntdll.dll的函数,即使在开发32位应用程序时也能使用许多原本只属于64位的应用才能实现的功能; - 可以直接通过64位函数读写(注入)其他进程的数据; - 提供了部分常用的ntdll.dll函数,并且这些功能也有对应的32位版本以便兼容不同的需求;在非64位系统中,该模块不会启用任何可能引起异常的64位特性,但依然支持所有32位的功能; - 支持加载任意 32/64 位 DLL 文件(包括kernel32.dll),使得易语言可以调用外部 64 位动态链接库成为可能; 辅助函数: - fn_WOW64Enabled:用于检查当前运行环境是否为一个支持wow64的系统; - fn_ProcessIsX64:检测指定进程是否是64位应用程序。 内部命令(适用于处理64位数据)包括但不限于以下几种: - X64Call: 通用函数调用,用于直接执行任意64位函数; - GetNtdll64, GetModuleHandleEx64 和 GetProcAddressEx64:这些命令分别提供ntdll.dll在当前进程中的内存地址、通过哈希值获取模块的基址以及根据索引或名称查找函数地址的功能。 - NtQuerySystemInformation64: 查询系统信息,可以用于收集有关系统的各种数据; - OpenProcess64, HeapAlloc64 等等:这些命令提供了对其他进程进行操作(如打开/关闭句柄)和内存管理的能力。
  • Java
    优质
    简介:本文将介绍如何使用Java编程语言来获取系统中的进程信息,包括进程ID、进程名称等,并提供示例代码。 Java 使用 Sigar 库可以获取进程的相关信息,包括各个进程的 PID、名称、CPU 使用率以及所占内存大小等。