Diablo 1 (HD, GoG Version)

Upload your cheat tables here (No requests)
Post Reply
Marc
Expert Cheater
Expert Cheater
Posts: 50
Joined: Mon Mar 26, 2018 2:35 pm
Reputation: 8

Diablo 1 (HD, GoG Version)

Post by Marc » Wed Mar 13, 2019 5:09 pm

Hi all,

recently Gog released the re-made Diablo 1, which has native Windows 10 Support and upscaled graphics.

Here's my table for this game.
  • freezable hitpoints (they are encoded so the value looks weird but it works)
  • always get your current gold-stash filled up to 5.000 before buying an item
  • Boost Experience (just select max XP in the listbox which brings you to the XP for the next level up)
  • boost character stats directly or via attribute points to spent
  • freezable mana
  • script to push the overall amount of gold to 500.000 so the game thinks you can buy what you like
Sometimes not the most elegant solution, but working. 8-)

For whom it concerns: the only encrypted values are health and mana. All values are 4-Bytes.

have fun
Marc
Attachments
Diablo 1 HD.CT
v1.3 - improved scripts for buying items without gold
(26.33 KiB) Downloaded 9 times
Diablo 1 HD.CT
v1.2 - added scripts from whitevil2
(15.47 KiB) Downloaded 63 times
diablo.CT
(10.16 KiB) Downloaded 57 times
diablo.CT
v1.1 - includes mana and buying everything
(7.72 KiB) Downloaded 171 times
Last edited by Marc on Thu Mar 21, 2019 7:12 pm, edited 2 times in total.

whitevil2
What is cheating?
What is cheating?
Posts: 1
Joined: Sun Mar 17, 2019 7:06 am
Reputation: 0

Re: Diablo 1 (HD, GoG Version)

Post by whitevil2 » Sun Mar 17, 2019 7:15 am

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
}

Marc
Expert Cheater
Expert Cheater
Posts: 50
Joined: Mon Mar 26, 2018 2:35 pm
Reputation: 8

Re: Diablo 1 (HD, GoG Version)

Post by Marc » Tue Mar 19, 2019 8:40 am

thank you, updated :)

MrAngelus
Noobzor
Noobzor
Posts: 10
Joined: Thu Dec 14, 2017 9:33 pm
Reputation: 0

Re: Diablo 1 (HD, GoG Version)

Post by MrAngelus » Wed Mar 20, 2019 4:38 pm

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

MrAngelus
Noobzor
Noobzor
Posts: 10
Joined: Thu Dec 14, 2017 9:33 pm
Reputation: 0

Re: Diablo 1 (HD, GoG Version)

Post by MrAngelus » Thu Mar 21, 2019 4:50 pm

I tried out this cheat table and I cant seem to change the amount of gold or the able to buy everything

Marc
Expert Cheater
Expert Cheater
Posts: 50
Joined: Mon Mar 26, 2018 2:35 pm
Reputation: 8

Re: Diablo 1 (HD, GoG Version)

Post by Marc » Thu Mar 21, 2019 5:52 pm

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...

Marc
Expert Cheater
Expert Cheater
Posts: 50
Joined: Mon Mar 26, 2018 2:35 pm
Reputation: 8

Re: Diablo 1 (HD, GoG Version)

Post by Marc » Thu Mar 21, 2019 7:14 pm

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

Post Reply

Who is online

Users browsing this forum: Arkangelunix, Google [Bot], Kanelakis, rooxon, Tonkplis