Jump to content

FE: Awakening Hacking Topic


VincentASM
 Share

Recommended Posts

This adds all skills to the entire current roster:

[spoiler=code]

C0000000 00000040
5134b818 00000000
5134b81c 00000000
5134b820 00000000
0134b810 ffffffff
d0000000 00000000
6134b81c ffffffff
0134b818 ffffffff
0134b81c ffffffff
0134b820 ffffffff
d0000000 00000000
5134b81c ffffffff
0134b81c 00000000
d0000000 00000000
DC000000 00000110
D2000000 00000000

for the mentally slow, would you kindly make versions of this that did things such as..

- All Support +

- All statcap +

- All Merchant class (or some other equally inaccessable class)

Link to comment
Share on other sites

  • Replies 877
  • Created
  • Last Reply

Top Posters In This Topic

It allows emunand support to the latest version. You still need the actual 3ds at 9.4 or lower though.

On a side note. My OTP. This persists as long as Josalyn is in the lead when the file is loaded.

Fyhayss.jpg

Edited by Jacien
Link to comment
Share on other sites

for the mentally slow, would you kindly make versions of this that did things such as..

- All Support +

- All statcap +

- All Merchant class (or some other equally inaccessable class)

So, the code you quoted is slightly bugged, there's a corrected one a few posts later.

I should probably update that post to say so.

As for the others....

It should be possible to max all available supports. Who a unit can support is listed in the static character data, which isn't saved if we edit it. Support levels are in the roster data, which is.

Stat caps appear to be computed and un-cached. IE. solely dictated by the parent's data in the static blocks. Maxing stats to their available cap is possible, of course.

The class pointers are volatile between copies/saves. They are pointers, after all. I could certainly make a code that copies the class from whoever is in position one (top of roster) to all other units. Be aware, there are unexpected results from this, and I haven't yet worked out all the info on it. Right now, I don't know how to make the unit sprite update (though the character model will update, sometimes hilariously). The units are functional, in that attacking/movement works correctly.

Link to comment
Share on other sites

for the mentally slow, would you kindly

Did you know?

Having a tone like that of entitlement will generally get a response of "do it yourself"?

Asking nicely without implication of entitlement will more likely get people to do what you ask.

Eh, I just assumed it was a poor Bioshock reference and ignored it.

If it was a reference, I apologize.

Edited by shadowofchaos
Link to comment
Share on other sites

Eh, I just assumed it was a poor Bioshock reference and ignored it.

I'm not sure on the support structure in the roster data. Previous posts suggest it's in the region between weapon ranks and hair RGBA,

but spamming 0xFF to that region....doesn't exactly do what I'd like.

Tried it on position one only (holding MU♀), all supports were listed at A/S and completed (and she somehow had Lissa listed as 'husband'),

except for with characters conversations were available with previously, which had all conversations available.

So, um. yeah. Though perhaps this is because I only changed the value on one side of the relationships?

But knowing how it stores which conversations you've seen yet would be good.

*shrug* working on it, anyway.

Edited by Rilne
Link to comment
Share on other sites

Eh, I just assumed it was a poor Bioshock reference and ignored it.

If it was a reference, I apologize to the poster.

But really, what am I supposed to think if I haven't played the game?

So, um. yeah. Though perhaps this is because I only changed the value on one side of the relationships?

But knowing how it stores which conversations you've seen yet would be good.

*shrug* working on it, anyway.

...wait, FeMU listing Lissa as Husband?

That means the actual character data is being modified as well... not just the support points the roster has.

Maybe the loop isn't terminating properly?

Because even if support points were at max (FF), theoretically, the character data SHOULD limit it to A. Because that's all the points it should recognize.

The "63" for the S rank flags it as "no support" for same gender "pointers".

Edited by shadowofchaos
Link to comment
Share on other sites

Wasn't using the search loop, was writing to spot based on fresh ram dump.

pics: (apologies for iffy quality, first time I was actually annoyed at having an SLR lens, min focus is still ~25cm)

DSC_0375.JPG

DSC_0376.JPG

The 'intended' (and already existing) pairing here is MU♀⨯Chrom, and Chrom/Morgan/Lucina all have that pairing correct.

Not sure what's going on with MU.

Code used was just:

