As far as I know, those are just a way to not allow directly modify values using like memory tools. They just use custom functions instead for data types
You cannot disable them but you can still return custom value regardless
What you could try to do is for example: ObscuredInt
find the class or struct of ObscuredInt and locate the .ctor method
private void .ctor(int value) { }
then pass your own "value" there and return it (assuming it's a getter type function)
for example for functions like : ObscuredInt getCoins()
if it's setCoins(ObscuredInt val) then you can just pass the .ctor function as the parameter
If this doesn't work ( I haven't tested ), you could try to find a function within the ObscuredInt class/struct then locate a function that passes normal int then returns ObscuredInt
public static ObscuredInt op_Implicit(int value) { }
you still will call this function, pass ur value and get the obscuredint as result
but most probably this method will not return the value you input, cos the ObscuredInt struct has additional fields it uses to create the custom int value