Page 7 of 12

Re: Toukiden 2 [2017-3-27]

Posted: Fri Mar 31, 2017 3:46 am
by ColonelRVH
Those comments disregarded the fact that i still release all the basic cheats for free. And even the old table as a gift.

People keep making demands without consideration.

You want that function? Ok, i will try to do it for you. That's what i always do.

I planned to release the full one after some time. But now i'm starting to care less about it.

Worse than i expected, but still a nice little experiment & observation. :)

Re: Toukiden 2 [2017-3-27]

Posted: Fri Mar 31, 2017 7:38 am
by STN
Everyone: Can we please get back to the game and posting cheat tables. ColonelRVH is still posting cheat tables and nothing is stopping anybody else to post their contributions in this thread too or new one with far better cheats than his etc.

While i may not agree with the method, i don't think asking for donations is bad. If you guys have other thoughts or wish to discuss this further, please make a thread in general discussion so other admins and everyone can give their views on the matter and we can decide the best possible way to approach this so everyone is happy.

Let's all get back to what we do best and honestly what has always impressed me and resulted in starting this place, work together as a community to rip games apart and make gaming more enjoyable!.

Re: Toukiden 2 [2017-3-27]

Posted: Fri Mar 31, 2017 8:24 am
by fantomas
********************************************** Machina Instant Dispatching ***********************************************

Code: Select all

{
  Game   : Toukiden2_EN.exe
  Version: 1.0.1
  Date   : 2017-03-23
  Author : fantomas
}

[ENABLE]
aobscanmodule(aobMachinaDispatchingTime,Toukiden2_EN.exe,89 8E B0 BF 02 00)
alloc(newmem,$1000,"Toukiden2_EN.exe"+12829E)

label(code)
label(return)

newmem:
  mov [rsi+0002BFB0],0
  jmp return

code:
  mov [rsi+0002BFB0],ecx
  jmp return

aobMachinaDispatchingTime:
  jmp newmem
  nop
return:
registersymbol(aobMachinaDispatchingTime)

[DISABLE]

aobMachinaDispatchingTime:
  db 89 8E B0 BF 02 00

unregistersymbol(aobMachinaDispatchingTime)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Toukiden2_EN.exe"+12829E

"Toukiden2_EN.exe"+12827F: EB 02                 -  jmp Toukiden2_EN.exe+128283
"Toukiden2_EN.exe"+128281: 33 C9                 -  xor ecx,ecx
"Toukiden2_EN.exe"+128283: 89 8E 20 C6 04 00     -  mov [rsi+0004C620],ecx
"Toukiden2_EN.exe"+128289: E8 C2 05 51 00        -  call Toukiden2_EN.exe+638850
"Toukiden2_EN.exe"+12828E: 8B 8E B0 BF 02 00     -  mov ecx,[rsi+0002BFB0]
"Toukiden2_EN.exe"+128294: 3B C8                 -  cmp ecx,eax
"Toukiden2_EN.exe"+128296: 7C 04                 -  jl Toukiden2_EN.exe+12829C
"Toukiden2_EN.exe"+128298: 2B C8                 -  sub ecx,eax
"Toukiden2_EN.exe"+12829A: EB 02                 -  jmp Toukiden2_EN.exe+12829E
"Toukiden2_EN.exe"+12829C: 33 C9                 -  xor ecx,ecx
// ---------- INJECTING HERE ----------
"Toukiden2_EN.exe"+12829E: 89 8E B0 BF 02 00     -  mov [rsi+0002BFB0],ecx
// ---------- DONE INJECTING  ----------
"Toukiden2_EN.exe"+1282A4: 33 DB                 -  xor ebx,ebx
"Toukiden2_EN.exe"+1282A6: 48 8D BE EC BE 02 00  -  lea rdi,[rsi+0002BEEC]
"Toukiden2_EN.exe"+1282AD: 0F 1F 00              -  nop [rax]
"Toukiden2_EN.exe"+1282B0: E8 9B 05 51 00        -  call Toukiden2_EN.exe+638850
"Toukiden2_EN.exe"+1282B5: 83 FB 06              -  cmp ebx,06
"Toukiden2_EN.exe"+1282B8: 77 0E                 -  ja Toukiden2_EN.exe+1282C8
"Toukiden2_EN.exe"+1282BA: 8B 0F                 -  mov ecx,[rdi]
"Toukiden2_EN.exe"+1282BC: 3B C8                 -  cmp ecx,eax
"Toukiden2_EN.exe"+1282BE: 7C 04                 -  jl Toukiden2_EN.exe+1282C4
"Toukiden2_EN.exe"+1282C0: 2B C8                 -  sub ecx,eax
}

********************************************** Machina Unlimited Durability ***********************************************

Code: Select all

{
  Game   : Toukiden2_EN.exe
  Version: 1.0.1
  Date   : 2017-03-23
  Author : fantomas
}

[ENABLE]
aobscanmodule(aobMachinaDurability,Toukiden2_EN.exe,2B D1 3B D0 0F 4F C2)
alloc(newmem,$1000,"Toukiden2_EN.exe"+3348B4)

label(code)
label(return)

newmem:
//sub edx,ecx
  cmp edx,eax
  cmovg eax,edx
  jmp return

code:
  sub edx,ecx
  cmp edx,eax
  cmovg eax,edx
  jmp return

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

[DISABLE]

aobMachinaDurability:
  db 2B D1 3B D0 0F 4F C2

unregistersymbol(aobMachinaDurability)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Toukiden2_EN.exe"+3348B4

"Toukiden2_EN.exe"+334893: C1 EA 04                    -  shr edx,04
"Toukiden2_EN.exe"+334896: 8D 04 92                    -  lea eax,[rdx+rdx*4]
"Toukiden2_EN.exe"+334899: 41 0F BF 51 02              -  movsx edx,word ptr [r9+02]
"Toukiden2_EN.exe"+33489E: C1 E0 02                    -  shl eax,02
"Toukiden2_EN.exe"+3348A1: 2B C8                       -  sub ecx,eax
"Toukiden2_EN.exe"+3348A3: 8D 41 01                    -  lea eax,[rcx+01]
"Toukiden2_EN.exe"+3348A6: 42 8D 04 40                 -  lea eax,[rax+r8*2]
"Toukiden2_EN.exe"+3348AA: 8D 0C 80                    -  lea ecx,[rax+rax*4]
"Toukiden2_EN.exe"+3348AD: B8 01 00 00 00              -  mov eax,00000001
"Toukiden2_EN.exe"+3348B2: 03 C9                       -  add ecx,ecx
// ---------- INJECTING HERE ----------
"Toukiden2_EN.exe"+3348B4: 2B D1                       -  sub edx,ecx
"Toukiden2_EN.exe"+3348B6: 3B D0                       -  cmp edx,eax
"Toukiden2_EN.exe"+3348B8: 0F 4F C2                    -  cmovg eax,edx
// ---------- DONE INJECTING  ----------
"Toukiden2_EN.exe"+3348BB: 66 41 89 41 02              -  mov [r9+02],ax
"Toukiden2_EN.exe"+3348C0: 41 39 B2 B0 BF 02 00        -  cmp [r10+0002BFB0],esi
"Toukiden2_EN.exe"+3348C7: 7F 0B                       -  jg Toukiden2_EN.exe+3348D4
"Toukiden2_EN.exe"+3348C9: 66 41 83 BA A4 BF 02 00 64  -  cmp word ptr [r10+0002BFA4],64
"Toukiden2_EN.exe"+3348D2: EB 09                       -  jmp Toukiden2_EN.exe+3348DD
"Toukiden2_EN.exe"+3348D4: 66 41 83 BA A6 BF 02 00 64  -  cmp word ptr [r10+0002BFA6],64
"Toukiden2_EN.exe"+3348DD: 0F 9E C0                    -  setle al
"Toukiden2_EN.exe"+3348E0: 84 C0                       -  test al,al
"Toukiden2_EN.exe"+3348E2: 74 43                       -  je Toukiden2_EN.exe+334927
"Toukiden2_EN.exe"+3348E4: 41 0F BE 41 06              -  movsx eax,byte ptr [r9+06]
}

Re: Toukiden 2 [2017-3-27]

Posted: Fri Mar 31, 2017 9:48 am
by fantomas
If someone want to waste time with finding materials values, then here:

********************************************** Find Materials Base Addresses ***********************************************

Code: Select all

{
  Game   : Toukiden2_EN.exe
  Version: 1.0.1
  Date   : 2017-03-23
  Author : fantomas
}

[ENABLE]
aobscanmodule(aobGameDataPointers,Toukiden2_EN.exe,0F B7 4C 81 02 41)
alloc(newmem,$1000,aobGameDataPointers)

label(code)
label(return)

globalalloc(player_ptr,2)

newmem:
  mov rax,player_ptr
  mov [rax],ecx
  movzx ecx,word ptr [rcx+rax*4+02]
  jmp return

code:
  movzx ecx,word ptr [rcx+rax*4+02]
  jmp return

aobGameDataPointers:
  jmp newmem
return:
registersymbol(aobGameDataPointers)

[DISABLE]

aobGameDataPointers:
  db 0F B7 4C 81 02

unregistersymbol(aobGameDataPointers)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Toukiden2_EN.exe"+14E75F