c0000000 0000000F
0134B8BC FFFFFFFF
dc000000 00000004
d2000000 00000000

Where 134B800-134B8FF is the position one roster bloc.
For completeness sake, the RAM dump I took right before running the code:

block_1.png

Link to comment
Share on other sites

lol sorry bout the confusion, its a habbit now to ask would you kindly, since it appears to function quite well when making a request :P

i only ask because i cannot seem to create something that actually functions the way i wish it would

if i could i'd have a code that made all weapons 100% crit or 2000 durability or something

i had a thought, were we to lift the stat cap, and have 400 skill, we would effectively be able to activate any skill 100% of the time :D, twould be overkill in so many ways though

Link to comment
Share on other sites

The stat value (base stats + character level ups + pair up bonus + rallies) is capped at 127 because it's an 8-bit value and is signed.

Anything higher than 127, and it drops straight to negative numbers.

Sorry for taking your comment like that.

"For the mentally slow" kind of rubbed me the wrong way?

Edited by shadowofchaos
Link to comment
Share on other sites

@Rilne it looks like things are getting screwy with having all those characters at S-rank. It's pulling the first S-rank available for Female Avatar from the Character Table. Basically Lissa's Support info is first for Female Avatar (it goes all the females, then males). For Chrom, I believe it's the Avatar data first, then the males, then the female data. So that's why it seems right.

Welp, back to work.

Link to comment
Share on other sites

@Rilne it looks like things are getting screwy with having all those characters at S-rank. It's pulling the first S-rank available for Female Avatar from the Character Table. Basically Lissa's Support info is first for Female Avatar (it goes all the females, then males). For Chrom, I believe it's the Avatar data first, then the males, then the female data. So that's why it seems right.

That actually helps alot. Now just to figure out why it thinks all the conversations are already done.

Link to comment
Share on other sites

This adds all skills to the entire current roster:

This code is slightly bugged, see a few posts later for a fixed/upgraded version.

[spoiler=code]

C0000000 00000040
5134b818 00000000
5134b81c 00000000
5134b820 00000000
0134b810 ffffffff
d0000000 00000000
6134b81c ffffffff
0134b818 ffffffff
0134b81c ffffffff
0134b820 ffffffff
d0000000 00000000
5134b81c ffffffff
0134b81c 00000000
d0000000 00000000
DC000000 00000110
D2000000 00000000

There's a stupid trick in there to skip blocks that don't appear to be player-characters (if a block has NO skills, it gets skipped).

It loops over 0x40 blocks, which generally should be your entire roster.

Outline of code if someone needs to modify the offsets/use it as a framework for doing something to all roster blocks:

[spoiler=pseudocode]

outer loop, 0x110 stride

check skill block at 0134b928 == 0

check skill block at 0134b92c == 0

check skill block at 0134b930 == 0

write flag

pop (D0)

check flag != ffffffff

write skill blocks

pop (D0)

check flag == ffffffff

clear flag

end (D2)

Also trying to overwrite the class pointer block in the roster table, but it doesn't seem to be taking.

I have succesfully forced MU♀, Lucina and Morgan♂ into manakete class, In the sense that they can attack properly.

The sprites do not update for some reason, that may be cached somewhere else.

