*******************************************************************************

*******************************************************************************
IOmgr - Hardware access utility for Windows NT/2000/XP

Copyright 2000-2007 by Werner.Zimmermann|AT|fht-esslingen.de

*******************************************************************************
*******************************************************************************

This Windows NT/2000/XP command line program allows you to read or write hardware
input/output ports, physical memory and change Windows state permanently (until
you reboot your PC) in such a way, that hardware input/output ports can be
accessed by user programs.

You can read PCI bus information and you may permanently reconfigure PCI
devices.


//-----------------------------------------------------------------------------
1. Installation

IOmgr requires CrackNT.sys, a Windows NT/2000/XP device driver, to be installed
before. Installation requires administrator privileges. Once, when CrackNT.sys
has been installed, IOmgr can be used by normal users without requiring
administrator privileges.

To install CrackNT.sys, from the Windows command line type 'CrackIns'. To
check, whether CrackNT.sys is running, type 'CrackStat'. This should show
CrackNT's status=running and start=Automatic, which means, when you reboot
your PC, CrackNT.sys will be automatically started again.

To remove CrackNT.sys, type 'CrackRem'.


//-----------------------------------------------------------------------------
2. Legal notice : A warning before you use CrackNT

Direct hardware access is no problem, as long as you only read data. HOWEVER, BY
WRITING DATA, YOU MAY CRASH OR EVEN PERMANENTLY DAMAGE YOUR HARDWARE AND/OR
DESTROY DATA ON YOUR DISKS. So unless you know exactly what you are doing,
please do not use this tool. This is not a toy to play around for unexperienced
users!!!

This software is neither freeware nor shareware. It is copyrighted by
Werner.Zimmermann|AT|fht-esslingen.de.

It is distributed for non-commercial use without any warranty or support. For
commercial use contact the author. Use at your own risk!

You may use this software in your own products without further notice, if you do
not charge money for your product. However you must distribute all files in this
package together with your software may it be binary or source and you must leave
this copyright notice unmodified and refer to this notice in your own copyright
message.


//-----------------------------------------------------------------------------
3. Usage information

*******************************************************************************
Hardware Input / Output (I/O) Functions
*******************************************************************************

*** IOmgr -riob port read byte
IOmgr -riow port read word
IOmgr -riodw port read dword

Read a byte, word or dword from an input port. The value read will be
displayed in hexadecimal on the screen.
port is a hexadecimal value (without 'h' or '0x').

*** IOmgr -wiob port value write byte
IOmgr -wiow port value write word
IOmgr -wiodw port value write dword

Write a hexadecimal value to an output port.
port and value are hexadecimal values (without 'h' or '0x').

*******************************************************************************
Physical Memory Read / Write Functions
*******************************************************************************

*** IOmgr -rmemb memadr read byte
IOmgr -rmemw memadr read word
IOmgr -rmemdw memadr read dword

Read a byte, word or dword from a physical memory location. The value read
will be displayed in hexadecimal on the screen.
memadr is the physical memory address in hexadecimal.

*** IOmgr -wmemb memadr value write byte
IOmgr -wmemw memadr value write word
IOmgr -wmemdw memadr value write dword

Write a hexadecimal value to a physical memory location.
memadr and value are hexadecimal values (without 'h' or '0x').

*******************************************************************************
PCI Bus Configuration
*******************************************************************************

*** IOmgr -pci

Display info about PCI devices. The information contained in the con-
guration area of all PCI devices are displayed. For more information
about PCI configuration data see http://www.pcisig.com

*** IOmgr -wpci bus dev fcn reg val(h)

Changes a value in the configuration area of a PCI device. THIS FUNCTION
MAY SEVERELY DAMAGE YOUR HARDWARE AND CAN EVEN MAKE YOUR COMPUTER UNBOOTABLE.
PLEASE DO ONLY USE IT, IF YOU EXACTLY KNOW WHAT YOU ARE DOING!!!

*******************************************************************************
Miscellaneous functions
*******************************************************************************

*** IOmgr -version

Display version information about IOmgr, Crack.DLL and CrackNT.sys

*** IOmgr -help or IOmgr -?

Display usage information.

*** IOmgr -unlock startPort endPort

Unlock I/O port range. After using this command, all 16bit and 32bit
user programs have direct access to all I/O ports in this range, i.e.
they may use assembler commands IN and OUT or the respective C functions.
startPort and endPort are hexadecimal values (without 'h' or '0x').

WARNING: This function is not compatible with multicore CPUs and may
crash your machine! Use at your own RISK!

*** IOmgr -lock startPort endPort

Undo the effect of IOmgr -unlock ..., i.e. switch back to Windows
standard behaviour, so that user programs do not have direct access
to I/O ports.


Automatically created from file iomgr.cpp on 22 Sep. 2007