Inf. Health: How to deal with obscan that requires you to get damaged first before being able to scan it?

Memory scanning, code injection, debugger internals and other gamemodding related discussion
Post Reply
mdnpascual
Noobzor
Noobzor
Posts: 10
Joined: Mon Jan 22, 2018 11:27 am
Reputation: 0

Inf. Health: How to deal with obscan that requires you to get damaged first before being able to scan it?

Post by mdnpascual » Tue Mar 13, 2018 5:17 pm

So I already done found the function that decreases the health value after you get damaged.

Unfortunately, the cheat table won't activate at fresh boot of the game because the function that decreases health can only be aobscanned once you get damaged.

How do you deal with this?

User avatar
FreeER
RCE Fanatics
RCE Fanatics
Posts: 142
Joined: Fri Mar 10, 2017 7:11 pm
Reputation: 12
Contact:

Re: Inf. Health: How to deal with obscan that requires you to get damaged first before being able to scan it?

Post by FreeER » Wed Mar 14, 2018 2:54 pm

if it's mono you might be able to get CE to jit it for you just by referencing the function (generally seen that done by enabling mono and using assert), though in that case you don't really need an AOBscan.

There's also a program called ngen that someone in Cheat The Game shared some info on, it allows you to pre-JIT the executable: https://www.onenote.com/webapp/pages?to ... 6275934909

It may or may not be very useful with tables/trainers since you'd have to distribute the binary and hope it worked for everyone or distribute ngen and run it on their executable and hope the same asm code is generated.

I'm not currently aware of anything else...

User avatar
SunBeam
Trouble Makers
Trouble Makers
Posts: 1649
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 289

Re: Inf. Health: How to deal with obscan that requires you to get damaged first before being able to scan it?

Post by SunBeam » Fri Mar 16, 2018 2:58 pm

It's either Unity or a .NET game. It's like the only scenario for games to hit functions on conditions.

squall0833
Expert Cheater
Expert Cheater
Posts: 100
Joined: Sat Mar 04, 2017 1:46 pm
Reputation: 22

Inf. Health: How to deal with obscan that requires you to get damaged first before being able to sca

Post by squall0833 » Mon May 14, 2018 9:32 pm

Recently there's a game I made the cheats is like that, opcode only can be aobscanned when u need to do or reach at some point in game for that opcode available to be scanned



In the end, i can only put notes on the cheat options to tell users what to do before activating the cheats



It would be great if there's a way for this kind of game.

DrummerIX
RCE Fanatics
RCE Fanatics
Posts: 1145
Joined: Wed Mar 22, 2017 6:15 pm
Reputation: 737

Inf. Health: How to deal with obscan that requires you to get damaged first before being able to sca

Post by DrummerIX » Mon May 14, 2018 9:43 pm

You can use a lua command to compile. Example from Pillars of Eternity 2 I've used:



{$lua}

LaunchMonoDataCollector()



mono_compile_method(mono_getJitInfo(getAddress('Game.UI:UICurrencyLabel:Update')).method)

mono_compile_method(mono_getJitInfo(getAddress('Game.UI:UICharacterCreationManager:GetRemainingAttributePoints')).method)

mono_compile_method(mono_getJitInfo(getAddress('Game.UI:UICharacterExperienceSliderGetter:NotifySelectionChanged')).method)

mono_compile_method(mono_getJitInfo(getAddress('Game:GlobalAchievementTracker:GetTotalNewGameBonusPoints')).method)

mono_compile_method(mono_getJitInfo(getAddress('Game:CharacterStats:CalculateAttribute')).method)

{$asm}



Just change the name of the function you want to compile.

User avatar
TheyCallMeTim13
Administration
Administration
Posts: 1178
Joined: Fri Mar 03, 2017 12:31 am
Reputation: 231
Contact:

Inf. Health: How to deal with obscan that requires you to get damaged first before being able to sca

Post by TheyCallMeTim13 » Mon May 14, 2018 10:11 pm

[URL='https://wiki.cheatengine.org/index.php?title=Tutorial:Mono:Basic#Scripted_JITting'][U]https://wiki.cheatengine.org/index.php?title=Tutorial:Mono:Basic#Scripted_JITting[/U][/URL]



Some times the address won't exist yet, so use [U][URL='https://wiki.cheatengine.org/index.php?title=Mono:Lua:mono_findMethod']mono_findMethod[/URL],[/U] if need be.
Last edited by TheyCallMeTim13 on Thu Jan 01, 1970 12:00 am, edited 1 time in total.

Post Reply

Who is online

Users browsing this forum: Eternallydissolved