Page 1 of 2

Diablo 1 (HD, GoG Version)

Posted: Wed Mar 13, 2019 5:09 pm
by Marc
Hi all,

recently Gog released the [Link], which has native Windows 10 Support and upscaled graphics.

Features:
  • god-mode
  • unlimited mana
  • no durability loss on items
  • always possible to buy items, even with no gold
  • Boost Experience (just select max XP in the listbox which brings you to the XP for the next level up)
  • boost all character stats directly or via attribute points to spent
  • freezable hitpoints (they are encoded so the value looks weird but it works)
  • fast walk
  • more and better item drops
  • reveal map
  • only one item place required for an item (ok, looks ugly)
  • get all spells
  • push all spell levels by 25 or even to 65535
  • freeze Monsters
  • unlimited staff charges
  • unlimited uses of items in belt
    {*]increase amount and quality of dropped magic items
  • see through walls
  • walk through walls
  • auto-self rezzing
  • no drops when dying
  • fast hit recovery
Credits to whitevil2, execute and Mr.Angelus for delivering informations and scripts.
And of course to Artemis Entreri, who created a Diablo cheats collection in 2001, which the cheats are based on.

have fun
Marc

Re: Diablo 1 (HD, GoG Version)

Posted: Sun Mar 17, 2019 7:15 am
by whitevil2
Hi if you want God mode and infinite mana here some script you can add

God Mode

Code: Select all

[ENABLE]

aobscanmodule(GodMode,Diablo.exe,29 BE E0 65 68 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  push eax
  mov eax, [esi+Diablo.exe+2865E4]
  mov [esi+Diablo.exe+2865E0],eax
  mov [esi+Diablo.exe+2865D8],eax
  pop eax
  jmp return
code:
  sub [esi+Diablo.exe+2865E0],edi
  sub [esi+Diablo.exe+2865D8],edi
  jmp return

GodMode:
  jmp newmem
  nop
  nop
  nop
  nop
  nop
  nop
  nop

return:
registersymbol(GodMode)

[DISABLE]

GodMode:
  db 29 BE E0 65 68 00 29 BE D8 65 68 00

unregistersymbol(GodMode)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Diablo.exe"+34B01

"Diablo.exe"+34AE3: 8B 86 9C B8 68 00     -  mov eax,[esi+Diablo.exe+28B89C]
"Diablo.exe"+34AE9: C1 E0 06              -  shl eax,06
"Diablo.exe"+34AEC: 03 F8                 -  add edi,eax
"Diablo.exe"+34AEE: 83 FF 40              -  cmp edi,40
"Diablo.exe"+34AF1: 7D 03                 -  jnl Diablo.exe+34AF6
"Diablo.exe"+34AF3: 6A 40                 -  push 40
"Diablo.exe"+34AF5: 5F                    -  pop edi
"Diablo.exe"+34AF6: 8B 45 FC              -  mov eax,[ebp-04]
"Diablo.exe"+34AF9: 3B 05 44 64 68 00     -  cmp eax,[Diablo.exe+286444]
"Diablo.exe"+34AFF: 75 0C                 -  jne Diablo.exe+34B0D
// ---------- INJECTING HERE ----------
"Diablo.exe"+34B01: 29 BE E0 65 68 00     -  sub [esi+Diablo.exe+2865E0],edi
// ---------- DONE INJECTING  ----------
"Diablo.exe"+34B07: 29 BE D8 65 68 00     -  sub [esi+Diablo.exe+2865D8],edi
"Diablo.exe"+34B0D: F6 86 9B B8 68 00 04  -  test byte ptr [esi+Diablo.exe+28B89B],04
"Diablo.exe"+34B14: 74 31                 -  je Diablo.exe+34B47
"Diablo.exe"+34B16: 6A 03                 -  push 03
"Diablo.exe"+34B18: B1 63                 -  mov cl,63
"Diablo.exe"+34B1A: 5A                    -  pop edx
"Diablo.exe"+34B1B: E8 2B 2A FE FF        -  call Diablo.exe+1754B
"Diablo.exe"+34B20: 8B 55 FC              -  mov edx,[ebp-04]
"Diablo.exe"+34B23: 40                    -  inc eax
"Diablo.exe"+34B24: 8D 8B C4 D3 64 00     -  lea ecx,[ebx+Diablo.exe+24D3C4]
}



For freeze mana

Code: Select all

[ENABLE]


