Page 1 of 2

Warcraft 2 Battlenet Edition (GoG)

Posted: Sat Mar 30, 2019 7:20 pm
by Marc
Hi all,

recently GoG released a [Link] of Warcraft 2, optimized for Windows 10 with improved graphics.

Features:
  • Ressource for Gold, Wood and Oil for Human Campaign and Orc Campaign
  • activation of several built-in cheat codes like invulnerability, reveal map without being ranked as cheater in the victory screen
have fun,
Marc

Re: Warcraft 2 Battlenet Edition (GoG)

Posted: Sun Mar 31, 2019 10:26 pm
by Denezhou
cool good job. :)

cant think of anything else that would be needed

Re: Warcraft 2 Battlenet Edition (GoG)

Posted: Mon Apr 01, 2019 6:34 am
by whitevil2
here a start of possible God mode for the human campain in the CX register it seems the human is tagged 0x20A0 but in some cases the human maybe tag 0xA0 only

it make you alomost invulnerable

I share this if you have any idea

Code: Select all

{ Game   : Warcraft II BNE_dx.exe
  Version: 
  Date   : 2019-03-31
  Author : whitevil

  This script does blah blah blah
}

[ENABLE]


aobscanmodule(GodMode,Warcraft II BNE_dx.exe,66 8B 4E 1E F6 C1 07 0F 85 91) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov cx,[esi+1E]
  test cx, 2000   //human is 20A0 but it some case it can be 00A0
  jne return
  test cl,07
  jmp return
code:
  mov cx,[esi+1E]
  test cl,07
  jmp return

GodMode:
  jmp newmem
  nop
  nop
return:
registersymbol(GodMode)

[DISABLE]

GodMode:
  db 66 8B 4E 1E F6 C1 07

unregistersymbol(GodMode)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Warcraft II BNE_dx.exe"+184D6

"Warcraft II BNE_dx.exe"+184C9: 90                 -  nop 
"Warcraft II BNE_dx.exe"+184CA: 90                 -  nop 
"Warcraft II BNE_dx.exe"+184CB: 90                 -  nop 
"Warcraft II BNE_dx.exe"+184CC: 90                 -  nop 
"Warcraft II BNE_dx.exe"+184CD: 90                 -  nop 
"Warcraft II BNE_dx.exe"+184CE: 90                 -  nop 
"Warcraft II BNE_dx.exe"+184CF: 90                 -  nop 
"Warcraft II BNE_dx.exe"+184D0: 56                 -  push esi
"Warcraft II BNE_dx.exe"+184D1: 8B 74 24 0C        -  mov esi,[esp+0C]
"Warcraft II BNE_dx.exe"+184D5: 57                 -  push edi
// ---------- INJECTING HERE ----------
"Warcraft II BNE_dx.exe"+184D6: 66 8B 4E 1E        -  mov cx,[esi+1E]
"Warcraft II BNE_dx.exe"+184DA: F6 C1 07           -  test cl,07
// ---------- DONE INJECTING  ----------
"Warcraft II BNE_dx.exe"+184DD: 0F 85 91 00 00 00  -  jne "Warcraft II BNE_dx.exe"+18574
"Warcraft II BNE_dx.exe"+184E3: A0 2E CC 4A 00     -  mov al,["Warcraft II BNE_dx.exe"+ACC2E]
"Warcraft II BNE_dx.exe"+184E8: 8B 7C 24 0C        -  mov edi,[esp+0C]
"Warcraft II BNE_dx.exe"+184EC: 84 C0              -  test al,al
"Warcraft II BNE_dx.exe"+184EE: 75 2D              -  jne "Warcraft II BNE_dx.exe"+1851D
"Warcraft II BNE_dx.exe"+184F0: A0 CE 49 4B 00     -  mov al,["Warcraft II BNE_dx.exe"+B49CE]
"Warcraft II BNE_dx.exe"+184F5: 84 C0              -  test al,al
"Warcraft II BNE_dx.exe"+184F7: 75 24              -  jne "Warcraft II BNE_dx.exe"+1851D
"Warcraft II BNE_dx.exe"+184F9: 80 7E 27 65        -  cmp byte ptr [esi+27],65
"Warcraft II BNE_dx.exe"+184FD: 75 1E              -  jne "Warcraft II BNE_dx.exe"+1851D
}
By the way, furthur down that part of code you will see this

Warcraft II BNE_dx.exe+18568 - 66 89 46 22 - mov [esi+22],ax

That the opcode that write the Health to units


EDIT: after some testing it seams that only the selected unit is invulnerable

