PyroKid
Member!
Please don't post any more questions asking if MapHack is detectable because it is all right here.
There's been some contraversy over MapHack being detectable or not. Or more specifically, if viewing other's items is detectable. Here's the answer: NO!
But that's not all I'm gonna say. Here's why it isnt detectable:
When your client enters the game, the server sends a barage of data to the client telling it all the information such as who's in the game and which mapfile to load.
One of the packets tells the client what a player is wearing. Without this packet all players would look naked (with their original clothes, not completely naked you pervert ). Here is an example of that packet:
Your diablo client receives a variant of that packet and parses it once for every player in the game. Your diablo client saves that in a very long array of variables for easy access. When you press Install on maphack, a long procedure takes place. One of the things it does is finds and identifies the address of that array and redirects it to go through maphack first. Now maphack knows what everyone is wearing.
Another thing is that when someone takes off or changes one of there clothes, it lets everyone know so the clients can update the player image with the new piece of clothing. Along with the player image changing, the item array changes as well. Now maphack knows again exactly what the person is wearing.
The reason that maphack can't see what's in the actual inventory (charms, tomes, scrolls, etc) is because your client doesn't need that information to update the player image and therefore the server doesnt send it. Most people don't know this, but when you press "0" on the number line at the top of your keyboard, your client does nothing.
When you press "0" on your keyboard, the keydown function gets captured by maphack and when the value is checked, maphack finds out that the number "0" was pressed. Maphack tells the client to execute the open inventory function, and then tells the client (using dll calls, not packets), what to fill in for the body parts. Everything that you can see when you look at the player on the screen is shown in the inventory now.
There! That's how maphack's view other's items feature works.
However, some parts of maphack are detectable. Here they are:
There's been some contraversy over MapHack being detectable or not. Or more specifically, if viewing other's items is detectable. Here's the answer: NO!
But that's not all I'm gonna say. Here's why it isnt detectable:
When your client enters the game, the server sends a barage of data to the client telling it all the information such as who's in the game and which mapfile to load.
One of the packets tells the client what a player is wearing. Without this packet all players would look naked (with their original clothes, not completely naked you pervert ). Here is an example of that packet:
Ok so now you're saying "That's all just crap, but what does it mean?" Well it's telling the client exactly what the player is wearing. Think of it as 10xSimplified 9d packets crammed into one piece of information. Each body piece must be accounted for along with it's stats.F1 D9 02 A8 04 36 05 23 BC D2 B6 32 D0 81 32 79 79 08 F2 13 C0 7A 46 99 01 A2 A0 D8 56 1C 44 10 18 1C 9D 93 C1 60 CC 68 32 05 30 14 0A 81 38 A6 1A CF 81 54 0A 0D 09 E7 79 A5 6C 65 A4 24 04 82 B2 25 C8 C9 43 59 14 3C 04 93 20 E8 79 6C 0A A0 68 D0 53 3B CD 24 04 65 A3 0F D1 0F C7 D7 02 A8 0E 8D 0A 07 79 A5 6C 65 9A 08 81 20 3C 3E B8 84 01 C5 67 3B 07 40 F4 BA 5E 6D C0 AA 00 E0 D0 54 3B CD 2B 63 2C 8C 22 04 80 F0 FA E2 10 07 14 41 B8 59 27 A1 12 C1 19 5C 13 86 93 30 2A 80 38 34 15 4E F3 4A D8 CB 16 84 40 90 1E 1F 5C 42 00 E2 B2 50 EC 1D 03 D2 E9 79 71 59 B7 02 A8 03 83 41 58 EF 34 AD 8C B3 21 10 24 1B 1F 5C 42 2E 8A 61 18 2C 9F 44 25 82 32 B8 27 0D 26 60 55 00 70 68 2B 9D E6 95 B1 96 33 88 81 20 D8 FA E2 11 74 57 0E 03 C4 47 64 E2 D4 53 6D C0 AA 00 E0 D0 58 3B CD 2B 63 2C 58 11 02 41 B1 F5 C4 22 E8 AE 6A 1D A2 3B 27 16 97 14 DB 70 2A 80 38 34 16 4E F3 4A D8 CB 10 44 40 90 6C 7C 79 39 01 A2 B9 40 3C 44 76 4E 2D 0C 62 23 6E 05 50 07 06 85 13 BC D2 B6 32 CA 62 20 48 0F 0F AE 21 00 71 59 60 76 0E 81 E9 74 BC 00 42 A0 69 44 05 50 1D 1A 14 8E F3 4A D9 6A 35 88 81 20 D8 F8 F2 4C 60 58 08 E1 F8 3A 07 60 3D B6 DC 0A A0 3A 34 16 8E F3 4A D8 CB 48 22 04 83 63 E3 CA 84 B0 84 1F A2 4A 48 1D 5B 70 2A 81 A3 40 02 77 9A 48 08 CB 01 41 FA 21 6C FA E0 55 01 C9 A1 4C EF 34 AD 8C B2 50 88 12 03 C3 E3 CA 80 0E 36 C6 31 48 D1 B7 02 A8 0E 8D 0F 0E F3 4A D8 CB 54 22 04 83 63 E3 CA 82 E8 25 00 65 B0 70 3C 80 C2 70 35 1D C0
Your diablo client receives a variant of that packet and parses it once for every player in the game. Your diablo client saves that in a very long array of variables for easy access. When you press Install on maphack, a long procedure takes place. One of the things it does is finds and identifies the address of that array and redirects it to go through maphack first. Now maphack knows what everyone is wearing.
Another thing is that when someone takes off or changes one of there clothes, it lets everyone know so the clients can update the player image with the new piece of clothing. Along with the player image changing, the item array changes as well. Now maphack knows again exactly what the person is wearing.
The reason that maphack can't see what's in the actual inventory (charms, tomes, scrolls, etc) is because your client doesn't need that information to update the player image and therefore the server doesnt send it. Most people don't know this, but when you press "0" on the number line at the top of your keyboard, your client does nothing.
When you press "0" on your keyboard, the keydown function gets captured by maphack and when the value is checked, maphack finds out that the number "0" was pressed. Maphack tells the client to execute the open inventory function, and then tells the client (using dll calls, not packets), what to fill in for the body parts. Everything that you can see when you look at the player on the screen is shown in the inventory now.
There! That's how maphack's view other's items feature works.
However, some parts of maphack are detectable. Here they are:
- Socket Protection - This is very detectable and why it is is very obvious. You simply can't switch a socketable item with an item that has open sockets. The client tells the server to socket the items, but maphack stops that packet and sends the one instead to switch the items. A simple check of the item types by the server will prove that socket protection is enabled. Socket protection is disabled by default and you can disable it in the settings ini file.
- Virtual Map Scrolling - Anything that allows you to shoot farther then you're supposed to is a hack and the server knows that. Just don't enable this and you're fine.