"Toukiden2_EN.exe"+14E74B: CC                             -  int 3
"Toukiden2_EN.exe"+14E74C: CC                             -  int 3
"Toukiden2_EN.exe"+14E74D: CC                             -  int 3
"Toukiden2_EN.exe"+14E74E: CC                             -  int 3
"Toukiden2_EN.exe"+14E74F: CC                             -  int 3
"Toukiden2_EN.exe"+14E750: 40 53                          -  push rbx
"Toukiden2_EN.exe"+14E752: 48 8B D9                       -  mov rbx,rcx
"Toukiden2_EN.exe"+14E755: 48 63 C2                       -  movsxd  rax,edx
"Toukiden2_EN.exe"+14E758: 45 33 D2                       -  xor r10d,r10d
"Toukiden2_EN.exe"+14E75B: 4C 8D 0C 81                    -  lea r9,[rcx+rax*4]
// ---------- INJECTING HERE ----------
"Toukiden2_EN.exe"+14E75F: 0F B7 4C 81 02                 -  movzx ecx,word ptr [rcx+rax*4+02]
// ---------- DONE INJECTING  ----------
"Toukiden2_EN.exe"+14E764: 41 2B C8                       -  sub ecx,r8d
"Toukiden2_EN.exe"+14E767: 78 09                          -  js Toukiden2_EN.exe+14E772
"Toukiden2_EN.exe"+14E769: B8 E7 03 00 00                 -  mov eax,000003E7
"Toukiden2_EN.exe"+14E76E: 3B C8                          -  cmp ecx,eax
"Toukiden2_EN.exe"+14E770: 7F 08                          -  jg Toukiden2_EN.exe+14E77A
"Toukiden2_EN.exe"+14E772: 8B C1                          -  mov eax,ecx
"Toukiden2_EN.exe"+14E774: 85 C9                          -  test ecx,ecx
"Toukiden2_EN.exe"+14E776: 41 0F 48 C2                    -  cmovs eax,r10d
"Toukiden2_EN.exe"+14E77A: 66 41 89 41 02                 -  mov [r9+02],ax
"Toukiden2_EN.exe"+14E77F: 66 85 C0                       -  test ax,ax
}
Addresses will be available once in shop - Then uncheck the cheat***, otherwise, if will clean the totality of your material if you're trying to sell it (instead of 1 or whatever how much).

I didn't figure out yet why it is working like that, but... yeah... it works pretty fine for me. :P
[Link]

Re: Toukiden 2 [2017-3-27]

Posted: Fri Mar 31, 2017 10:38 am
by variante
Darkedone02 wrote:
Fri Mar 31, 2017 12:11 am
does this "instantly ghosts ???" basically means instant purification?"

Most of the cheats off that table needs to be renamed for a better meaning...
When I try it, the monsters just fade in and out of existence, so the translation is pretty correct.

Pretty sure there's a point to it. It's like they made it to exploit something in the game.

Re: Toukiden 2 [2017-3-27]

Posted: Fri Mar 31, 2017 11:38 am
by armoredcore48
fantomas wrote:
Fri Mar 31, 2017 9:48 am
If someone want to waste time with finding materials values, then here:

********************************************** Find Materials Base Addresses ***********************************************

Code: Select all

{
  Game   : Toukiden2_EN.exe
  Version: 1.0.1
  Date   : 2017-03-23
  Author : fantomas
}

[ENABLE]
aobscanmodule(aobGameDataPointers,Toukiden2_EN.exe,0F B7 4C 81 02 41)
alloc(newmem,$1000,aobGameDataPointers)

label(code)
label(return)

globalalloc(player_ptr,2)

newmem:
  mov rax,player_ptr
  mov [rax],ecx
  movzx ecx,word ptr [rcx+rax*4+02]
  jmp return

code:
  movzx ecx,word ptr [rcx+rax*4+02]
  jmp return

aobGameDataPointers:
  jmp newmem
return:
registersymbol(aobGameDataPointers)

[DISABLE]

aobGameDataPointers:
  db 0F B7 4C 81 02

unregistersymbol(aobGameDataPointers)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Toukiden2_EN.exe"+14E75F

"Toukiden2_EN.exe"+14E74B: CC                             -  int 3
"Toukiden2_EN.exe"+14E74C: CC                             -  int 3
"Toukiden2_EN.exe"+14E74D: CC                             -  int 3
"Toukiden2_EN.exe"+14E74E: CC                             -  int 3
"Toukiden2_EN.exe"+14E74F: CC                             -  int 3
"Toukiden2_EN.exe"+14E750: 40 53                          -  push rbx
"Toukiden2_EN.exe"+14E752: 48 8B D9                       -  mov rbx,rcx
"Toukiden2_EN.exe"+14E755: 48 63 C2                       -  movsxd  rax,edx
"Toukiden2_EN.exe"+14E758: 45 33 D2                       -  xor r10d,r10d
"Toukiden2_EN.exe"+14E75B: 4C 8D 0C 81                    -  lea r9,[rcx+rax*4]
// ---------- INJECTING HERE ----------
"Toukiden2_EN.exe"+14E75F: 0F B7 4C 81 02                 -  movzx ecx,word ptr [rcx+rax*4+02]
// ---------- DONE INJECTING  ----------
"Toukiden2_EN.exe"+14E764: 41 2B C8                       -  sub ecx,r8d
"Toukiden2_EN.exe"+14E767: 78 09                          -  js Toukiden2_EN.exe+14E772
"Toukiden2_EN.exe"+14E769: B8 E7 03 00 00                 -  mov eax,000003E7
"Toukiden2_EN.exe"+14E76E: 3B C8                          -  cmp ecx,eax
"Toukiden2_EN.exe"+14E770: 7F 08                          -  jg Toukiden2_EN.exe+14E77A
"Toukiden2_EN.exe"+14E772: 8B C1                          -  mov eax,ecx
"Toukiden2_EN.exe"+14E774: 85 C9                          -  test ecx,ecx
"Toukiden2_EN.exe"+14E776: 41 0F 48 C2                    -  cmovs eax,r10d
"Toukiden2_EN.exe"+14E77A: 66 41 89 41 02                 -  mov [r9+02],ax
"Toukiden2_EN.exe"+14E77F: 66 85 C0                       -  test ax,ax
}
Addresses will be available once in shop - Then uncheck the cheat***, otherwise, if will clean the totality of your material if you're trying to sell it (instead of 1 or whatever how much).