Re: Warcraft 2 Battlenet Edition (GoG)

Posted: Mon Apr 01, 2019 1:58 pm
by Marc
Hm, that's a very interesting find.

My first choice was indeed to find the current units health. But, as ashaming it is, I could not find the #$%@! Hitpoints and failed at this point.
So instead I took the easy way of re-using the built-in cheats. :)

Just re-insted WC2 to check your code, many thanks for sharing.

Excellent work! By the way, it seems to works on the orc campaign, too.

Here's my attempt... needs some love, though:
1. no damage on our ships or enemy ships when playing alliance
2. normal damage on our ships and enemy ships when playing orcs
3. invulnerable grunts and kills everything in two hits when playing orcs
4. archers make (and take) no damage when playing alliance

Point 3 is great. The other ones...ehrm, not so.

Code: Select all

[ENABLE]
aobscanmodule(godmod2,Warcraft II BNE_dx.exe,2B C1 56 66 89 46 22) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(enemy)

newmem:
  cmp ebx,20
  je enemy
  cmp edx,1
  je enemy

  jmp code  // continue without substracting something it it's us

enemy:
//  sub eax,ecx
    sub eax,eax // muhaha...that's life. Or better: that HAS BEEN your life.

code:
  push esi
  mov [esi+22],ax
  jmp return

godmod2:
  jmp newmem
  nop
  nop
return:
registersymbol(godmod2)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
godmod2:
  db 2B C1 56 66 89 46 22

unregistersymbol(godmod2)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Warcraft II BNE_dx.exe"+18565

"Warcraft II BNE_dx.exe"+1854D: 50                          -  push eax
"Warcraft II BNE_dx.exe"+1854E: E8 0D 52 02 00              -  call "Warcraft II BNE_dx.exe"+3D760
"Warcraft II BNE_dx.exe"+18553: 56                          -  push esi
"Warcraft II BNE_dx.exe"+18554: E8 67 8F 03 00              -  call "Warcraft II BNE_dx.exe"+514C0
"Warcraft II BNE_dx.exe"+18559: 57                          -  push edi
"Warcraft II BNE_dx.exe"+1855A: E8 B1 EE 01 00              -  call "Warcraft II BNE_dx.exe"+37410
"Warcraft II BNE_dx.exe"+1855F: 83 C4 10                    -  add esp,10
"Warcraft II BNE_dx.exe"+18562: 5F                          -  pop edi
"Warcraft II BNE_dx.exe"+18563: 5E                          -  pop esi
"Warcraft II BNE_dx.exe"+18564: C3                          -  ret 
// ---------- INJECTING HERE ----------
"Warcraft II BNE_dx.exe"+18565: 2B C1                       -  sub eax,ecx
"Warcraft II BNE_dx.exe"+18567: 56                          -  push esi
"Warcraft II BNE_dx.exe"+18568: 66 89 46 22                 -  mov [esi+22],ax
// ---------- DONE INJECTING  ----------
"Warcraft II BNE_dx.exe"+1856C: E8 8F B0 00 00              -  call "Warcraft II BNE_dx.exe"+23600
"Warcraft II BNE_dx.exe"+18571: 83 C4 04                    -  add esp,04
"Warcraft II BNE_dx.exe"+18574: 5F                          -  pop edi
"Warcraft II BNE_dx.exe"+18575: 5E                          -  pop esi
"Warcraft II BNE_dx.exe"+18576: C3                          -  ret 
"Warcraft II BNE_dx.exe"+18577: 90                          -  nop 
"Warcraft II BNE_dx.exe"+18578: 90                          -  nop 
"Warcraft II BNE_dx.exe"+18579: 90                          -  nop 
"Warcraft II BNE_dx.exe"+1857A: 90                          -  nop 
"Warcraft II BNE_dx.exe"+1857B: 90                          -  nop 
}

Re: Warcraft 2 Battlenet Edition (GoG)

Posted: Mon Apr 01, 2019 5:46 pm
by Shadow_Wulfe
Nice, so invulnerability but without instant kill for everyone else?

Re: Warcraft 2 Battlenet Edition (GoG)

Posted: Tue Apr 02, 2019 1:49 pm
by Marc
Yes, but currently only working when playing orcs and only for ground units like the grunts...

Update: stupid game :D
So just stay at usingmy table for the effects of the built-in cheat... good enough.

Re: Warcraft 2 Battlenet Edition (GoG)

Posted: Tue Apr 09, 2019 1:38 pm
by dxdy
new update 2.02 v3
Orc campain - retake Dun Modr (Mission V)
Gold 004ABB2C
Wood 004ACB80
Oil 004ABC10

