Jump to content

14 posts in this topic

Recommended Posts

Posted

Oops, actually, it doesn't work at all :( I turn it on, and nothing changed in-game. I turn it off, still nothing. It doesn't look like it's doing anything at all.

 

 

 

#import <writeData.h>
#import <Foundation/Foundation.h>
#define PLIST_PATH @"/var/mobile/Library/Preferences/com.javitech.bravefrontiercheats1.2.2-4.plist"

inline bool GetPrefBool (NSString *key)
{
return [[[NSDictionary dictionaryWithContentsOfFile:PLIST_PATH] valueForKey:key] boolValue];
}

%ctor{
if(GetPrefBool(@"kHealth"))
{
writeData(0x3E14E0, 0x00207047);
} else {
writeData(0x3E14E0, 0x90B50446);
}
if(GetPrefBool(@"kBraveBurst"))
{
writeData(0x3D01E0, 0x64207047);
} else {
writeData(0x3D01E0, 0xC16D90F9);
}
if(GetPrefBool(@"kCost"))
{
writeData(0x5CB85C, 0xFF207047);
} else {
writeData(0x5CB85C, 0x806F7047);
}
if(GetPrefBool(@"kHonorPoints"))
{
writeData(0xB99820, 0x64207047);
} else {
writeData(0xB99820, 0xC16C90F9);
}
if(GetPrefBool(@"kItems"))
{
writeData(0x368842, 0x6320);
} else {
writeData(0x368842, 0x2046);
}
if(GetPrefBool(@"kArena"))
{
writeData(0x84ED12, 0x52);
} else {
writeData(0x84ED12, 0x34);
}
if(GetPrefBool(@"kVArena"))
{
writeData(0x24F82E, 0xF6);
} else {
writeData(0x24F82E, 0xD8);
}
if(GetPrefBool(@"kMonsterBraveBurst"))
{
writeData(0x3DC508, 0x00);
} else {
writeData(0x3DC508, 0x01);
}
if(GetPrefBool(@"kKeys"))
{
writeData(0x47F002, 0x012090BD);
} else {
writeData(0x47F002, 0x044601AF);
}
if(GetPrefBool(@"kMonsterHP"))
{
writeData(0x3DBA08, 0x01207047);
} else {
writeData(0x3DBA08, 0xD0F74EBE);
}
}

Posted

So it becomes like this:

 

 

 

#import <Foundation/Foundation.h>
#import "writeData.h"