I didn't figure out yet why it is working like that, but... yeah... it works pretty fine for me. :P
[Link]

You wont believe this man, but i created this account just to ask you how do you do this (showing materials and so on)

Re: Toukiden 2 [2017-3-27]

Posted: Fri Mar 31, 2017 10:56 pm
by fantomas
armoredcore48 wrote:
Fri Mar 31, 2017 11:38 am
You wont believe this man, but i created this account just to ask you how do you do this (showing materials and so on)
:D

If you're asking me about material names, then know that I had to add them manually. About the address of each material, this job is done by the script.

Sorry if it isn't helpful enough. :oops:


If there's someone who cares about having Machina missions always accomplished, then here it is.

********************************************** Machina Missions Always Accomplished ***********************************************

Code: Select all

{
  Game   : Toukiden2_EN.exe
  Version: 1.0.1
  Date   : 2017-03-23
  Author : fantomas
}

[ENABLE]
aobscanmodule(aobMachinaMissionStatus,Toukiden2_EN.exe,41 C6 41 0A 02)
alloc(newmem,$1000,"Toukiden2_EN.exe"+334906)

label(code)
label(return)
                                        // ----------> 00 -> Perfect Mission???  ------> 9/10 I had Perfect Mission    1/10 Mission Accomplished
newmem:
  mov byte ptr [r9+0A],01  // ----------> 01 -> Mission Accomplished
  jmp return

code:
  mov byte ptr [r9+0A],02  // ----------> 02 -> Mission Failed
  jmp return

aobMachinaMissionStatus:
  jmp newmem
return:
registersymbol(aobMachinaMissionStatus)

[DISABLE]

aobMachinaMissionStatus:
  db 41 C6 41 0A 02

unregistersymbol(aobMachinaMissionStatus)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Toukiden2_EN.exe"+334906

"Toukiden2_EN.exe"+3348E9: 8B CE                       -  mov ecx,esi
"Toukiden2_EN.exe"+3348EB: FF C8                       -  dec eax
"Toukiden2_EN.exe"+3348ED: 85 C0                       -  test eax,eax
"Toukiden2_EN.exe"+3348EF: 0F 4F C8                    -  cmovg ecx,eax
"Toukiden2_EN.exe"+3348F2: 41 0F BE 41 07              -  movsx eax,byte ptr [r9+07]
"Toukiden2_EN.exe"+3348F7: FF C8                       -  dec eax
"Toukiden2_EN.exe"+3348F9: 41 88 49 06                 -  mov [r9+06],cl
"Toukiden2_EN.exe"+3348FD: 85 C0                       -  test eax,eax
"Toukiden2_EN.exe"+3348FF: 0F 4F F0                    -  cmovg esi,eax
"Toukiden2_EN.exe"+334902: 41 88 71 07                 -  mov [r9+07],sil
// ---------- INJECTING HERE ----------
"Toukiden2_EN.exe"+334906: 41 C6 41 0A 02              -  mov byte ptr [r9+0A],02
// ---------- DONE INJECTING  ----------
"Toukiden2_EN.exe"+33490B: E8 80 4B E0 FF              -  call Toukiden2_EN.exe+139490
"Toukiden2_EN.exe"+334910: BA 01 00 00 00              -  mov edx,00000001
"Toukiden2_EN.exe"+334915: 48 8B CF                    -  mov rcx,rdi
"Toukiden2_EN.exe"+334918: 48 8B 74 24 78              -  mov rsi,[rsp+78]
"Toukiden2_EN.exe"+33491D: 48 83 C4 60                 -  add rsp,60
"Toukiden2_EN.exe"+334921: 5F                          -  pop rdi
"Toukiden2_EN.exe"+334922: E9 19 FC FF FF              -  jmp Toukiden2_EN.exe+334540
"Toukiden2_EN.exe"+334927: 49 0F BE 41 04              -  movsx rax,byte ptr [r9+04]
"Toukiden2_EN.exe"+33492C: 44 8B 15 BD C6 84 00        -  mov r10d,[Toukiden2_EN.exe+B80FF0]
"Toukiden2_EN.exe"+334933: 46 0F B6 44 18 01           -  movzx r8d,byte ptr [rax+r11+01]
}
Enjoy! ;)

