Posted: Sat Nov 29, 2025 4:35 pm Post subject: CODE HELP
So I'm extremely new to cheat engine and trying to self teach myself I guess. I've watched a youtube video or 2 but they don't do much to help me in this situation.
So I coded this here:
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,"MHUR.exe"+3922A5D)
label(returnhere)
label(originalcode)
label(exit fov minfov maxfov)
registersymbol(fov minfov maxfov)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"MHUR.exe"+3922A5D:
db F3 0F 11 41 14
//movss [rcx+14],xmm0
I found an FOV value in a game called My Hero Ultra Rumble and have since been trying to figure out how to increase my Field of View in the game without it glitching out my screen and turning it black. If I just simply change the FOV value, the second my FOV changes the screen glitches out. I've been trying to make it so the game can change FOV values without everything going to shit but I haven't been able to figure it out. Any tips or pointers?[/code]
comiss and similar instructions set the ZF and CF flags according to the result of the comparison. The OF and SF flags are always set to 0. Use above / below mnemonics instead of greater / less: i.e. `jb` instead of `jl` and `ja` instead of `jg`
What's stored in xmm0 before the injection point? If the original code `movss xmm0,[rcx+14]` is what initializes xmm0, then ordering the comparisons before that instruction effectively makes them read uninitialized memory, meaning they're useless at best.
Try right clicking the original instruction in the disassembler (top half of memory view) and see what other addresses that instruction accesses. Maybe you're changing more than you want.
Or maybe other instructions access that address and it would be better to change the value at [rcx+14] instead of just the value being read from it. _________________
I don't know where I'm going, but I'll figure it out when I get there.
comiss and similar instructions set the ZF and CF flags according to the result of the comparison. The OF and SF flags are always set to 0. Use above / below mnemonics instead of greater / less: i.e. `jb` instead of `jl` and `ja` instead of `jg`
What's stored in xmm0 before the injection point? If the original code `movss xmm0,[rcx+14]` is what initializes xmm0, then ordering the comparisons before that instruction effectively makes them read uninitialized memory, meaning they're useless at best.
Try right clicking the original instruction in the disassembler (top half of memory view) and see what other addresses that instruction accesses. Maybe you're changing more than you want.
Or maybe other instructions access that address and it would be better to change the value at [rcx+14] instead of just the value being read from it.
I'm not really sure what is stored in "xmm0" before the injection point but I'm pretty sure it's just the float value of 80, which is the fov. The code in exit was actually in original code section.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum