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: 7
Joined: Mon Jan 22, 2018 11:27 am
Reputation: 2

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

Post by mdnpascual »

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
Expert Cheater
Expert Cheater
Posts: 116
Joined: Fri Mar 10, 2017 7:11 pm
Reputation: 31

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

Post by FreeER »

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: [Link]

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
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

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

Post by SunBeam »

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

squall0833
Table Makers
Table Makers
Posts: 198
Joined: Sat Mar 04, 2017 1:46 pm
Reputation: 83

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

Post by squall0833 »

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
ViP
ViP
Posts: 3227
Joined: Wed Mar 22, 2017 6:15 pm
Reputation: 3740

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

Post by DrummerIX »

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.

TimFun13
Expert Cheater
Expert Cheater
Posts: 1353
Joined: Fri Mar 03, 2017 12:31 am
Reputation: 7

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

Post by TimFun13 »

[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 TimFun13 on Thu Jan 01, 1970 12:00 am, edited 1 time in total.

Post Reply

Who is online

Users browsing this forum: No registered users