 |  [1.23]Opensource Hack with Many offsets!This is a discussion on [1.23]Opensource Hack with Many offsets! within the Warcraft 3 Hacks forum part of the Warcraft 3 forum category; I'm glad to bring you all the offsets you missed for 1.23: Ping, Items, Hero Icons, Skills...
Code:
#####################################
### ...  Welcome on D3scene.com! Make sure to register - it's free and very quick! You have to register before you can post and participate in our discussions with 70000 other registered members. Downloads, user profiles and some forums can only be seen by registered members. After you create your free account you will be able to customize many options, you will have the full access to new hacks, latest cheats and last but not least will see no advertisements at all. We would love to see you around in our community! 
03-20-2009, 05:41 PM
| | Addict | | Join Date: Feb 2008
Posts: 60
Thanks: 0
Thanked 2 Times in 2 Posts
Reputation: 141
Rep Power: 2 | | | [1.23]Opensource Hack with Many offsets! I'm glad to bring you all the offsets you missed for 1.23: Ping, Items, Hero Icons, Skills... Code: #####################################
### SimpleWc3Hack 2.1 by sd333221 ###
#####################################
Type:
Maphack
Date:
20.03.2009
Detection Status:
DON'T USE THIS ON LADDER OR DOTACLIENT.
YOU WILL GET A BAN! ! !
about:
Simple offset hack to share the offsets
with you.
HowTo:
Just run it, it will patch your wc3
Features:
Reveal the minimap + map completely
Reveal units
Reveal pings
Reveal invisible units
Clickable units
Reveal illusions
Show Items
DotA AH Bypass
View Skills
View Cooldowns
Colored invisible units (red)
View Enemy Icons
Modify Tradeamount / Enable Trade
Camera Distance <Credits go to TyranO>
Warning:
I don't take any guarantee that this doesn't
get you banned, you use it on your own risk!
This will get you banned in a few days as it
is a simple offset based hack.
Note:
If you don't trust the file, compile it yourself
(source included)
Changelog:
V 1.0
+First release
V 1.1
+Show items
+AH Bypass
V 1.2
+View Skills
+View Cooldowns
+Colored invisible units
(as performed first by ShadowFrench)
V 1.3
+View Enemy Icons
+Modify Tradeamount / Enable Trade
V 2.0
+Added support for Warcraft v1.23
V 2.1
+Added Camera Distance Manipulation
(ported TyranO's code to 1.23)
####################################
### EOF ###
####################################
Code: //SimpleWc3Hack for Warcraft 3 Patch 1.23...
#include <windows.h>
#include <Tlhelp32.h>
#include <iostream>
using namespace std;
DWORD GetPIDForProcess (char* process);
void EnableDebugPriv();
DWORD GetDLLBase(char* DllName, DWORD tPid);
#define PATCH(i,w,l) WriteProcessMemory(hProc,reinterpret_cast<LPVOID>(gameBase+i),w,l,&dSize)
#define NPATCH(i,w,l) WriteProcessMemory(hProc,reinterpret_cast<LPVOID>(i),w,l,&dSize)
int main()
{
cout << "SimpleWc3Hack v2.1 by sd333221 loaded (for WC3 v1.23)!" << endl << endl;
cout << "Searching Wc3..." << endl;
if(GetPIDForProcess("WAR3.EXE") == 0)
{
cout << "Warcraft 3 was not found..." << endl;
system("Pause");
exit(0);
}
else
{
cout << "Getting debug privileges..." << endl;
EnableDebugPriv();
cout << "Opening Warcraft 3 Process..." << endl;
HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, false, GetPIDForProcess("WAR3.EXE"));
if(hProc)
{
cout << "Process opened... Patching" << endl;
DWORD gameBase = GetDLLBase("Game.dll",GetPIDForProcess("WAR3.EXE"));
DWORD dSize = 0;
PATCH(0x3A1E9B,"\x90\x90",2); //Patch 6F3A1E9B to nop nop :-)
if(dSize == 0)
{
cout << "Failed to patch showunitsingame" << endl;
}
PATCH(0x361DFC,"\x00",1);
if(dSize == 0)
{
cout << "Failed to patch showunitsmap" << endl;
}
PATCH(0x285B8C,"\x90\x90",2);
if(dSize == 0)
{
cout << "Failed to patch clickableunits" << endl;
}
PATCH(0x285BA2,"\xEB\x29",2);
if(dSize == 0)
{
cout << "Failed to patch clickableunits (2nd patch)" << endl;
}
PATCH(0x28345C,"\x40\xc3",2);
if(dSize == 0)
{
cout << "Failed to patch revealillu" << endl;
}
PATCH(0x73DEC9,"\xB2\x00\x90\x90\x90\x90",6);
if(dSize == 0)
{
cout << "Failed to patch removefogingame" << endl;
}
PATCH(0x431556,"\x3B\xC0\x0F\x85\xC0\x00\x00\x00\x8D\x8B\xF0\x00\x00\x00\xE8\x07\x3D\x03\x00\x3B\xC0\x0F\x85\xAD\x00\x00\x00",27);
if(dSize == 0)
{
cout << "Failed to patch pingsignal" << endl;
}
PATCH(0x362211,"\x3B\xC0\x0F\x85\x30\x04\x00\x00",8);
if(dSize == 0)
{
cout << "Failed to patch showinvisiblemap" << endl;
}
PATCH(0x356E7E,"\x90\x90\x90",3);
if(dSize == 0)
{
cout << "Failed to patch showinvisiblemap" << endl;
}
PATCH(0x3C5C22,"\xEB",1);
PATCH(0x3C135C,"\xB8\xFF\x00\x00\x00\xEB",6);
if(dSize == 0)
{
cout << "Failed to bypass DotA -ah command" << endl;
}
PATCH(0x3F92CA,"\x90\x90",2);
PATCH(0x3A1DDB,"\xEB",1);
if(dSize == 0)
{
cout << "Failed to enable viewable items" << endl;
}
NPATCH(0x4559EC,"\x60\x0B\xC0\x75\x2F\x8A\x8E\xD0\x02\x00\x00\x80\xF9\x01\x74\x51\xC6\x86\xD0\x02\x00\x00\x01\xC6\x86\xD1\x02\x00\x00\x01\xC6\x86\xD2\x02\x00\x00\xFF\x8B\xCE\xB8\xFF\x01\x01\xFF\xFF\x15\x60\x5A\x45\x00\xEB\x2D\x8A\x8E\xD0\x02\x00\x00\x80\xF9\xFF\x74\x22\xC6\x86\xD0\x02\x00\x00\xFF\xC6\x86\xD1\x02\x00\x00\xFF\xC6\x86\xD2\x02\x00\x00\xFF\x8B\xCE\xB8\xFF\xFF\xFF\xFF\xFF\x15\x60\x5A\x45\x00\x61\xB8\x01\x00\x00\x00\x23\xD8\x89\x44\x24\xE4\xFF\x35\x65\x5A\x45\x00\xC3",116);
DWORD addr[3];
addr[0] = gameBase + 0x29E270; //References to the Game.dll
addr[1] = gameBase + 0x39A3BF; //
addr[2] = 0x4559EC; //Detour
NPATCH(0x455A60,&addr[0],sizeof(DWORD));
NPATCH(0x455A65,&addr[1],sizeof(DWORD));
NPATCH(0x455A6A,&addr[2],sizeof(DWORD));
PATCH(0x39A3B9,"\xFF\x25\x6A\x5A\x45\x00",6); //Plant detour
if(dSize == 0)
{
cout << "Failed to enable colored invisibles" << endl;
}
PATCH(0x2030DC,"\x90\x90\x90\x90\x90\x90",6);
PATCH(0x34FC68,"\x90\x90",2);
if(dSize == 0)
{
cout << "Failed to enable view skills" << endl;
}
PATCH(0x28EBCE,"\xEB",1);
PATCH(0x34FCA6,"\x90\x90\x90\x90",4);
if(dSize == 0)
{
cout << "Failed to enable view cooldowns" << endl;
}
PATCH(0x285BA2,"\xEB",1);
if(dSize == 0)
{
cout << "Failed to enable click invisible units" << endl;
}
//Tradeamount disabled
/*PATCH(0x34E762,"\xB8\x00\x00\x00\x00\x90",6);
DWORD highTradeAmount = 200;
PATCH(0x34E763,&highTradeAmount,sizeof(DWORD));
PATCH(0x34E76A,"\xB8\x00\x00\x00\x00\x90",6);
DWORD lowTradeAmount = 100;
PATCH(0x34E76B,&lowTradeAmount,sizeof(DWORD));
if(dSize == 0)
{
cout << "Failed to patch tradeamount" << endl;
}*/
cout << "Show hero icons: " << endl;
cout << "Press F1 to view all hero icons, F2 for enemy icons, F3 for ally icons, any key for nothing!" << endl;
system("Pause");
if(GetAsyncKeyState(VK_F1))
{
PATCH(0x371581, "\x5B\x26",2);
PATCH(0x371587, "\x90\x90\x90\x90\x90\x90",6);
if(dSize == 0)
{
cout << "Failed to patch view all icons" << endl;
}
}
else if(GetAsyncKeyState(VK_F2))
{
PATCH(0x371581, "\x5B\x26",2);
PATCH(0x371587, "\x0F\x85\x8F\x02\x00\x00",6);
if(dSize == 0)
{
cout << "Failed to patch view enemy icons" << endl;
}
}
else if(GetAsyncKeyState(VK_F3))
{
PATCH(0x371581, "\x5B\x26",2);
PATCH(0x371587, "\x0F\x84\x8F\x02\x00\x00",6);
if(dSize == 0)
{
cout << "Failed to patch view ally icons" << endl;
}
}
else
{
cout << "View hero icons not enabled!" << endl;
}
Sleep(1000);
cout << "Unlimited camera zoom" << endl;
cout << "Press F1 to enable camera zoom" << endl;
system("Pause");
if(GetAsyncKeyState(VK_F1))
{
float zoom = 0;
cout << "Please enter zoom: ";
cin >> zoom;
PATCH(0x285B68, "\xE9\x04\xA3\x5E\x00",5);
PATCH(0x86FE71, "\xE8\xDA\x13\xCC\xFF\x6A\x01\x6A\x00\x68\xCC\xCC\xCC\xCC\x6A\x00\x8B\x0D\xD8\xA7\xAB\x6F\x8B\x89\x54\x02\x00\x00\xE8\x8E\x65\xA9\xFF\xE9\xD6\x5C\xA1\xFF",38);
PATCH(0x86FE7B,&zoom,sizeof(DWORD));
}
cout << "Done, goodbye!" << endl;
system("Pause");
exit(1);
}
else
{
cout << "Warcraft 3 could not be opened..." << endl;
system("Pause");
exit(0);
}
}
return 0;
}
//Queries the ProcessId of a certain process
DWORD GetPIDForProcess (char* process)
{
BOOL working=0;
PROCESSENTRY32 lppe= {0};
DWORD targetPid=0;
HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS ,0);
if (hSnapshot)
{
lppe.dwSize=sizeof(lppe);
working=Process32First(hSnapshot,&lppe);
while (working)
{
if(_stricmp(lppe.szExeFile,process)==0)
{
targetPid=lppe.th32ProcessID;
break;
}
working=Process32Next(hSnapshot,&lppe);
}
}
CloseHandle( hSnapshot );
return targetPid;
}
//Enables to open other processes
void EnableDebugPriv()
{
HANDLE hToken;
LUID sedebugnameValue;
TOKEN_PRIVILEGES tkp;
if ( ! OpenProcessToken( GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken ) )
return;
if ( ! LookupPrivilegeValue( NULL, SE_DEBUG_NAME, &sedebugnameValue ) ){
CloseHandle( hToken );
return;
}
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Luid = sedebugnameValue;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if ( ! AdjustTokenPrivileges( hToken, FALSE, &tkp, sizeof tkp, NULL, NULL ) )
CloseHandle( hToken );
}
//Gets the base of our dll
DWORD GetDLLBase(char* DllName, DWORD tPid)
{
HANDLE snapMod;
MODULEENTRY32 me32;
if (tPid == 0) return 0;
snapMod = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, tPid);
me32.dwSize = sizeof(MODULEENTRY32);
if (Module32First(snapMod, &me32)){
do{
if (strcmp(DllName,me32.szModule) == 0){
CloseHandle(snapMod);
return (DWORD) me32.modBaseAddr;
}
}while(Module32Next(snapMod,&me32));
}
CloseHandle(snapMod);
return 0;
}
DON'T USE THIS ON LADDER OR DOTACLIENT.
YOU WILL GET A BAN! ! !
I am happy that I could port EVERYTHING I had for 1.22 to 1.23, you won't miss anything
like enemy icons, cooldowns, skills or even the anti -ah option.
Compile it yourself or get it from the archive
You can freely use this offsets in your private or public hacks. I would prefer it if you give credits. This offsets have been tested for several hours on a test system an are desync and crash proof!
Greetings
sd333221
Edit: Guys because you want it so much I added camera zoom. Note that the method how it is done is not done by me but TyranO. I just ported the code to 1.23 and hope he is fine with that. It is in 2.1
Last edited by sd333221; 03-21-2009 at 12:23 AM.
| | D3scene |
Welcome to D3scene - probably the best location for all Gamers.
To participate in our friendly environment you have to register. After completing registration you will have full access to all threads and features. We care about members and try to make your stay as pleasant as possible. We are unique with the following feature for members - you will not see a single Advertisement!
The best: registration is completely free. It will not cost you a single penny or harm you in any way. You will lose nothing except 1 minute of your time. So why not register? We would be happy to see you around!
| 
03-20-2009, 10:32 PM
|  | Member | | Join Date: Nov 2008
Posts: 35
Thanks: 0
Thanked 0 Times in 0 Posts
Reputation: 11
Rep Power: 2 | | Great work! Now all we need is distance hack | 
03-20-2009, 10:35 PM
| | Addict | | Join Date: Jun 2008
Posts: 64
Thanks: 0
Thanked 0 Times in 0 Posts
Reputation: 2
Rep Power: 2 | | | nice work thx !
what about camera distance ? need it so much .... have any solution ? | 
03-20-2009, 10:41 PM
|  | Member | | Join Date: Nov 2008
Posts: 35
Thanks: 0
Thanked 0 Times in 0 Posts
Reputation: 11
Rep Power: 2 | | | Know your pain ishmala | 
03-20-2009, 10:49 PM
|  | Advanced Hacker | | Join Date: Nov 2008 Location: Romania
Posts: 352
Thanks: 3
Thanked 0 Times in 0 Posts
Reputation: 70
Rep Power: 2 | | | Good Job. | 
03-20-2009, 11:02 PM
| | Wannabe Member | | Join Date: Mar 2009
Posts: 13
Thanks: 0
Thanked 0 Times in 0 Posts
Reputation: 0
Rep Power: 1 | | nice done. but even if i click on enemy building i cant read his gold status  would be nice
maybe it would be better if i could chose what sort of hacks we want  coz i dont want to see the pings or remove fog 
anyways nice done
would be veeeeeeeeeeeeeeeery kind if you could do it like before | 
03-20-2009, 11:18 PM
| | Newbie | | Join Date: Jan 2009
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Reputation: 0
Rep Power: 1 | | Great work, but the reason I use Maphack the majority of the time is to use the camera zoom feature, will this be added in the near future? I really like seeing more real estate | 
03-20-2009, 11:26 PM
| | Newbie | | Join Date: Mar 2009
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
Reputation: 0
Rep Power: 1 | | great work man, but i personally would trade all these options for camera zoom - the normal wc3 camera gives me a headache lol | 
03-20-2009, 11:36 PM
|  | Hacker | | Join Date: Sep 2007
Posts: 168
Thanks: 10
Thanked 10 Times in 5 Posts
Reputation: 30
Rep Power: 3 | | Quote:
Originally Posted by r00flr00fl1 great work man, but i personally would trade all these options for camera zoom - the normal wc3 camera gives me a headache lol | Same! Hope D3 Scene Maphack will be update soon | 
03-20-2009, 11:45 PM
|  | Advanced Hacker | | Join Date: Feb 2009 Location: So Cal, USA
Posts: 264
Thanks: 30
Thanked 39 Times in 15 Posts
Reputation: 235
Rep Power: 2 | | | Props. Nice work. I've played with artmoney and ollydbg, and i was actually able to enable show units always. That was quite a process. I'm impressed with the quantity of offsets. | | D3scene |
Welcome to D3scene - probably the best location for all Gamers.
To participate in our friendly environment you have to register. After completing registration you will have full access to all threads and features. We care about members and try to make your stay as pleasant as possible. We are unique with the following feature for members - you will not see a single Advertisement!
The best: registration is completely free. It will not cost you a single penny or harm you in any way. You will lose nothing except 1 minute of your time. So why not register? We would be happy to see you around!
| | Thread Tools | | | | Display Modes | Linear Mode |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML code is Off | | | | All times are GMT +1. The time now is 09:48 PM. | |  |