Page 1 of 1

Using Mono Dissection to Create a Script in Valthirian Arc: Hero School Story

Posted: Mon Dec 31, 2018 5:27 pm
by jmh
I have found the method that increases character experience in CharacterStatus:AddExp(addvalue:int):System.Int32 using the Mono dissector. When I execute that method on an instance of the class it increases experience as expected.

CharacterStatus:AddExp+5a F3 0F10 0D CE000000 movss xmm1,[CharacterStatus:AddExp+130]
CharacterStatus:AddExp+62 F3 0F 5A C9 cvtss2sd xmm1,xmm1
CharacterStatus:AddExp+66 F2 0F 59 C1 mulsd xmm0,xmm1


The value at [CharacterStatus:AddExp+130] is already a multiplier to the added experience (I got an address reference to it and changed it manually to test). It should be simple to create a script that changes the value at that address, but as this is my first time attempting a script, I don't know how to do it.

Thank you,

Re: Using Mono Dissection to Create a Script in Valthirian Arc: Hero School Story

Posted: Mon Dec 31, 2018 7:36 pm
by Chucky
jmh wrote:
Mon Dec 31, 2018 5:27 pm
I have found the method that increases character experience in CharacterStatus:AddExp(addvalue:int):System.Int32 using the Mono dissector. When I execute that method on an instance of the class it increases experience as expected.

CharacterStatus:AddExp+5a F3 0F10 0D CE000000 movss xmm1,[CharacterStatus:AddExp+130]
CharacterStatus:AddExp+62 F3 0F 5A C9 cvtss2sd xmm1,xmm1
CharacterStatus:AddExp+66 F2 0F 59 C1 mulsd xmm0,xmm1


The value at [CharacterStatus:AddExp+130] is already a multiplier to the added experience (I got an address reference to it and changed it manually to test). It should be simple to create a script that changes the value at that address, but as this is my first time attempting a script, I don't know how to do it.

Thank you,
In your script:

Code: Select all

alloc(Mymultiplier ,8)

Mymultiplier :
dd (float)100 //or whatever

movss xmm1,[Mymultiplier]
cvtss2sd xmm1,xmm1
mulsd xmm0,xmm1