Git Product home page Git Product logo

io-memory's Introduction

#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功能测试可以使用,具体代码还在实现中

io-memory's People

Contributors

bleichroder avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.