Re: Toukiden 2 [2017-3-27]

Posted: Fri Mar 31, 2017 11:29 pm
by Zircon
hi fantomas thanks for sharing but how do you use those scripts?^^
copy paste into ce table not working(nothing happens)
could you upload a cheat table plz?

Re: Toukiden 2 [2017-3-27]

Posted: Sat Apr 01, 2017 12:34 am
by fantomas
Hi Zircon :)

Once CE opened, click on Memory view button, then as usual... (Tab)Tools - Auto Assemble, then just copy that code into the opened view ;)

Here's the cheat that allows you not to wait 15min or to finish a mission before it gives you a new entry into the Pool Of Purity. :lol:

*********************************** Pool Of Purity Unlimited Entry ***********************************

Code: Select all

{
  Game   : Toukiden2_EN.exe
  Version: 1.0.1
  Date   : 2017-03-23
  Author : fantomas
}

[ENABLE]
aobscanmodule(aobPoolOfPurity,Toukiden2_EN.exe,89 8E 1C 6B 03 00)
alloc(newmem,$1000,"Toukiden2_EN.exe"+1282E8)

label(code)
label(return)

newmem:
  mov [rsi+00036B1C],0
  jmp return

code:
  mov [rsi+00036B1C],ecx
  jmp return

aobPoolOfPurity:
  jmp newmem
  nop
return:
registersymbol(aobPoolOfPurity)

[DISABLE]

aobPoolOfPurity:
  db 89 8E 1C 6B 03 00

unregistersymbol(aobPoolOfPurity)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Toukiden2_EN.exe"+1282E8

"Toukiden2_EN.exe"+1282CA: 48 83 C7 1C           -  add rdi,1C
"Toukiden2_EN.exe"+1282CE: 83 FB 07              -  cmp ebx,07
"Toukiden2_EN.exe"+1282D1: 72 DD                 -  jb Toukiden2_EN.exe+1282B0
"Toukiden2_EN.exe"+1282D3: E8 78 05 51 00        -  call Toukiden2_EN.exe+638850
"Toukiden2_EN.exe"+1282D8: 8B 8E 1C 6B 03 00     -  mov ecx,[rsi+00036B1C]
"Toukiden2_EN.exe"+1282DE: 3B C8                 -  cmp ecx,eax
"Toukiden2_EN.exe"+1282E0: 72 04                 -  jb Toukiden2_EN.exe+1282E6
"Toukiden2_EN.exe"+1282E2: 2B C8                 -  sub ecx,eax
"Toukiden2_EN.exe"+1282E4: EB 02                 -  jmp Toukiden2_EN.exe+1282E8
"Toukiden2_EN.exe"+1282E6: 33 C9                 -  xor ecx,ecx
// ---------- INJECTING HERE ----------
"Toukiden2_EN.exe"+1282E8: 89 8E 1C 6B 03 00     -  mov [rsi+00036B1C],ecx
// ---------- DONE INJECTING  ----------
"Toukiden2_EN.exe"+1282EE: 85 C9                 -  test ecx,ecx
"Toukiden2_EN.exe"+1282F0: 75 0E                 -  jne Toukiden2_EN.exe+128300
"Toukiden2_EN.exe"+1282F2: 48 8B 05 D7 A7 9D 00  -  mov rax,[Toukiden2_EN.exe+B02AD0]
"Toukiden2_EN.exe"+1282F9: 80 88 F8 6A 03 00 20  -  or byte ptr [rax+00036AF8],20
"Toukiden2_EN.exe"+128300: E8 4B 05 51 00        -  call Toukiden2_EN.exe+638850
"Toukiden2_EN.exe"+128305: 8B 8E 20 6B 03 00     -  mov ecx,[rsi+00036B20]
"Toukiden2_EN.exe"+12830B: 3B C8                 -  cmp ecx,eax
"Toukiden2_EN.exe"+12830D: 72 04                 -  jb Toukiden2_EN.exe+128313
"Toukiden2_EN.exe"+12830F: 2B C8                 -  sub ecx,eax
"Toukiden2_EN.exe"+128311: EB 02                 -  jmp Toukiden2_EN.exe+128315
}

Re: Toukiden 2 [2017-3-27]

Posted: Sat Apr 01, 2017 1:10 am
by Darkedone02
variante wrote:
Fri Mar 31, 2017 10:38 am
Darkedone02 wrote:
Fri Mar 31, 2017 12:11 am
does this "instantly ghosts ???" basically means instant purification?"

Most of the cheats off that table needs to be renamed for a better meaning...
When I try it, the monsters just fade in and out of existence, so the translation is pretty correct.