aobscanmodule(InfMana,Diablo.exe,29 86 F4 65 68 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  pop eax
  mov eax,[esi+Diablo.exe+2865F8]
  mov [esi+Diablo.exe+2865F4],eax
  mov [esi+Diablo.exe+2865ec],eax
  push eax

  jmp return
code:
  sub [esi+Diablo.exe+2865F4],eax
  jmp return

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

[DISABLE]

InfMana:
  db 29 86 F4 65 68 00 29 86 EC 65 68 00

unregistersymbol(InfMana)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Diablo.exe"+5756C

"Diablo.exe"+57553: 74 12                          -  je Diablo.exe+57567
"Diablo.exe"+57555: 48                             -  dec eax
"Diablo.exe"+57556: 74 09                          -  je Diablo.exe+57561
"Diablo.exe"+57558: 48                             -  dec eax
"Diablo.exe"+57559: 75 27                          -  jne Diablo.exe+57582
"Diablo.exe"+5755B: 5E                             -  pop esi
"Diablo.exe"+5755C: E9 E1 76 FC FF                 -  jmp Diablo.exe+1EC42
"Diablo.exe"+57561: 5E                             -  pop esi
"Diablo.exe"+57562: E9 83 75 FC FF                 -  jmp Diablo.exe+1EAEA
"Diablo.exe"+57567: E8 E2 FE FF FF                 -  call Diablo.exe+5744E
// ---------- INJECTING HERE ----------
"Diablo.exe"+5756C: 29 86 F4 65 68 00              -  sub [esi+Diablo.exe+2865F4],eax
// ---------- DONE INJECTING  ----------
"Diablo.exe"+57572: 29 86 EC 65 68 00              -  sub [esi+Diablo.exe+2865EC],eax
"Diablo.exe"+57578: C7 05 A4 87 4B 00 01 00 00 00  -  mov [Diablo.exe+B87A4],00000001
"Diablo.exe"+57582: 5E                             -  pop esi
"Diablo.exe"+57583: C3                             -  ret 
"Diablo.exe"+57584: 33 C0                          -  xor eax,eax
"Diablo.exe"+57586: 56                             -  push esi
"Diablo.exe"+57587: 40                             -  inc eax
"Diablo.exe"+57588: 83 7C 24 0C 00                 -  cmp dword ptr [esp+0C],00
"Diablo.exe"+5758D: 57                             -  push edi
"Diablo.exe"+5758E: 8B FA                          -  mov edi,edx
}

Re: Diablo 1 (HD, GoG Version)

Posted: Tue Mar 19, 2019 8:40 am
by Marc
thank you, updated :)

Re: Diablo 1 (HD, GoG Version)

Posted: Wed Mar 20, 2019 4:38 pm
by MrAngelus
Wish I could find A cheat engine file like this that worked for Diablo hellfire

I installed hellfire and got it working with the Gog version

Awesome work though

Re: Diablo 1 (HD, GoG Version)

Posted: Thu Mar 21, 2019 4:50 pm
by MrAngelus
I tried out this cheat table and I cant seem to change the amount of gold or the able to buy everything

Re: Diablo 1 (HD, GoG Version)

Posted: Thu Mar 21, 2019 5:52 pm
by Marc
The cheats for gold are ugly. As far as I can see, there is one address (the value of all gold) and additionally each stash of coins in the inventory has its own gold counter. In my tests it worked this way that I could buy all items regardless of having enough gold at all.
Will re-check it...

Re: Diablo 1 (HD, GoG Version)

Posted: Thu Mar 21, 2019 7:14 pm
by Marc
Next try. After checking the Goldscripts-group we should now be able to buy all items without even having any gold.

Haven't found the ultimate solution which gets along with patching only one code, but it seem to work.

Have fun,
Marc

Re: Diablo 1 (HD, GoG Version)

Posted: Fri Mar 22, 2019 3:18 pm
by MrAngelus
That works great

Hey in all your playing with Diablo and cheat engine to find the right addresses

have you run across an address to effect durability of weapons and armor
to make it not go down at all

I have been looking for that one for days

Re: Diablo 1 (HD, GoG Version)

Posted: Fri Mar 22, 2019 7:08 pm
by Marc
Great to hear that it works :)

Durability? Interesting idea... will try that.

Re: Diablo 1 (HD, GoG Version)

Posted: Fri Mar 22, 2019 7:55 pm
by MrAngelus
Let me know if you can find the durability address I can't but your much better at this then I am

Again Great work!

Re: Diablo 1 (HD, GoG Version)

Posted: Fri Mar 22, 2019 9:01 pm
by Cassidayglove
would an xp multiplier be possible?

Re: Diablo 1 (HD, GoG Version)

Posted: Sat Mar 23, 2019 3:29 pm
by Denezhou
i sent you a pm marc

Re: Diablo 1 (HD, GoG Version)

Posted: Sat Mar 23, 2019 5:18 pm
by Marc
Hi all,

next version is online. 8-)

@execute:
Thank you, looks interesting. Already implemented the "view map" from your data, have to check the other ones

@Cassidayglove:
Added an XP booster to add 50k XP per kill. Something like that? :)

@MrAngelus:
thanks for the addresses. Added some scripts so durability does not decrease anymore.

have fun,
Marc

Re: Diablo 1 (HD, GoG Version)

Posted: Sat Mar 23, 2019 5:48 pm
by Denezhou
You welcome, sent some more info.

on xp booster, i figure he means like gain 10% more exp per kill or something.

Re: Diablo 1 (HD, GoG Version)

Posted: Sun Mar 24, 2019 8:09 pm
by Marc
Added some more scripts from the collection.

As far as I can tell, I'm done with tuning this table. :)

have fun,
Marc