Also, the results are fairly hilarious (it defaults to Nowi's torso model for any manakete except Nah, which is interesting as well).

I'll try to get some pictures up.

Hello I have to ask how do you get this code to work? I can't get it to work for some reason is this code for NTSC-U or PAL Copies of the game plus is there DLC data or no DLC data or SpotPass data or no SpotPass data or Both DLC + SpotPass data? I really want all the skills for every character. Can you please help me out? Thanks!

Link to comment
Share on other sites

hello..
its been a while since i visit this thread.. and after yesterday struggling trying to downgrade my firmware from 9.5-023 back to use the browser exploit,
finally i gave my MU a galeforce skill. yay !!!
erm.. first of all, i wanna say thank you to VincentASM who made a good tutorial for us.
it really help me a lot. thank you very much..

secondly.. um could i ask a few question?

1. can i say, change some of the character name permanently through game?

for example, i wanna change back Panne's name back to Velvet (as the japanese one)

its just my personal taste, but i think velvet sounds more cute than Panne.
can it be done by the hack? if it can be done.. um could anyone provide a tutorial or a hint maybe, on how to do it?

2. if i wanna make, for example sniper/ gryphon knight who can wield sword can it be done? if it possible, may i ask what should i change?

3. haircolor change.. i seen few post of hair editing.. but once again, may i ask for a tutorial or an example perhaps?

well that's all i wanna ask..for now.
i hope someone could help me, and thanks a lot before..
regards.

Edited by SilverRegret
Link to comment
Share on other sites

Hello I have to ask how do you get this code to work? I can't get it to work for some reason is this code for NTSC-U or PAL Copies of the game plus is there DLC data or no DLC data or SpotPass data or no SpotPass data or Both DLC + SpotPass data? I really want all the skills for every character. Can you please help me out? Thanks!

So, this is probably one of those "everyone in the thread assumes it's common knowledge but it's not really obvious if you just joined us" things,

but try:

  1. Enter challenge map
  2. Save at preparations screen
  3. Reset 3DS or close software
  4. Start FE:A back up again and load
  5. Run code

That should force your roster into the region where the code searches for it.

And again, use the code that's a couple of posts later, it doesn't care what version/dlc combo you have and searches for the right spot.

If that still doesn't work, zip up your memory dump and send me a link (it compresses well, 128m => ~17m).

1. can i say, change some of the character name permanently through game?

for example, i wanna change back Panne's name back to Velvet (as the japanese one)

its just my personal taste, but i think velvet sounds more cute than Panne.

can it be done by the hack? if it can be done.. um could anyone provide a tutorial or a hint maybe, on how to do it?

2. if i wanna make, for example sniper/ gryphon knight who can wield sword can it be done? if it possible, may i ask what should i change?

3. haircolor change.. i seen few post of hair editing.. but once again, may i ask for a tutorial or an example perhaps?

I'm not sure on (1). I suspect character names for everyone but MU are in the static data, which you can't change permanently (MU's name is probably in the logbook pointer). You can run a code every time you start the game to change the name, and it would stick until you turned it off. Other folks know the static data better than I do, I've been concentrating on the roster data.

(2) is gonna be in some static block, can probably find it by following a class pointer from the roster data. Same deal as above, you'd have to re-run it every time you start the game.

(3) is easy. Hair color is the last 4 bytes of each character block in the roster.

So, it's <your roster start offset> + 0xFC, and it's RGBA.

If you're using a type 0 code to change it, you'll need to do: 0XXXXXXX AABBGGRR because of endian-ness issues.

Alpha should always be FF, or it will look silly.

One last note on hair colors: The only character in the adult generation whose hair will actually change is MU.

Everyone in the child generation BUT Lucina can be changed as well.

Link to comment
Share on other sites

Apologies for double post, but I do want this to be separate from my answers above.

Is there a way to dump a screenshot to SDcard with the spider exploit?

The 'official' screenshot method is a PitA, among other things, not to mention seems to compress the file unnecessarily.

The 3DS seems to save the screen buffer for at least the top screen when suspending (to use as the 'suspended in background' thing),

It would be nice to dump that (and bottom if possible) to a bitmap.

Link to comment
Share on other sites

Hummm so i was thinking, parents give their kids stat modifiers, and it seems like if u pair with one of the offspring, like say Lucina, your morgan would have stat modifiers from the grandparents+parents..... does this mean that grandparents are also recorded?

also, with heritage, your allowed a larger class range, such as becoming a taguel.... could we also find where the class range is kept? i would certainly like to add Bikini, Grima and Merchant to possible class changes.... you know, without having to edit each one individually

Link to comment
Share on other sites

Morgan is the only one who can possibly have grandparents in a standard game.

Likely there's some extra logic for checking if Morgan's non-MU parent is in the child generation, and following their parent pointer if so.

This may or may not be triggered if you created such a structure for another character,

and I highly doubt a deeper structure of any sort would be correctly processed.

Class ranges and stat caps for children seem to be computed on-the-fly and not stored anywhere.

IE. when you use a master/second seal, it computes the available classes then and displays the list.

That would give us a few ways to expand the class list, but none that would persist on save.

  • Give all classes to all static character blocks (this depends highly on the structure of those blocks)
  • Alter the list after using a seal but before choosing to make all classes available
  • Make MU everyone's parent
    (this actually would persist, but wouldn't distribute tanguel/manakete to anyone who didn't have it before).

Aside from merchant, most of the inaccessible classes you list are likely map-specific.

At this time it would not be possible to switch to them anywhere but the map they're loaded on.

Link to comment
Share on other sites

Also, Supports between parents/siblings unlocked by the Parent Pointer. It can even give supports to siblings that wouldn't normally have supports (Male Morgan and Female Morgan as siblings to the same parent).

Regarding the Manakete/Taguel thing, is the class/weakness trait only added in when Morgan is generated (on chapter loading) when linked to the proper parent? I wanna try playing with that.

Link to comment
Share on other sites

Hello Rilne,

I still couldn't get the code working I tried 10 different times 5 Times Resetting 3DS and Closing out on Fire Emblem Awakening and no results the only result I got was Fredrick's Sprite is now blanking for some odd reason. I will give you the dump file. FCRAM.bin dumped on my preperations screen if that does help also my Region is NTSC-U No SpotPass or DLC Data. Here is the link: http://s000.tinyupload.com/index.php?file_id=16395530182305260496

Also can I suggest a Video Tutorials in the near future to make things alot easier if it's possible?

Edited by ErikH526
Link to comment
Share on other sites

Right, found the issue. I had made an assumption that wasn't right.

Since all the block-start offsets I'd found and seen listed in the thread were 0x10 aligned,

I thought to speed up the search loop by only checking multiples of 0x10.

Your offset is at 0x13D0228 in this dump, which is not on that alignment.

Here it is adjusted to use the shortest stride I know can work (0x4).

[spoiler=adjusted general code]

D3000000 01330000
C0000000 00180000
50000000 00000110
50000004 000000C8
50000008 00000000
5000000C 00000000
C0000000 00000000
D0000000 00000000
DC000000 00000004
D1000000 00000000
C0000000 00000040
50000018 00000000
5000001C 00000000
50000020 00000000
00000010 FFFFFFFF
D0000000 00000000
60000010 FFFFFFFF
00000018 FFFFFFFF
0000001C FFFFFFFF
00000020 FFFFFFFF
D0000000 00000000
50000010 FFFFFFFF
00000010 00000000
D0000000 00000000
DC000000 00000110
D2000000 00000000

Or, since I now know your specific offset:
[spoiler=just for you]
D3000000 013D0228
C0000000 00000040
50000018 00000000
5000001C 00000000
50000020 00000000
00000010 FFFFFFFF
D0000000 00000000
60000010 FFFFFFFF
00000018 FFFFFFFF
0000001C FFFFFFFF
00000020 FFFFFFFF
D0000000 00000000
50000010 FFFFFFFF
00000010 00000000
D0000000 00000000
DC000000 00000110
D2000000 00000000

Since offsets after save/reload-at-prep-screen seem to be consistent for a single save slot (so long as the dlc/spotpass doesn't change),
that one should be much faster to complete, and reusable as you recruit more characters.
I'm not big on video tutorials, and don't really have the setup to make them easily.
Sorry about that.
Link to comment
Share on other sites

Morgan is the only one who can possibly have grandparents in a standard game.

Likely there's some extra logic for checking if Morgan's non-MU parent is in the child generation, and following their parent pointer if so.

This may or may not be triggered if you created such a structure for another character,

and I highly doubt a deeper structure of any sort would be correctly processed.

Class ranges and stat caps for children seem to be computed on-the-fly and not stored anywhere.

IE. when you use a master/second seal, it computes the available classes then and displays the list.

That would give us a few ways to expand the class list, but none that would persist on save.

  • Give all classes to all static character blocks (this depends highly on the structure of those blocks)
  • Alter the list after using a seal but before choosing to make all classes available
  • Make MU everyone's parent

    (this actually would persist, but wouldn't distribute tanguel/manakete to anyone who didn't have it before).

Aside from merchant, most of the inaccessible classes you list are likely map-specific.

At this time it would not be possible to switch to them anywhere but the map they're loaded on.

i need that code, like NAO! lol

so ur saying grandparents arent listed at all? so strange..... i just want to manaketanguel everyone lol

question, if u were to make an "Everyone is ____ class" code and turn everyone into an otherwise unobtainable class... could they still get reclassed to a normal class should you choose?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...