By PoplyRA v3.3 by Rhin
RA v3.3 by Rhin
Run mergemodules.msi FIRST!!
This software is provided AS IS, free of charge. The creator and/or distributor of said software is not liabel for any damages incurred via its use. By its use, you, the user, are responsible for any and all consequences. This software is intellectual property of its creator, Sean Houser (A.K.A. Rhin), and may not be used without the express consent of its owner.
AutoAim - Automatically attacks targetted players
Increases teleport speed up to 100%
Quick open portal and fast back-to-town
Removes the client delay between taking two portals
Draws monsters and missles on the automap
Draws vectors to level targets
Auto-teleport to on screen vectors
Automatically drinks mana potions when mana drops below set percent
Automatically picks up items present in the Items.ini file
Draws various info on the automap
Anti-idle to prevent game drop
Colors certain items, as well as changes item names to display sockets and ethereal flag
Shows item levels
Automatically parties with other players in a passworded game with no hostile players
Logs all messages, in and out of game
Allows right click to move an item on cursor to storage buffer on opposite side of screen
Command line allows in game control
Displays timestamp next to in-game messages
Shows life and mana orbs at all times
Blocks the window from minimizing
Allows player to open stash from a distance to switch items, as well as deposit while in town
Key Controls -
Most key controls can be set in the RA.ini file
Main Keyboard -
5 - Opens portal
6 - Quick back to town
LCtrl - Moves through target menu
LAlt - Attacks current target
F9 - Opens stash
F10 - Toggles AutoParty
F11 - Toggles AutoManaPot
F12 - Displays player stats
Number Pad -
1 - Sets kick to current attack side
2 - Toggles anti-idle
3 - Toggles item levels
4 - Toggles PickIt
7 - Teleports to NextLevel (Yellow) vector
8 - Teleports to Quest (Purple) vector
9 - Teleports to Waypoint (Green) vector
/ - Toggles block minimize
* - Toggles vector arrows
- - Toggles attack side (Left/Right)
+ - Exits game
Type .help in game to get a list of commands
For multi-tiered commands, such as the .pickit menu, type .pickit help to get a list of those commands. To set something in a multi-tiered menu, simply type:
.<Top level menu> <Sub level menu> <Value>
Ex: .pickit radius 25
The targetting menu has a lot of data on it, the first of which is the player name, followed by their absorb and added max resistance, and then their life percentage. The stats go in order of <Player Name> <+Max Light / % Light> <+Max Cold / % Cold> <+Max Fire / % Fire> <Life>
MyPlayer 25/10 15/0 15/0 97
This player is named MyPlayer, has +25 max light resistance, +15 max cold resistance, +15 max fire resistance, 10% light absorb, and 97% life.
Values for the target menu are based on the last update, which is the last time that player was in range. If you can see them on the automap, they are in range. The life will update instantly regardless of range only if you are partied with the player.
Mousepad, because no one can really make anything without crediting him anymore.
Nuttzy, I believe viewing another players inventory was originally his idea (No source for that).
Abin, D2H2 contained the cooldown times for spells, which I included (Although fruitlessly, as they are never used). The collision map generation is also based on his, although I prefer to cycle rooms in the level, rather than recursively use the nearby rooms pointer.
Zoid/Netter, I don't know who came up with the actual idea, I don't care. Netter, you cried about not being in the credits of "A lousy coder," so now you're in them. For the record, I still don't think this was your idea.
By XGhoztJoin Games on Open Battle.net Quickly.
HyperJoin End User License Agreement
By downloading, hosting, using or otherwise utilizing HyperJoin (henceforth the product)
you confirm that you have read, understood and agreed to the legal conditions
presented in the following paragraphs.
The author may not in any event be held liable for any damages whatsoever,
be they of physical or other nature, whenever resulted from correct or incorrect
usage (or lack of such) of the product (HyperJoin). This product is made available
free of charge and without any warranty on the functionality of the product.
You are not granted permission to reproduce or make available the product if you do not have written permission from the author (Neounk) with the exception of JayOfTeror.com.
You are not granted permission to reverse engineer, modify, decompile, disassemble or create derivative work from or in reference to the product, there are not exceptions to this rule, unless local laws state otherwise.
This product is in no way supported by Blizzard Entertainment or any other official entity, copyright or trademark holder related to Diablo II or Battle.Net.
By XGhoztPick It Hack
EasyPlay Pick-It Configuation GUI
As of right now I only have items that came with the defaul 'items.ini'. This will change very soon.
- Added all Uniques possible
- Fixed a bug that cause half normal items to not show up
- Added all Unique armor
- Added TABCTL32.OCX to the zip (look below for reason)
- Fixed a bug involving normal items
- Fixed a bug that dealt with the ethereal checkboxes
A little explanation on how things are done:
Pick - Pick up the item (duh)
Tele - Teleport to the item (duh)
Yes - If you want the item to be ethereal
No - If you don't want the item to be ethereal
If you don't care if it is ethereal or not just leave it blank
If you don't care if you the item has sockets or not leave this field blank
If you want the item to have a certain amount of items, just put that item in there
If you want the item to have a couple of different sockets (I.E. you want a vortex shield with either 0 or 4 sockets) then separate the numbers with a comma (0,4)
Any of the options left blank will revert to there default value when exporting
After hitting the 'Export Pick-It File', a file called 'items.ini' will be created in the folder where you put the application. Put this in your EasyPlay Folder or just keep my program in there
If you get an error that says you are missing TABCTL32.OCX, then put that file (came with the zip) into C:\WINDOWS\system32. Do this ONLY if you get the error.
To-Do List (In this order)
- Add the option of Supirior/Normal/Both in the Normal tab, or add a whole new tab altogether (should be easy, but I thought I'd try to release this before EB)
- Add more items(Hopefully it will contain all items)
- Devise a way to import existing 'items.ini'
- Fix tab order
-Adam Zechman (a.k.a. adzman)
By IsaTlow detection maphack for 1.11b patch
for lowest detectability, open up the .exe, go into options, and check "Auto reveal without iscan"
DO NOT check "Auto inject without iscan"
this will inject the entire hack module, VERY detectable like this.
By XGhoztThis small document gives a more detailed description of the commands in EasyPlay.
3.0 Final Changes:-
-Added \"EnableRecursivePathing\" and \"EnableCPUIntensivePathing\" options, and removed \"EnableExtremePathing\" option
-Re-worked pathing (minor changes)
-Added new \"block\" option (identical syntax to \"filter\" option) to block packets
-Added \"DrawSpecialVector\" and \"DisableAllVectors\" options to config.ini, so free users can disable vectors completely more easily
-Added missing vector in act1 town
-Added \"Priority\" option to pickit (items.ini for details)
-Added new \"pickit_const.ini\" file to Settings folder, aswell as new comments in items.ini to make manual editing of items.ini easier
-Added command-line options for EasyLoad (-OPT/-PDIR/-PID options)
-Fixed bug with \"DrawWaypointVector\" and \"DrawLevelTargetVector\" in config.ini
-Fixed \"IgnorePotsOnFullBelt\" option in items.ini (now also considers belt type)
-Fixed bug with FastTP function that occured if multiple TP tomes in cube/stash and inventory
-Fixed pickit to temp-disable itself if cursor item
-Fixed minor inaccuracy with \"AutoCloseNPCTalk\" option
-Fixed bug with news (now updates news from GM.net properly)
-Optimized code (better performance)
-Updated config syntax to allow better visual attractive settings
-Updated for EasyBot RC4 (not backward compatible)
-Updated documentation (config/readme). New Readme_EasyLoad.txt,Readme_Commands.txt files
What is a command and how do I access it?
EasyPlay offers various special features, that can only be accessed by the command-line. You can access the command-line by typing a chat message in channel or in-game. For EasyPlay to recognize that you are communicating with EasyPlay and not with the game itself, you need to pre-fix your chat messages with a special character. The default character is a '.' (dot). You can change the default pre-fix character by setting the "ConsolePrefix" option in config.ini
IF you type ".help" as chat message into channel or in-game, EasyPlay will recognize the command "help" (the pre-fix character is obviously ignored) and block your chat message from being processed by Diablo II. That means, if you pre-fix a chat message with the special pre-fix character, only EasyPlay will know about it. In this case, the "help" command will print all available commands in EasyPlay.
All commands will be described in three pieces (in the described order, possibly mulitple lines per piece):-
a) The command name
b) The command syntax
c) The command description
e) Example2, ..
Each command will be seperated by a new line. Numerical values will be surrounded by < > characters. Optional parameters are surrounded by [ ] characters. Exclusive OR parameters seperated by / character. Note: Examples should solve any possible incompatabilities with your brain. ;) Also, examples will use default pre-fix character (dot). Not every command is available in the free version (most aren't!).
Loads a plugin <name>. Note: Default Plugin directory is "Plugins", unless specified otherwise with the -PDIR option (see Readme_EasyLoad.txt) for details.
Unloads a plugin (see "load" for details)
Sends a game-server packet to Diablo II. Note: Value for <data> is interpreted as HEXADECIMAL!
Spoofs a Diablo II received packet (i.e. EasyPlay will make the Diablo II client "think" it received the packet). Note: Value for <data> is interpreted as HEXADECIMAL!
List all loaded plugins
Display specific info (credits, author, etc.) for module <name>
Clears the channel chat text field for you (similar to pressing "n" in-game)
chicken hp[/mp/mode] <life>[/<mode>]
Set chicken options in-game. Note: Any changes will only stay in affect until you quit Diablo II
".chicken hp 50"
".chicken mp 25"
".chicken mode 1"
Teleport to safe location (see "Safety Settings" in config.ini for details)
Prints spell numbers for current left/right selected spells. Useful to configure EasyBot, for example.
Print your player coordinates, aswell as the level number of your current player location. Useful to calculate offsets to adjust the vectors for plugins and EasyPlay.
move <X> <Y>
Move your player to a location. This is a FUN command (no real usage). Use values from "coord" command.
".move 3000 5000"
Print some infos about players in the current game
stash <SaveCols> <Delay in ms>
Stash your items (required to be in town)
".stash 0 300"
".stash 3 250"
Print iLvl of item that mouse is currently hovering
filter [r/s]/[recv/sent] [<ident>]/[on/off]
Sniff sent/recv game packets. Note: ident value is HEXADECIMAL
".filter r all" Display all received packets
".filter s off" Disable displaying all sent packets
".filter r 9c" Display received 9c packets (type this command a second time to toggle it off again)
block [r/s]/[recv/sent] [<ident>]/[on/off]
Block sent/recv game packets from being sent/processed by client. Syntax same as "filter" command.
search <game> [options]
search for games matching a pattern.
".search baal" Search for all games that have "baal" as part of their name.
".search info" Abort search process and print current results
".search abort" Abort current search process and do not print current results
".search set 10" Set required results to 10 (default is 5)
search for a player matching a pattern.
".psearch blizzsorc" Search all public games in same difficulty & realm as your player for player "blizzsorc"
".psearch info" Abort search process and print current results
".psearch abort" Abort current search process and do not print current results
".psearch set 500" Set required games to gather before processing them to 500 (default is 480)
Print some info about how to register EasyPlay
Print your CD-Key hash (last step required to register EasyPlay, IF you are a donor already). See manual for details
By XGhoztDiablo II Map Hack
You need to load diablo II into the hack first and make sure that the path is correct. Then load diablo by clicking the arrow and it loads the hack with diablo.
By XGhoztNTPK is a D2Hackit module that serves the purpose to quickly cast a town-portal, take it to town and hostile a specific person.
It also comes with an internal Auto-Aim System to make things easier, aswell as an Anti-NTPK, Chicken, Fast-TP, a clock, a very cool on-screen display, online/offline logging history and many other features!
btw: don't use chicken becouse there is many bugs with life -> bab(bo) and dru... use chicken in mh or zoid pickit :)
What is the point?
The point is that while attacking someone with (for example) Bonespirits (who is still "neutral" i.e. not hostile to you), you can then trigger the module and hostile that person (by making a TP, taking it and hostiling all at once). The Bonespirits that were in the air, will now (due to the previously used integrated Auto-Aim System) auto-attack that person and probably kill it aswel.
Of course, NTPK is a great duelling tool aswell (see function list below)!!
What skills does it support?
The module was made for Necro's and their Bonespirit cast. Blizzard has tried to prevent a TPPK module in the new patch and implemented a feature that casts (like hydras) will disappear, when going to town. This *doesn't* happen with Bonespirits. So it is *still possible* to kill someone with NTPK.
The other Day i got an ip ban and deciding to do some lan testing on tppking, the results..What can you tppk with?... I have tested all skills for every class, and listed the skills that work and their effectiveness
Charged Bolt - Very simple and easy... But lacking damage for higher level players.
Lightning - Good but has a chance of doing very little damage. Better than chain lightning, Fcr is a must
Chain Lightning - Works but not as much damage and is slower than Lightning, Fcr is a must
Firebolt - This works and does reasonable damage only problem is that it is too quick to be done in close rang.. It must be done at firebolts maximum distance.
Inferno - This is greatly underused and if you have good gear go for it, only problem is if the victim/target moves just a little
Enchant Bowasorc - Funny, Works for nm baals but doesnt have enough damage for the higher chars(If you could find any rare bow with guided arrow Charges use it.. other wise use a bow that fires exploding arrows.. ie Kuko,Demon)
Ice Blast - My Favourite, High Damage, quick casting, Slow Flight, 10 out of 10.
Ice Bolt - Similar to Ice Blast except not as much damage
Frozen Orb - Very Nice, except you have to have a quick connection.
Glacial Spike - Similar to Ice Blast except not as much damage and is slightly quicker inflight, also damage has a small area of effect so use this if ur going for 2 in 1.
Teeth - Great for High Necs to showoff with multi pks on lower lvl chars
Bone Spear - Good Alternative to Bone Spirit, Works Best against Zons
Bone Spirit - The noob/lazy way to tppk, just spam tp hostile bam dead, very easy and very effective
Poison Explosion - This kinda amazed me, 60k+ poison damage is easy obtainable, and a quick kill, noone would ever expect this, perfect for baal runs
Poison Nova - Nice but will only succeed in killing higher level chars if their resists are low.
Immolation Arrow - Works Not as good as Freezing Arrow, also Immolation has a cooldown time which basically destroy's it.
Ice Arrow - Simply Not worth trying...
Freezing Arrow - Ive Youve Got To Much ias this wont work at all, but.. overall not that much damage better off with guided arrow
Guided Arrow - Similar to Bone Spirit
Magic Arrow - Works vs nec.(to Pierce Bone Armour), but again better off with Guided arrow
Multiple Shot - Works.. Good For a showoff MultiKill. but not that much damage... unless a pally's in your party
Fire Arrow - not that much damage, better off with other skills
Cold Arrow - not that much damage, better off with other skills
Poison Javelin - Works has the damage, But one downside poison takes a long long time to kill.
Twister - Works if your Trigger is fat, Hard to Aim
Tornado - You need at least 50fcr, Good Dmg Sometimes has aiming Spasm's
Volcano - Would be nice but simply not enough damage.. will only kill >lvl 40s
Arctic Blast - This is viable, but you Need Good Gear for it to work
Molten Boulder - Low Damage like firestorm, not much point using this
Firestorm - Low Damage.. not much point using this
Holy Bolt - Great if you wanna kill a skeleton:P
Fant Bowapally - If you have a hammer pally using Conc in the game with you, Your damage Can get Very High, ias is a must and you have to stand back a distance.
Shock Web - Not that much damage so wouldnt work on higher chars.. but if a player has low Light Res it Could Kill.
Fire Blast - Works but very Low Damage
Double Throw -Similar to Fantbowapally, You have to have a fair amount of ias and stand back a fair distance, throwing barbs can actually get some pretty decent dmg.
note. I only would use autoaim with Bone Spirit and Guided Arrow, it actually prevents some other skills from hitting their targets.
How to install and PK your first character:
1) Copy Diablo.exe - d2loader and plugin folder to your diablo 2 directory
2) Rejoin the game or join a new game (you must have tome of town portal and ofc pk char)
3) As soon as players get in sight, they will be added to the target list. Type ".ntpk next" or ".ntpk previous" to toggle thru the list. You can also select your target by using hotkey 8
4) Attack that player, using bone spirit, guided arrow, or whatever, and type ".ntpk go" as soon as you wish to trigger NTPK (you will make a TP and hostile the targetted player). You can also use hotkey 9
5) When you will kill someone press hotkey 0 to print nice message
0 - pk message (use it when you will kill some1)
8 - set player to kill
9 - use tppk and kill some1 :)
I suggest configuring the basic settings with the auto-configurer!! Also note, that the auto-configurer and hotkeys display will ONLY display correctly at 800*600 (the display resolution command doesn't effect these).
Command List (this command list can be viewed in-game by typing ".ntpk")
- 'next' Targets the next player in your logged-list
- 'previous' Targets the previous player in your logged-list
- 'go' Activates NTPK (requires target)
go' Shoot <num> attacks at the target, take a TP and hostile it
num <value>' Set the number of attacks to <value>
delay <value>' Set the attack delay to <value> (in ms)
toggle' Toggle Autoaim on/off
button' Set autoaim mode to 0 (left), 1 (right) or 2 (dual)
- 'tp' Takes a tp to town
set' Click the waypoint you want to set
go' Open the waypoint window, and hostile your target when pressing destination (i.e. WPPK)
- 'hostile' Hostile everybody in your game
auto' Automatically flash-target your current-target (all other targets cleared)
toggle' Toggle flashing on/off
player' Toggle current target status on/off
all' Toggle all targetlist players status on/off
delay <value>' Set delay/packet to <value> (miliseconds)
block' Change block r0x15 mode (0 = off, 1 = partially, 2 = totally) - Partially enables you to take waypoints and teleport!
Note: When a player status is on, it will receive a green x. When toggling flash on, all players in your sight will be flashed and their x will turn red. This has been done, to prevent 'trying' to flash players that are outside of your sight (minimap). Also note, that when flashing multiple players the packet sending process will be delayed, to prevent packet flooding. The delay is the time in miliseconds to wait between each packet being sent (the more players you flash, the lower the frequency is PER player). When using auto-flash, simply toggle flash "flash toggle" on, and your current target will always be flashed!
- 'antipk' Toggle chicken on hostile on/off (ANTI-NTPK)
- 'namelock toggle' Toggle between namelock chicken modes
sethp <life>' set your chicken-life to <life> (in percent)
setmp <mana>' set your chicken-life to <mana> (in percent)
set ping <value>' set your chicken-ping to <value> (regular decimal value)
toggle' toggle between chicken modes
random' Print a random message (specificed in the config)
block <num>' Print block <num> message (specificed in the config)
- 'save' Save your settings
- 'load' Load your settings
left' Toggle left-side display on/off
right' Toggle right-side display on/off
stats' Turn the statistics (Life,Mana,Ping,FPS) on/off
resolution' Toggle resolution from 800*600 to 640*480 and back
toggle' Toggle the clock on/off
mode' Toggle the clock to 12-hour/24-hour mode
start' Start logging to pklog.txt
stop' Stop logging to pklog.txt
clear' Clear everything in pklog.txt
printmode' Toggle public/client printout mode
printbest' Print your highest lvl kill
printlast' Print last 5 kills (temp)
- 'config' start auto-configuration mode
toggle' Toggle hotkeys on/off
display' Toggle hotkeys display on/off (on-screen)
You can find the BIND-Module in the Plugin Folder. It is usefull to "hotkey" functions
Using bind in-game:
1) .load bind
2) .bind keycode (-> press key & note keycode)
3) .bind set <keycode here> <keycode here> <command>
4) .bind save (all settings saved)
5) After loading the module, just type .bind load
.bind keycode results in keycode "55", .. which I want to bind to autoaim on/off
Type: .bind set 55 55 tppk autoaim toggle
Using Bind Module (manually):
1. .bind keycode (-> press key & note keycode)
2. Open "bind.ini" and find the line that says Keycode<keycode>=<keycode>
3. Add ";<command>"
You want to add the command ".tppk go" to keycode 60:
By XGhoztTeleport Hack
Load the module, the module says on game join "drop gold" do it ...
Here are NOW 2 methods to use the hack , we start with the old method
gold are droped .. now type .private start , wait for the dropt item and you got it ! <--- this is like the old one
NOW here is the NEW + GOOD one -.-
drop gold ...
Type .private Anti , Pick the item you want show the victim up ( FROM INVENTORY ) now you can drop the item on ground (anni or other..)!
After you dropt your item type FAST .private start or use a hotkey ..
Now wait for the droped item from the victim, thats all...
OK here are explains how it workz ...
The anti hack do this :
It sniffs the packets from the server, and when it see some packets are needed to use the 5f/4b packets, the module picked back the item ...
DO ALL only in a 2 player game, you + victim ... NO more players ..
Get sure you pick the item from your inventory !!!
OK here is 1 example how i use it :
Create game Called "Offer anni"
Drop gold, type .private anti !!
Wait for the victim !!
Go to the position in act1,2,3,4 behind any walls where the hack workz ...
I drop my Anni and type fast .private start !!
Now wait for the item from your victim ... the module pick your item, tele to victim and all fine
By XGhoztt's very detectable, simply because of that fact (Warden can easily scan those locations, follow the relative call/jmp and signature BMPK's code to 100% identify the hack and ban you).
26 Dec 2006, 03:21
BMPK has exactly 7 patches:
The same goes for D2Loader which has ~4-8 patches, depending on what parameter settings you use. Same goes for D2JSP incase you're wondering. Note: This doesn't mean that Blizzard "cares" to ban you, but Warden does not need to be updated to detect patches, signature code and report the results to the battle.net servers (especially *I* can speak from experience on this topic, hehehe) ...
Anyway, an interesting side-note: As I was recently reversing (and cracking, heh) the latest BMPK I came accross some funny code (pseudo):
CreateRemoteThread(GetCurrentProcessId(), NULL, 0, (LPTHREAD_START_ROUTINE)ThreadProc, GetCurrentProcess(), 0, NULL);
I was thinking: "Hm, weird, how come this newb is calling CreateRemoteThread and not CreateThread?" (Note: This code is from BMPK.dll in Diablo II's address space, so calling CreateREMOTEThread is totally unnecesssary and stupid). Well, turns out "ThreadProc" is this function:
039E0000 55 PUSH EBP
039E0001 8BEC MOV EBP,ESP
039E0003 51 PUSH ECX
039E0004 64:A1 18000000 MOV EAX,DWORD PTR FS:
039E000A 8B40 30 MOV EAX,DWORD PTR DS:[EAX+30]
039E000D 8B40 0C MOV EAX,DWORD PTR DS:[EAX+C]
039E0010 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
039E0013 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
039E0016 8B50 0C MOV EDX,DWORD PTR DS:[EAX+C]
039E0019 8B42 18 MOV EAX,DWORD PTR DS:[EDX+18]
039E001C 85C0 TEST EAX,EAX
039E001E 74 10 JE SHORT 039E0030
039E0020 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
039E0023 3BC1 CMP EAX,ECX
039E0025 74 09 JE SHORT 039E0030
039E0027 8B12 MOV EDX,DWORD PTR DS:[EDX]
039E0029 8B42 18 MOV EAX,DWORD PTR DS:[EDX+18]
039E002C 85C0 TEST EAX,EAX
039E002E ^ 75 F3 JNZ SHORT 039E0023
039E0030 8B42 18 MOV EAX,DWORD PTR DS:[EDX+18]
039E0033 85C0 TEST EAX,EAX
039E0035 75 06 JNZ SHORT 039E003D
039E0037 32C0 XOR AL,AL
039E0039 8BE5 MOV ESP,EBP
039E003B 5D POP EBP
039E003C C3 RETN
039E003D 8B4A 04 MOV ECX,DWORD PTR DS:[EDX+4]
039E0040 8B02 MOV EAX,DWORD PTR DS:[EDX]
039E0042 56 PUSH ESI
039E0043 57 PUSH EDI
039E0044 8901 MOV DWORD PTR DS:[ECX],EAX
039E0046 8B0A MOV ECX,DWORD PTR DS:[EDX]
039E0048 8B42 04 MOV EAX,DWORD PTR DS:[EDX+4]
039E004B 8941 04 MOV DWORD PTR DS:[ECX+4],EAX
039E004E 8B4A 0C MOV ECX,DWORD PTR DS:[EDX+C]
039E0051 8B42 08 MOV EAX,DWORD PTR DS:[EDX+8]
039E0054 8901 MOV DWORD PTR DS:[ECX],EAX
039E0056 8B4A 08 MOV ECX,DWORD PTR DS:[EDX+8]
039E0059 8B42 0C MOV EAX,DWORD PTR DS:[EDX+C]
039E005C 8941 04 MOV DWORD PTR DS:[ECX+4],EAX
039E005F 8B4A 14 MOV ECX,DWORD PTR DS:[EDX+14]
039E0062 8B42 10 MOV EAX,DWORD PTR DS:[EDX+10]
039E0065 8901 MOV DWORD PTR DS:[ECX],EAX
039E0067 8B4A 10 MOV ECX,DWORD PTR DS:[EDX+10]
039E006A 8B42 14 MOV EAX,DWORD PTR DS:[EDX+14]
039E006D 8941 04 MOV DWORD PTR DS:[ECX+4],EAX
039E0070 8B4A 40 MOV ECX,DWORD PTR DS:[EDX+40]
039E0073 8B42 3C MOV EAX,DWORD PTR DS:[EDX+3C]
039E0076 8901 MOV DWORD PTR DS:[ECX],EAX
039E0078 8B4A 3C MOV ECX,DWORD PTR DS:[EDX+3C]
039E007B 8B42 40 MOV EAX,DWORD PTR DS:[EDX+40]
039E007E 8941 04 MOV DWORD PTR DS:[ECX+4],EAX
039E0081 8B7A 28 MOV EDI,DWORD PTR DS:[EDX+28]
039E0084 33C9 XOR ECX,ECX
039E0086 33C0 XOR EAX,EAX
039E0088 66:8B4A 24 MOV CX,WORD PTR DS:[EDX+24]
039E008C 8BF1 MOV ESI,ECX
039E008E C1E9 02 SHR ECX,2
039E0091 F3:AB REP STOS DWORD PTR ES:[EDI]
039E0093 8BCE MOV ECX,ESI
039E0095 83E1 03 AND ECX,3
039E0098 F3:AA REP STOS BYTE PTR ES:[EDI]
039E009A B9 12000000 MOV ECX,12
039E009F 33C0 XOR EAX,EAX
039E00A1 8BFA MOV EDI,EDX
039E00A3 F3:AB REP STOS DWORD PTR ES:[EDI]
039E00A5 5F POP EDI
039E00A6 B0 01 MOV AL,1
039E00A8 5E POP ESI
039E00A9 8BE5 MOV ESP,EBP
039E00AB 5D POP EBP
039E00AC C3 RETN
.. and now the funny part: It turns out that the function above is 1:1 copy from Darawk's "CloackDll" code, which can be found here (and published on other sites I believe): http://www.darawk.com/Code/CloakDll.cpp
Anyway, credit to Darawk is nowhere to be found in the distributed binary package of BMPK, so that's really lame. Nevertheless, I hope you enjoyed this "gem" I found, it surely amused the hell out of me. Oh, and don't use BMPK if you care about your accounts!
By XGhoztMaphack is a realm and single player hack for Diablo II and Diablo II LOD that adds many useful extra features.
Reveal automap for whole act, including quest features, many shrines and cave/stairway level names.
Show all shrines on automap sooner than normal, each type with different graphics.
Full screen light radius, full infravision (see through walls) and sunny weather.
Show monsters, selected items, unopened chests and hostile arrows/bolts on automap.
Show special monsters and hostile players different colour on automap.
Show monster enchantments, auras and immunities on automap.
Change colour or hide selected items on ground.
Hide selected monster and missiles corpses.
Show rune numbers and number of sockets on items.
Virtual map scrolling, allowing casting or shooting at huge ranges.
Disable unwanted monster death animinations (eg shenk).
Change monster life bar colour.
Protect socketed items from accidental socketing.
Show if cow king killed in quest log.
View other players, iron golems, valkyries and shadow warriors/masters equipment.
Automatic exit game on low life and/or hostility.
Many settings configurable.
By XGhoztEdit items.
; Manus-Magnus's items reader utility. Version 1.0... O_o
; Move mouse on any item in stash/inventory and press <SPACE> key (default
; HotKey but you can change) and item stats are dumped in mm.ItemReader.txt
; To use this tool you must launch Diablo II using the mm.BOT.PLAY shortcut.
; Requirements is the same as mm.BOT, read more about this in bot manual.htm.
; Be in ACT 1 to write your items stats, because colors changes between Acts.
; You can stop the utlity using the <END> hotKey...
; Choose your HOTKEY to launch the item stats dump (ENTER, F12, X, 1; etc...)
HotKey = SPACE
; Name of your diablo II window
WName = Diablo II
; Set up it to 2 if you got problems
IdingMouseSpeed = 1
; Increase it if you got problems
ItemFocusDelay = 100
; Change it to Medium or Normal if your system experiencing problems.
BotProcessPriority = High