Re: Warcraft 2 Battlenet Edition (GoG)

Posted: Tue Apr 09, 2019 2:07 pm
by dxdy
Marc wrote:
Tue Apr 02, 2019 1:49 pm
Yes, but currently only working when playing orcs and only for ground units like the grunts...

Update: stupid game :D
So just stay at usingmy table for the effects of the built-in cheat... good enough.
i remember days when played without any cheat :D days without internet :D

Re: Warcraft 2 Battlenet Edition (GoG)

Posted: Tue Apr 09, 2019 3:09 pm
by Marc
dxdy wrote:
Tue Apr 09, 2019 1:38 pm
new update 2.02 v3
Orc campain - retake Dun Modr (Mission V)
Gold 004ABB2C
Wood 004ACB80
Oil 004ABC10
Nice one, added to the table.

I don't get the point of having static addresses and then using other static addresses for the very same task in another chapter of the game, but I supposed Blizzard thought "because we can". :ph34r:

Re: Warcraft 2 Battlenet Edition (GoG)

Posted: Wed Apr 10, 2019 11:13 am
by dxdy
Marc wrote:
Tue Apr 09, 2019 3:09 pm
I don't get the point of having static addresses and then using other static addresses for the very same task in another chapter of the game, but I supposed Blizzard thought "because we can". :ph34r:
tested whole game, Tides of Darkness and Beyond the Dark Portal
here another for Human campaign, Tides of Darkness, mission VIII
Gold 004ABB30
Wood 004ACB84
Oil 004ABC14

Re: Warcraft 2 Battlenet Edition (GoG)

Posted: Wed Apr 10, 2019 2:22 pm
by Marc
dxdy wrote:
Wed Apr 10, 2019 11:13 am
tested whole game, Tides of Darkness and Beyond the Dark Portal
Cool! Had no time to actually play the game, just to cheat it... :lol:

Thanks for the info, added to the table.

Re: Warcraft 2 Battlenet Edition (GoG)

Posted: Thu May 09, 2019 5:49 am
by Maverick4583
Marc wrote:
Tue Apr 09, 2019 3:09 pm
dxdy wrote:
Tue Apr 09, 2019 1:38 pm
new update 2.02 v3
Orc campain - retake Dun Modr (Mission V)
Gold 004ABB2C
Wood 004ACB80
Oil 004ABC10
Nice one, added to the table.

I don't get the point of having static addresses and then using other static addresses for the very same task in another chapter of the game, but I supposed Blizzard thought "because we can". :ph34r:
I think i figured something out. The addresses are Changed because of the player color. It seems to me each color has his own address for rescources.

This for example are the Addresses for the Orange Player:

004ABB28 Gold
004ACB7C Wood
004ABC0C Oil

Here is a modified Table for ALL 8 Player Colors. This means you can control even the Ressources of your Enemy at any given time.
Warcraft 2 HD (GoG) Advanced.CT
Advanced Table for ALL Player and NPC Ressources
(10.02 KiB) Downloaded 147 times

Re: Warcraft 2 Battlenet Edition (GoG)

Posted: Sun May 19, 2019 7:37 pm
by Shadow_Wulfe
Any progress on differentiating different types for invulnerability?

Re: Warcraft 2 Battlenet Edition (GoG)

Posted: Mon May 20, 2019 2:17 pm
by Marc
Not from my side. Did not even try it anymore, because the built-in version with one-hit-kill is sufficient for me. Not perfect but good enough...

Re: Warcraft 2 Battlenet Edition (GoG)

Posted: Wed May 22, 2019 8:09 am
by Maverick4583
Shadow_Wulfe wrote:
Sun May 19, 2019 7:37 pm
Any progress on differentiating different types for invulnerability?
I made some progress with this. At this time i have created a Godmode for my Troops BUT the Godmode takes effect for EVERY unit. enemy and friendly units until you rightclick the enemy unit to attack. Only then the enemy unit looses the invulnerability. You don't have to hit it. Just right click the unit to attack. It will die afterwards. And your units won't. Even Partner AI's dont die.

Positive effect is that now only units die that YOU want to die. Because Auto Attack won't harm them.
But on the downside you have to click every unit and every building at least once to clear a map.

If you are interessted i'll upload the modified table with this post. Maybe somebody will be smart enough to make a better godmode from this.
Warcraft 2 HD (GoG) Advanced.CT
Now contains a "sort of Godmode"
(170.9 KiB) Downloaded 197 times