%ctor{
dict = [NSDictionary dictionaryWithContentsOfFile:@"/var/mobile/Library/Preferences/com.javitech.bravefrontiercheats1.2.2-4.plist"];
if(GetPrefBool(@"Key1"))
{
writeData(0x3E14E0, 0x00207047);
}else
{
writeData(0x3E14E0, 0x90B50446);
}

if(GetPrefBool(@"Key2"))
{
writeData(0x3D01E0, 0x64207047);
}else
{
writeData(0x3D01E0, 0xC16D90F9);
}

if(GetPrefBool(@"Key3"))
{
writeData(0x5CB85C, 0xFF207047);
}else
{
writeData(0x5CB85C, 0x806F7047);
}

if(GetPrefBool(@"Key4"))
{
writeData(0x36B8F0, 0xFF20FF23);
writeData(0x36B8F4, 0x58437047);
}else
{
writeData(0x36B8F0, 0xD0E90801);
writeData(0x36B8F4, 0x401A7047);
}

if(GetPrefBool(@"Key5"))
{
writeData(0x36BB18, 0xFF20FF23);
writeData(0x36BB1C, 0x58437047);
}else
{
writeData(0x36BB18, 0xC169406A);
writeData(0x36BB1C, 0x081A7047);
}

if(GetPrefBool(@"Key6"))
{
writeData(0xB99820, 0x64207047);
}else
{
writeData(0xB99820, 0xC16C90F9);
}

if(GetPrefBool(@"Key7"))
{
writeData(0x368842, 0x6320);
}else
{
writeData(0x368842, 0x2046);
}

if(GetPrefBool(@"Key8"))
{
writeData(0xB99CAC, 0x01200000);
writeData(0xB99CBC, 0xFF200000);
}else
{
writeData(0xB99CAC, 0xD0F84C01);
writeData(0xB99CBC, 0xD0F85001);
}

if(GetPrefBool(@"Key9"))
{
writeData(0x7F0659, 0xE0);
writeData(0x7F84B2, 0x0000);
}else
{
writeData(0x7F0659, 0xD0);
writeData(0x7F84B2, 0x0FD1);
}

if(GetPrefBool(@"Key10"))
{
writeData(0x84ED12, 0x52);
}else
{
writeData(0x84ED12, 0x34);
}

if(GetPrefBool(@"Key11"))
{
writeData(0x24F82E, 0xF6);
}else
{
writeData(0x24F82E, 0xD8);
}

if(GetPrefBool(@"Key12"))
{
writeData(0xCEE64, 0x01207047);
writeData(0xCEEA8, 0x00207047);
}else
{
writeData(0xCEE64, 0xD0F89010);
writeData(0xCEEA8, 0xD0F89C10);
}

if(GetPrefBool(@"Key13"))
{
writeData(0x3DC508, 0x00);
}else
{
writeData(0x3DC508, 0x01);
}

if(GetPrefBool(@"Key14"))
{
writeData(0x7A5F7C, 0x01207047);
writeData(0x7A602C, 0x01207047);
writeData(0x7A60D0, 0x01207047);
writeData(0x7A6174, 0x01207047);
}else
{
writeData(0x7A5F7C, 0xF0B503AF);
writeData(0x7A602C, 0xF0B503AF);
writeData(0x7A60D0, 0xF0B503AF);
writeData(0x7A6174, 0xF0B503AF);
}

if(GetPrefBool(@"Key15"))
{
writeData(0x47F002, 0x012090BD);
}else
{
writeData(0x47F002, 0x044601AF);
}

if(GetPrefBool(@"Key16"))
{
writeData(0x3DBA08, 0x01207047);
}else
{
writeData(0x3DBA08, 0xD0F74EBE);
}

if(GetPrefBool(@"Key17"))
{
writeData(0x2EDB1C, 0x01);
}else
{
writeData(0x2EDB1C, 0x00);
}

if(GetPrefBool(@"Key18"))
{
writeData(0x3699C8, 0x00000000);
writeData(0x3699CC, 0x00000000);
writeData(0x3699D0, 0x0000);
writeData(0x37E1B4, 0x01493FF0);
writeData(0x37E1B8, 0x05FF2DE0);
writeData(0x37E1BC, 0xCD280000);
writeData(0x37E6A4, 0x01207047);
writeData(0x37EA7C, 0x01207047);
writeData(0x369B25, 0xE0);
writeData(0x369B4C, 0x0000);
}else
{
writeData(0x3699C8, 0xD0E90501);
writeData(0x3699CC, 0x814200F0);
writeData(0x3699D0, 0xBE80);
writeData(0x37E1B4, 0x01AE0C46);
writeData(0x37E1B8, 0x04F11401);
writeData(0x37E1BC, 0x05463046);
writeData(0x37E6A4, 0xF0B503AF);
writeData(0x37EA7C, 0xF0B503AF);
writeData(0x369B25, 0xD2);
writeData(0x369B4C, 0x86D3);
}

if(GetPrefBool(@"Key19"))
{
writeData(0x63969A, 0x00000000);
writeData(0x6D11A6, 0xC6F0F9F3);
writeData(0x6D11AA, 0x07A9C8F0);
writeData(0x6D11AE, 0xB6F21CE0);
}else
{
writeData(0x63969A, 0x60F13FF0);
writeData(0x6D11A6, 0x029807A9);
writeData(0x6D11AA, 0x07F77DFA);
writeData(0x6D11AE, 0x0799059D);
}

if(GetPrefBool(@"Key20"))
{
writeData(0xB9996C, 0x0220FA23);
writeData(0xB99970, 0x58437047);
}else
{
writeData(0xB9996C, 0xD0F8D410);
writeData(0xB99970, 0x90F9D800);
}

}

 

 

 

Going to try it... B)

 

So I have encountered the exact same issue, doing something similar to what Javi did here. The app crashes upon startup, which did not happen once I uninstalled the .deb, so the cause was isolated to the problematic deb itself. If it helps, I used the CSCI patcher template posted by DiDA here: http://iosgods.com/topic/2355-updatetemplate-custom-nic-code-injection-patcher-template/

I am especially interested in how those entries with multiple offset editing should be handled, as well as those with overly long hex edits requiring them to be split up to avoid errors during calculation arising from implicit conversion from long long to unsigned int. I feel that incorrect splitting as done above is at least part of the cause of the crash.

 

Is any kind soul willing to help? Thank you in advance!  :D

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...

Important Information

We would like to place cookies on your device to help make this website better. The website cannot give you the best user experience without cookies. You can accept or decline our cookies. You may also adjust your cookie settings. Privacy Policy - Guidelines