\\Device\\PhysicalMemory】的更多相关文章

从Windows Server 2003 with SP1 以后就禁用了用户态访问\\Device\\PhysicalMemory,要访读取SMBIOS的信息,请使用以下API:•EnumSystemFirmwareTables, described on the Microsoft Web site at http://go.microsoft.com/fwlink/?LinkId=45562. •GetSystemFirmwareTable, described on the Microso…
Virut分析 0x00.综合描述 virut样本的执行过程大体可以分为六步:第一步,解密数据代码,并调用解密后的代码:第二步,通过互斥体判断系统环境,解密病毒代码并执行:第三步,创建内存映射文件,执行内存映射文件代码:第四步,遍历进程列表除前4个进程外其他进程全注入代码,挂钩七个函数:第五步,向注入进程创建远程线程(远程线程创建成功不再二次创建),感染hosts文件,感染移动磁盘,修改注册表添加防火墙信任列表,联网受控:第六步,恢复病毒修改的原函数调用,执行原程序功能.完整功能模块图如下: 0…
由于我一般使用的虚拟内存, 有时我们需要获取到物理内存中的数据(也就是内存条中的真实数据), 按理说是很简单,打开物理内存,读取就可以了.但似乎没这么简单: #include "windows.h" //定义相应的变量类型,见ntddk.h typedef LONG    NTSTATUS; #define NT_SUCCESS(Status)((NTSTATUS)(Status) >= 0) #define STATUS_ACCESS_DENIED ((NTSTATUS)0xC…
以下代码可以取得系统特征码(网卡MAC.硬盘序列号.CPU ID.BIOS编号) BYTE szSystemInfo[4096]; // 在程序执行完毕后,此处存储取得的系统特征码    UINT uSystemInfoLen = 0; // 在程序执行完毕后,此处存储取得的系统特征码的长度 // 网卡 MAC 地址,注意: MAC 地址是可以在注册表中修改的    {        UINT uErrorCode = 0;        IP_ADAPTER_INFO iai;       …
在NT/2K/XP中,操作系统利用虚拟内存管理技术来维护地址空间映像,每个进程分配一个4GB的虚拟地址空间.运行在用户态的应用程序,不能直接访问物理内存地址:而运行在核心态的驱动程序,能将虚拟地址空间映射为物理地址空间,从而访问物理内存地址. 如果要在应用程序中以物理地址方式访问内存,自然而然的办法,是编写一个专用的驱动程序(如大家熟悉的WinIO),里面设置一定的IOCTL码,应用程序通过调用DeviceIoCtrol()来实现这样的功能. 那么,有没有一种方法,省去编写专用驱动程序这一步,很…
以下代码可以取得系统特征码(网卡MAC.硬盘序列号.CPU ID.BIOS编号) BYTE szSystemInfo[4096]; // 在程序执行完毕后,此处存储取得的系统特征码 UINT uSystemInfoLen = 0; // 在程序执行完毕后,此处存储取得的系统特征码的长度 // 网卡 MAC 地址,注意: MAC 地址是可以在注册表中修改的 { UINT uErrorCode=0; IP_ADAPTER_INFO iai; ULONG uSize = 0; DWORD dwResu…
interface function MyHideProcess: Boolean; implementation uses Windows, Classes, AclAPI, accCtrl; type NTSTATUS = LongInt; const //NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0) STATUS_INFO_LENGTH_MISMATCH = NTSTATUS($C0000004); STATUS_ACCESS_DENIED =…
某pdf转word v6.3.0.2算法分析 [文章标题]某pdf转word v6.3.0.2算法分析 [文章作者]jieliuhouzi[原版下载]www.pdfcword.cn [保护方式]序列号 [分析过程] 一. 去掉随机基址 直接OD载入程序,入口是"一call一jmp",基本上就是VS高版本编译的  为了避免随机基址的影响,先去除随机基址.找到"PE"下一行偏移为6的字节处,将"02"修改为"03",可去掉随机基址…
//Download by http://www.NewXing.com #include "StdAfx.h" #include "RegUtil.h" #include "Iphlpapi.h" #pragma comment(lib, "Iphlpapi.lib") CRegUtil::CRegUtil(void) { } CRegUtil::~CRegUtil(void) { } #define FILE_DEVICE…
之前关于kernel mode,user mode之间的切换,有个问题一直有些疑惑. 一个进程有没有办法,从user mode切换到kernel mode去执行自己的代码.我知道答案肯定是不行,但是为啥不行,一直不太清楚. 今天看了点东西,算是有了解答. 首先,cpu有ring0,ring1,ring2,ring3这4个级别,windows只用了ring0,ring3,其实kernel mode = ring0, user mode=ring3. Ring3下有些指令是不能执行的,如:lgdt,…