D2HackIt! v0.56 README!

--------------------------------------------------------------------------------

What is D2HackIt?
-----------------

  D2HackIt! consists of a server dll and a loader which tricks the game into 
  loading the dll as if it was its own. Once the server dll is in memory, it 
  intercepts some locations of the games code. It also exposes some functions 
  from the game as 'clean' c functions that can be called like any other c 
  functions. Once this is done, the server dll is an actual part of the game 
  code, and gets a chance to snoop and/or change information passed in the game 
  and perform actions as if it was the game itself. 

  The server dll is also in charge of loading/unloading plug-ins that provide 
  the actual functionality of the hack. Note: Without hack plugins, D2HackIt! 
  is useless. By the time 1.0 is released, there will be a few modules 
  available, written by me and others. A very easy to modify 'skeleton plugin' 
  will also be available as c source to get you started. 

  List of features (implemented and/or planned) 

  * Version independent patching by the use of 'fingerprints' and memory 
    search-and-report. 
  * In-game input and feedback, using standard functions in the game. 
  * Loading of plug-ins that extends the functionality of the game in various 
    ways. 
  * Fully extendible command-line interface for server and clients. 
  * The use of a bind client to bind keystrokes to actions/commandlines to 
    perform many tasks with one keystroke. 
  * Packet sending/listening in each direction with the option to rewrite 
    packages on the fly. 
  * Central event dispatcher for common client events. (OnGamePacketSent, 
    OnGamePacketReceived,OnJoinGame etc.etc.) 
  * Exposing common functions from the game. (GamePrintString, 
    GameSendPacketToServer, GameInterceptCode etc.etc.) 
  * Exposing common structures from the game, such as playerinfo, gameinfo etc. 
  * Intercept dispatcher to let multiple clients intercept the same 
    instruction of code in memory. 
  * Hookable WinProc to allow clients to receive/modify WM_ messages sent to 
    the game. 
  * Ini-file handling exposed to clients to save/restore settings. 
  * Fingerprint functions exposed to clients. 
  * ...and much more. 

  The goal is to provide a stable and simple environment to write hack plugins 
  that runs in the context of the game and provides extra functionality. 
  Essentially, the plugins are an extension of the game itself. These plugins 
  use a simple API and can be written in any language that can produce 
  standard window dlls. The list of possible plugins is endless; packet 
  sniffers/senders, item grabbers, memory search/replace, in-game 
  irc-clients, in-game ICQ-notifier, in-game mail-notifier, different maphacks, 
  trainers (for open/single), auto go-to-town when a PK is close, spam-filter, 
  color-hack, CD-Key changer etc.etc. 

Changes since 0.52
------------------

 0.53 2001-12-09 Fixed a memory leak with |
 0.54 2001-12-12 D2HackIt is now -multiclient compatible with D2Loader (Thanks to onlyer)
 0.55 2001-12-17 Fixed a problem with fingerprints & multiclient
 0.56 2001-12-24 Added some code sent by sonata + a new loader for multiclient

How do I start/stop it?
-----------------------

  To start:
  1. Start D2/LoD and join a game
  2. Doubleclick loader.exe
  3. Alt+Tab back to game

  To stop:
  1. Doubleclick loader.exe
  2. Alt+Tab back to game

  If you use D2Loader, make sure you read D2Loader.txt for more instructions!

What are the built in commands?
-------------------------------

  .load <module>                   - Loads <module>
  .unload <module>                 - Removes <module>
  .list                            - Lists all currently loaded modules
  .send <packet>                   - Sends a packet to the game
  .receive <packet>                - Fakes a server packet to the game
  .say <text>                      - Say something in the game
  .overhead <text>                 - Put text over your head in the game
  .set <verbose on|off>            - Shows/hides extra debug-info
  .version                         - Shows your D2HackIt version.
  .credits                         - Shows credits
  .repeat <count> <command>        - Repeats <command>, <count> # of times

Multiple commands
-----------------
  
  You can execute multiple commands on one comman line by separating them with
  a pipe "|". Remember to omit the dot "." on all commands except the first!

  examples
    ".say Clicking OK|send 4f040000000000" - Says "Clicking OK" and clicks ok
	                                         in trade.

Colors
------

  You can use colors in games by using $$ and a color code. This works for
  any command, anything you say and any text you put over your head with "!"

  examples:
    "$$1This is red"               - You say "This is red" in red
	"bind 70 0 overhead $$2Green"  - Puts "Green" over your head when hitting F1
   
D2HackIt.ini
------------
  
  In d2hackit.ini you can define various aspects of the behaviour of the program
  that you can not set from inside the game:

  Autoload=                       - List modules that will autoload when 
                                    starting D2HackIt
  InfoPrompt=                     - Custom info prompt
  ErrorPrompt=                    - Custom error prompt
  VerbosePrompt=                  - Custom verbose prompt

Official websites
-----------------
  http://thohell.d2network.com/

Official forum
--------------
  http://forums.d2network.com/phpBB/viewforum.php?forum=35

/thohell
--------------------------------------------------------------------------------