Pretty sure there's a point to it. It's like they made it to exploit something in the game.
alright If it's not instant purification then we need one for this table. I don't need this instant ghost thingy whatever it is.

also the "Equipment [Forging/Re-forging/Upgrading] cheats also works for the machina but not quite as well. It also ignore the consumption of materials when you actually upgrade or construct brain circuits...
fantomas wrote:
Fri Mar 31, 2017 9:48 am
If someone want to waste time with finding materials values, then here:

********************************************** Find Materials Base Addresses ***********************************************

Code: Select all

{
  Game   : Toukiden2_EN.exe
  Version: 1.0.1
  Date   : 2017-03-23
  Author : fantomas
}

[ENABLE]
aobscanmodule(aobGameDataPointers,Toukiden2_EN.exe,0F B7 4C 81 02 41)
alloc(newmem,$1000,aobGameDataPointers)

label(code)
label(return)

globalalloc(player_ptr,2)

newmem:
  mov rax,player_ptr
  mov [rax],ecx
  movzx ecx,word ptr [rcx+rax*4+02]
  jmp return

code:
  movzx ecx,word ptr [rcx+rax*4+02]
  jmp return

aobGameDataPointers:
  jmp newmem
return:
registersymbol(aobGameDataPointers)

[DISABLE]

aobGameDataPointers:
  db 0F B7 4C 81 02

unregistersymbol(aobGameDataPointers)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Toukiden2_EN.exe"+14E75F

"Toukiden2_EN.exe"+14E74B: CC                             -  int 3
"Toukiden2_EN.exe"+14E74C: CC                             -  int 3
"Toukiden2_EN.exe"+14E74D: CC                             -  int 3
"Toukiden2_EN.exe"+14E74E: CC                             -  int 3
"Toukiden2_EN.exe"+14E74F: CC                             -  int 3
"Toukiden2_EN.exe"+14E750: 40 53                          -  push rbx
"Toukiden2_EN.exe"+14E752: 48 8B D9                       -  mov rbx,rcx
"Toukiden2_EN.exe"+14E755: 48 63 C2                       -  movsxd  rax,edx
"Toukiden2_EN.exe"+14E758: 45 33 D2                       -  xor r10d,r10d
"Toukiden2_EN.exe"+14E75B: 4C 8D 0C 81                    -  lea r9,[rcx+rax*4]
// ---------- INJECTING HERE ----------
"Toukiden2_EN.exe"+14E75F: 0F B7 4C 81 02                 -  movzx ecx,word ptr [rcx+rax*4+02]
// ---------- DONE INJECTING  ----------
"Toukiden2_EN.exe"+14E764: 41 2B C8                       -  sub ecx,r8d
"Toukiden2_EN.exe"+14E767: 78 09                          -  js Toukiden2_EN.exe+14E772
"Toukiden2_EN.exe"+14E769: B8 E7 03 00 00                 -  mov eax,000003E7
"Toukiden2_EN.exe"+14E76E: 3B C8                          -  cmp ecx,eax
"Toukiden2_EN.exe"+14E770: 7F 08                          -  jg Toukiden2_EN.exe+14E77A
"Toukiden2_EN.exe"+14E772: 8B C1                          -  mov eax,ecx
"Toukiden2_EN.exe"+14E774: 85 C9                          -  test ecx,ecx
"Toukiden2_EN.exe"+14E776: 41 0F 48 C2                    -  cmovs eax,r10d
"Toukiden2_EN.exe"+14E77A: 66 41 89 41 02                 -  mov [r9+02],ax
"Toukiden2_EN.exe"+14E77F: 66 85 C0                       -  test ax,ax
}
Addresses will be available once in shop - Then uncheck the cheat***, otherwise, if will clean the totality of your material if you're trying to sell it (instead of 1 or whatever how much).

I didn't figure out yet why it is working like that, but... yeah... it works pretty fine for me. :P
[Link]
Can someone organized this alphebatically pretty please?

Re: Toukiden 2 [2017-3-27]

Posted: Sat Apr 01, 2017 1:41 am
by Zircon
fantomas wrote:
Sat Apr 01, 2017 12:34 am
Hi Zircon :)

Once CE opened, click on Memory view button, then as usual... (Tab)Tools - Auto Assemble, then just copy that code into the opened view ;)
thanks :D

Re: Toukiden 2 [2017-3-27]

Posted: Sat Apr 01, 2017 1:57 am
by fantomas
Darkedone02 wrote:
Sat Apr 01, 2017 1:10 am
Can someone organized this alphebatically pretty please?
Hi Darkedone02 :)

As this list was made manually, it is not exhaustive. "War fan","Machine circuit Mk3","Petrified plant","Eternalice" and "Hardened Oni bone" are still missing.

I took "All' tab as reference to make the list... as each material is separated by 4 byte (2,6,A,E,12,16,1A,1E... etc.) it was easier to find addresses with their values).

Sorry for that. ;)

Zircon wrote:
Sat Apr 01, 2017 1:41 am
thanks :D
You're welcome. ;)

