I'm here again...
Someone told me to practice with an old version of Candy Crush because this would be "easy"...
I thought this function is hackable:
I did this:
; _DWORD __fastcall CSaveData::SetNumLives(CSaveData *__hidden this, int)
EXPORT _ZN9CSaveData11SetNumLivesEi
_ZN9CSaveData11SetNumLivesEi
STMFD SP!, {R4-R6,LR}
MOV R4, R0
LDR R6, [R0,#0x29C] --> LDR R6 [R7,#0x29C]
MOV R5, R1
BL _ZN9CSaveData14GetNumMaxLivesEv ; CSaveData::GetNumMaxLives(void)
CMP R6, R0
BLT loc_F4DC0
loc_F4DC0
STR R5, [R4,#0x29C] --> STR R7, [R4,#0x29C]
LDMFD SP!, {R4-R6,PC}
; End of function CSaveData::SetNumLives(int)
I though this would be it because the LDR function tells #0x29C and so does the STR function.
Results: after playing one level it gave me a negative number of lives...
any help?