Skip to content

A ReadWrite-Everything style test software based on WinIO which can read and write Computer memory and IO, need to enter testing mode when use.

License

Notifications You must be signed in to change notification settings

Bleichroder/IO-Memory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

#IO-Memory A ReadWrite-Everything style test software based on WinIO which can read and write Computer memory and IO, need to enter testing mode under windows 7 or xp when use.



##WinIo WinIO程序库允许在32位的Windows应用程序中直接对I/O端口和物理内存进行存取操作。通过使用一种内核模式的设备驱动器和其它几种底层编程技巧,它绕过了Windows系统的保护机制

###使用方法(http://www.internals.com/)

  • 进入操作系统的测试模式(打开cmd输入"bcdedit /set testsigning on"),之后将WinIo/Binaries下的WinIo32.dll和WinIo64.sys拷贝到应用程序所在同级目录

  • 程序中需要嵌入WinIo/Source/Dll/x86/Debug中的WinIo.lib才可以使用WinIo函数库提供的函数

  • WinIo提供8个功能函数调用:

    • 初始化WinIo函数库:
      bool _stdcall InitializeWinIo();
    • 在内存中清除WinIo库:
      void _stdcall ShutdownWinIo();
    • 从一个输入或输出IO读取一个字节/字/双字数据:
      bool _stdcall GetPortVal(WORD wPortAddr, PDWORD pdwPortVal, BYTE bSize);
    • 将一个字节/字/双字的数据写入输入或输出IO:
      bool _stdcall SetPortVal(WORD wPortAddr, DWORD dwPortVal, BYTE bSize);
    • 将物理内存的一部分映射到一个32位应用程序的线性地址空间:
      PBYTE _stdcall MapPhysToLin(PBYTE pbPhysAddr, DWORD dwPhysSize, HANDLE *pPhysicalMemoryHandle)
    • 解除原先使用MapPhysToLin函数映射的一段线性物理内存区域,该区域被映射到应用程序所属的线性地址空间:
      bool _stdcall UnmapPhysicalMemory(HANDLE PhysicalMemoryHandle, PBYTE pbLinAddr)
    • 从指定的物理地址读取一个双字数据:
      bool _stdcall GetPhysLong(PBYTE pbPhysAddr, PDWORD pdwPhysVal);
    • 将一个双字型数据写入指定的物理地址:
      bool _stdcall SetPhysLong(PBYTE pbPhysAddr, DWORD dwPhysVal);

##io_memory

仿照RW的界面风格,可以读取4GB以内的内存和64KB的IO地址空间,使用时请注意关闭杀毒软件以防误删除.sys驱动文件,cpuid功能测试可以使用,具体代码还在实现中

About

A ReadWrite-Everything style test software based on WinIO which can read and write Computer memory and IO, need to enter testing mode when use.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published