Re: Toukiden 2 [2017-3-27]

Posted: Sat Apr 01, 2017 5:21 am
by Darkedone02
fantomas wrote:
Fri Mar 31, 2017 10:56 pm
armoredcore48 wrote:
Fri Mar 31, 2017 11:38 am
You wont believe this man, but i created this account just to ask you how do you do this (showing materials and so on)
:D

If you're asking me about material names, then know that I had to add them manually. About the address of each material, this job is done by the script.

Sorry if it isn't helpful enough. :oops:


If there's someone who cares about having Machina missions always accomplished, then here it is.

********************************************** Machina Missions Always Accomplished ***********************************************

Code: Select all

{
  Game   : Toukiden2_EN.exe
  Version: 1.0.1
  Date   : 2017-03-23
  Author : fantomas
}

[ENABLE]
aobscanmodule(aobMachinaMissionStatus,Toukiden2_EN.exe,41 C6 41 0A 02)
alloc(newmem,$1000,"Toukiden2_EN.exe"+334906)

label(code)
label(return)
                                        // ----------> 00 -> Perfect Mission???  ------> 9/10 I had Perfect Mission    1/10 Mission Accomplished
newmem:
  mov byte ptr [r9+0A],01  // ----------> 01 -> Mission Accomplished
  jmp return

code:
  mov byte ptr [r9+0A],02  // ----------> 02 -> Mission Failed
  jmp return

aobMachinaMissionStatus:
  jmp newmem
return:
registersymbol(aobMachinaMissionStatus)

[DISABLE]

aobMachinaMissionStatus:
  db 41 C6 41 0A 02

unregistersymbol(aobMachinaMissionStatus)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Toukiden2_EN.exe"+334906

"Toukiden2_EN.exe"+3348E9: 8B CE                       -  mov ecx,esi
"Toukiden2_EN.exe"+3348EB: FF C8                       -  dec eax
"Toukiden2_EN.exe"+3348ED: 85 C0                       -  test eax,eax
"Toukiden2_EN.exe"+3348EF: 0F 4F C8                    -  cmovg ecx,eax
"Toukiden2_EN.exe"+3348F2: 41 0F BE 41 07              -  movsx eax,byte ptr [r9+07]
"Toukiden2_EN.exe"+3348F7: FF C8                       -  dec eax
"Toukiden2_EN.exe"+3348F9: 41 88 49 06                 -  mov [r9+06],cl
"Toukiden2_EN.exe"+3348FD: 85 C0                       -  test eax,eax
"Toukiden2_EN.exe"+3348FF: 0F 4F F0                    -  cmovg esi,eax
"Toukiden2_EN.exe"+334902: 41 88 71 07                 -  mov [r9+07],sil
// ---------- INJECTING HERE ----------
"Toukiden2_EN.exe"+334906: 41 C6 41 0A 02              -  mov byte ptr [r9+0A],02
// ---------- DONE INJECTING  ----------
"Toukiden2_EN.exe"+33490B: E8 80 4B E0 FF              -  call Toukiden2_EN.exe+139490
"Toukiden2_EN.exe"+334910: BA 01 00 00 00              -  mov edx,00000001
"Toukiden2_EN.exe"+334915: 48 8B CF                    -  mov rcx,rdi
"Toukiden2_EN.exe"+334918: 48 8B 74 24 78              -  mov rsi,[rsp+78]
"Toukiden2_EN.exe"+33491D: 48 83 C4 60                 -  add rsp,60
"Toukiden2_EN.exe"+334921: 5F                          -  pop rdi
"Toukiden2_EN.exe"+334922: E9 19 FC FF FF              -  jmp Toukiden2_EN.exe+334540
"Toukiden2_EN.exe"+334927: 49 0F BE 41 04              -  movsx rax,byte ptr [r9+04]
"Toukiden2_EN.exe"+33492C: 44 8B 15 BD C6 84 00        -  mov r10d,[Toukiden2_EN.exe+B80FF0]
"Toukiden2_EN.exe"+334933: 46 0F B6 44 18 01           -  movzx r8d,byte ptr [rax+r11+01]
}
Enjoy! ;)
Ok for some reason this cheat does not work right, I do get the mission accomplished, but the menu where the rewards you earn does not appear, therefore it still missing a flag to trigger the rewards menu for a successful mission.

Re: Toukiden 2 [2017-3-27]

Posted: Sat Apr 01, 2017 8:30 am
by armoredcore48
fantomas wrote:
Fri Mar 31, 2017 10:56 pm
armoredcore48 wrote:
Fri Mar 31, 2017 11:38 am
You wont believe this man, but i created this account just to ask you how do you do this (showing materials and so on)
:D

If you're asking me about material names, then know that I had to add them manually. About the address of each material, this job is done by the script.

Sorry if it isn't helpful enough. :oops:


If there's someone who cares about having Machina missions always accomplished, then here it is.

********************************************** Machina Missions Always Accomplished ***********************************************

Code: Select all

{
  Game   : Toukiden2_EN.exe
  Version: 1.0.1
  Date   : 2017-03-23
  Author : fantomas
}

[ENABLE]
aobscanmodule(aobMachinaMissionStatus,Toukiden2_EN.exe,41 C6 41 0A 02)
alloc(newmem,$1000,"Toukiden2_EN.exe"+334906)

label(code)
label(return)
                                        // ----------> 00 -> Perfect Mission???  ------> 9/10 I had Perfect Mission    1/10 Mission Accomplished
newmem:
  mov byte ptr [r9+0A],01  // ----------> 01 -> Mission Accomplished
  jmp return

code:
  mov byte ptr [r9+0A],02  // ----------> 02 -> Mission Failed
  jmp return

aobMachinaMissionStatus:
  jmp newmem
return:
registersymbol(aobMachinaMissionStatus)

[DISABLE]

aobMachinaMissionStatus:
  db 41 C6 41 0A 02

unregistersymbol(aobMachinaMissionStatus)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Toukiden2_EN.exe"+334906

"Toukiden2_EN.exe"+3348E9: 8B CE                       -  mov ecx,esi
"Toukiden2_EN.exe"+3348EB: FF C8                       -  dec eax
"Toukiden2_EN.exe"+3348ED: 85 C0                       -  test eax,eax
"Toukiden2_EN.exe"+3348EF: 0F 4F C8                    -  cmovg ecx,eax
"Toukiden2_EN.exe"+3348F2: 41 0F BE 41 07              -  movsx eax,byte ptr [r9+07]
"Toukiden2_EN.exe"+3348F7: FF C8                       -  dec eax
"Toukiden2_EN.exe"+3348F9: 41 88 49 06                 -  mov [r9+06],cl
"Toukiden2_EN.exe"+3348FD: 85 C0                       -  test eax,eax
"Toukiden2_EN.exe"+3348FF: 0F 4F F0                    -  cmovg esi,eax
"Toukiden2_EN.exe"+334902: 41 88 71 07                 -  mov [r9+07],sil
// ---------- INJECTING HERE ----------
"Toukiden2_EN.exe"+334906: 41 C6 41 0A 02              -  mov byte ptr [r9+0A],02
// ---------- DONE INJECTING  ----------
"Toukiden2_EN.exe"+33490B: E8 80 4B E0 FF              -  call Toukiden2_EN.exe+139490
"Toukiden2_EN.exe"+334910: BA 01 00 00 00              -  mov edx,00000001
"Toukiden2_EN.exe"+334915: 48 8B CF                    -  mov rcx,rdi
"Toukiden2_EN.exe"+334918: 48 8B 74 24 78              -  mov rsi,[rsp+78]
"Toukiden2_EN.exe"+33491D: 48 83 C4 60                 -  add rsp,60
"Toukiden2_EN.exe"+334921: 5F                          -  pop rdi
"Toukiden2_EN.exe"+334922: E9 19 FC FF FF              -  jmp Toukiden2_EN.exe+334540
"Toukiden2_EN.exe"+334927: 49 0F BE 41 04              -  movsx rax,byte ptr [r9+04]
"Toukiden2_EN.exe"+33492C: 44 8B 15 BD C6 84 00        -  mov r10d,[Toukiden2_EN.exe+B80FF0]
"Toukiden2_EN.exe"+334933: 46 0F B6 44 18 01           -  movzx r8d,byte ptr [rax+r11+01]
}
Enjoy! ;)
Thanks man :)

Re: Toukiden 2 [2017-3-27]

Posted: Sat Apr 01, 2017 9:10 am
by fantomas
Darkedone02 wrote:
Sat Apr 01, 2017 5:21 am
Ok for some reason this cheat does not work right, I do get the mission accomplished, but the menu where the rewards you earn does not appear, therefore it still missing a flag to trigger the rewards menu for a successful mission.
Thanks for this report - I just checked it and, you're right... I have the rewards menu BUT it seems it appears randomly. Tried with another mission and it appeared successfully, then tried a next time the same mission but this time, it didn't appear. :?

I'll take a look on it and try to figurate out what it is still missing.
armoredcore48 wrote:
Sat Apr 01, 2017 8:30 am
Thanks man :)
You're welcome. ;)


Also, be careful with "Find Materials" cheat... I found out that when a material has been removed, the material from bellow will take it place (and value) at the offset.

an example:

"White rice" is at the offset 02 and "Chicken" at the offset 06 - When I sell (1 or more) "White rice" to active the cheat, it removes the totality of "White rice" that I had and it does not appear like "White rice 0"... it just is gone. :shock: And then now "Chicken" takes it place and does not show the "Chicken" material's value, but this one from "White rice". :x

But if after that I buy "White rice" (how many, it does not matter), it will recover it place (and the value) at the offset 02. :mrgreen:

So, until I find out (or someone else ;) ) what it is the cause of this, use this cheat with caution. ;)

Sorry about that - I'm still learning. ;)