Jump to content
VincentASM

FE: Awakening ROM decrypted and extracted

Recommended Posts

Useful links

Original Post

Thanks to a kind individual at GBATemp, I've managed to decrypt and extract the entire Awakening ROM.

First pic

Unfortunately it's past midnight and I need my sleep, so I can't do any data-mining today (and I'm also busy tomorrow with Pokemon).

At the moment, a lot of files look like random numbers to me. It could be my lack of sleep or the files are compressed (these files have .lz at the end, which I'm assuming is related to LZSS compression).

If anyone's interested in digging through the data, I can upload files.

Edited by VincentASM

Share this post


Link to post
Share on other sites

But I want the Japanese version.

*Raising hand*

Beggars can't be choosers XD

Here are all the files in the "data" directory (not including the sub-directories): Download

EDIT

Wahaha, figured out the compression type. Will explain tomorrow. Night night!

It's Type 11, I believe.

EDIT2

Doh, I should have started here. The text files don't even try to hide the compression format.

A text file (note: may appear as garbled symbols, but it's supposed to be all in English)

Edited by VincentASM

Share this post


Link to post
Share on other sites

This gives me an excellent reason to get off my tush and figure out what the hell all this means so I can give a helping hand.

Share this post


Link to post
Share on other sites

*Looks through list of text labels*

*Sees "CipherData"*

...

S***, I think growth rates are ciphered like in FE12.

I've found the class data and growths are ciphered. Haven't found character data yet, but I'm not holding out much hope it'll be useful...

EDIT

Block of class data

Blue box has the max stats, I'm assuming. Red boxes are the growths and they don't look very nice (exactly like something out of FE12).

Edited by VincentASM

Share this post


Link to post
Share on other sites

So no stupid cipher is going to stop me... kind of. I tried my best.

Used the old-fashion way of breaking the cipher like in FE12, by subtracting the second "null" set of growth rates from the first set.

You can't do this with class growth rates. Yet.

I get this:

PLAYER	2	2	209	209	209	235	61	221
PLAYER	2	2	209	209	209	235	61	221
CHROM	145	2	223	2	2	247	209	221
LISSA	209	158	209	61	209	215	187	209
FRED	240	2	223	2	209	2	2	221
VIRION	209	2	61	2	145	2	158	158
SULLY	2	209	221	2	2	240	209	221
VAIKE	240	218	223	145	209	145	2	105
STAHL	218	145	223	209	61	218	218	223
MIRIEL	209	187	2	2	2	218	221	61
KELLAM	218	2	187	2	209	209	235	61
SUMIA	209	61	221	145	145	240	158	61
LON'QU	2	209	221	218	218	235	158	221
RICKEN	218	221	209	61	61	215	61	158
MARIBE	61	221	2	2	61	194	223	2
PANNE	240	145	187	218	235	2	2	187
GAIUS	218	145	187	145	145	209	158	187
CORDEL	218	145	187	209	209	145	2	158
GREGOR	240	2	223	2	61	145	2	223
NOWI	247	145	209	61	61	215	218	209
LIBRA	145	158	209	145	209	145	158	61
THARJA	2	158	145	158	145	2	209	221
OLIVIA	2	209	158	145	145	240	221	221
CHERCHE	235	2	221	2	209	218	145	223
HENRY	145	209	209	145	2	2	2	221
LUCINA	145	209	221	145	145	194	158	158
SAY'RI	218	209	221	2	2	145	209	61
BASILIO	215	145	223	2	244	145	2	187
FLAVIA	218	209	221	145	180	235	61	158
DONNEL	218	145	187	2	145	194	209	187
ANNA	145	61	61	209	209	194	61	61
OWAIN	145	2	61	145	209	218	61	61
INIGO	218	209	187	209	145	215	61	221
BRADY	235	61	2	158	61	240	61	61
KJELLE	2	209	158	2	145	235	2	221
CYNTHIA	145	209	221	158	145	247	61	61
SEVERA	145	2	223	145	209	209	2	61
GEROME	215	218	187	2	2	61	2	223
MORGAN	209	209	2	2	2	218	158	158
MORGAN	209	209	2	2	2	218	158	158
YARNE	247	218	223	145	2	240	145	223
LAURENT	145	221	2	2	61	218	158	209
NOIRE	61	145	2	209	218	2	61	2
NAH	247	209	209	145	209	247	145	2
TIKI	194	2	2	244	96	194	145	145
GANGREL	2	197	0	218	218	61	61	61
WALHART	9	240	223	61	61	145	145	158
EMMERYN	145	223	235	2	2	247	158	209
YEN'FAY	240	145	223	145	218	240	61	221
AVERSA	145	158	145	209	2	215	61	61
PRIAM	194	240	223	2	61	218	2	223
MARTH 	145	2	221	145	145	194	209	158

Which if you fit with our current growth model (taken from the guidebooks) gives...

PLAYER	40	40	35	35	35	55	30	20
PLAYER	40	40	35	35	35	55	30	20
CHROM	45	40	10	40	40	70	35	20
LISSA	35	25	35	30	35	65	15	35
FRED	60	40	10	40	35	40	40	20
VIRION	35	40	30	40	45	40	25	25
SULLY	40	35	20	40	40	60	35	20
VAIKE	60	50	10	45	35	45	40	[0]
STAHL	50	45	10	35	30	50	50	10
MIRIEL	35	15	40	40	40	50	20	30
KELLAM	50	40	15	40	35	35	55	30
SUMIA	35	30	20	45	45	60	25	30
LON'QU	40	35	20	50	50	55	25	20
RICKEN	50	20	35	30	30	65	30	25
MARIBE	30	20	40	40	30	[3]	10	40
PANNE	60	45	15	50	55	40	40	15
GAIUS	50	45	15	45	45	35	25	15
CORDEL	50	45	15	35	35	45	40	25
GREGOR	60	40	10	40	30	45	40	10
NOWI	70	45	35	30	30	65	50	35
LIBRA	45	25	35	45	35	45	25	30
THARJA	40	25	45	25	45	40	35	20
OLIVIA	40	35	25	45	45	60	20	20
CHERCHE	55	40	20	40	35	50	45	10
HENRY	45	35	35	45	40	40	40	20
LUCINA	45	35	20	45	45	[3]	25	25
SAY'RI	50	35	20	40	40	45	35	30
BASILIO	65	45	10	40	[2]	45	40	15
FLAVIA	50	35	20	45	[1]	55	30	25
DONNEL	50	45	15	40	45	[3]	35	15
ANNA	45	30	30	35	35	[3]	30	30
OWAIN	45	40	30	45	35	50	30	30
INIGO	50	35	15	35	45	65	30	20
BRADY	55	30	40	25	30	60	30	30
KJELLE	40	35	25	40	45	55	40	20
CYNTHIA	45	35	20	25	45	70	30	30
SEVERA	45	40	10	45	35	35	40	30
GEROME	65	50	15	40	40	30	40	10
MORGAN	35	35	40	40	40	50	25	25
MORGAN	35	35	40	40	40	50	25	25
YARNE	70	50	10	45	40	60	45	10
LAURENT	45	20	40	40	30	50	25	35
NOIRE	30	45	40	35	50	40	30	40
NAH	70	35	35	45	35	70	45	40
TIKI	[3]	40	40	[2]	[7]	[3]	45	45
GANGREL	40	[4]	[6]	50	50	30	30	30
WALHART	[5]	60	10	30	30	45	45	25
EMMERYN	45	10	55	40	40	70	25	35
YEN'FAY	60	45	10	45	50	60	30	20
AVERSA	45	25	45	35	40	65	30	30
PRIAM	[3]	60	10	40	30	50	40	10
MARTH 	45	40	20	45	45	[3]	35	25

Pretty sure I made no mistakes, except maybe copy and paste ones.

So we finally get growths for Priam, plus more solid numbers for the SpotPass dudes. Unfortunately some numbers are too extreme, so I left them still enciphered (these are the ones in square brackets). Poor Tiki has a lot of unknown numbers; are they values not divisible by 5?!

Fun fact: Taguel are labelled as "Laguz".

Fun fact 2: They refer to the game as "14Iron" in the sound directory.

Fe is the chemical symbol for Iron and Awakening is apparently the 14th game (if you count BSFE as number 4).

Fun fact 3: Lucina is labelled as "Marth" and Marth is "Old/Past Marth" LOL

I'll stop now.

Edited by VincentASM

Share this post


Link to post
Share on other sites

Fun fact: Taguel are labelled as "Laguz".

Fun fact 2: They refer to the game as "14Iron" in the sound directory.

Fe is the chemical symbol for Iron and Awakening is apparently the 14th game (if you count BSFE as number 4).

Fun fact 3: Lucina is labelled as "Marth" and Marth is "Old/Past Marth" LOL

I'll stop now.

No harm in having fun with it.

I think it'll be a lot more fun once we actually are able to test any of these.

There's no current publicly released way to run modified decrypted ROMs yet... at least a user friendly one.

I recall there have been people on GBATemp who've modified ROMs and took pictures of it running.

Too bad so far it's 4.5 firmware flashcarts only.

Share this post


Link to post
Share on other sites

Yeah, there's that too. I assume repacking is coming sooner rather than later thanks to Smash and Pokemon. Maybe?

But you know me, I just like ripping things apart, nevermind putting them back together again!

A few more minor discoveries...

1. There is partial data for the DLC on the American ROM. Mostly just the dialogue though.

2. There are some unused names between the playable characters: Leopold, Tracy and Andrea.

3. I think I found the data that determines a SpotPass unit's Gender/Asset/Flaw.

Also got a good feeling that deciphering the class growths will be possible, but it will probably be extremely tedious. I will likely have to create my own null set of growths by predicting the pattern. Not fun stuff, I'd imagine...

EDIT

Oops, forgot to explain the compression technique. If you see a file with .lz at the end, open it up in a hex editor. If the starting byte is 11, it's standard LZ77 Type 11 compression, which many programs can handle.

If the starting byte is 13 or something, but the 5th byte is 11, trim the first 4 bytes, then decompress it via Type 11. I assume the first 4 bytes are important, but not right now : P

Edited by VincentASM

Share this post


Link to post
Share on other sites

If the starting byte is 13 or something, but the 5th byte is 11, trim the first 4 bytes, then decompress it via Type 11. I assume the first 4 bytes are important, but not right now : P

SOMEONE is really having fun. I thought you were busy today.

Just like how you were supposed to be busy today, I'm at work, so I can't really pick it apart with you.

Share this post


Link to post
Share on other sites

In GameData.bin, item data starts at ~ $3A350; that's about the start of the data for the Bronze Sword anyway. Each entry is 0x38 bytes long.

$3A366 has the Bronze Sword's value per use; 3A36C looks like the weapon rank.

$3A36F has its number of uses.

$3A370-74 has the Bronze Sword's Mt, Hit and Crit, Min range and Max range.

Edited by Vennobennu

Share this post


Link to post
Share on other sites

Yeah, there's that too. I assume repacking is coming sooner rather than later thanks to Smash and Pokemon. Maybe?

But you know me, I just like ripping things apart, nevermind putting them back together again!

A few more minor discoveries...

1. There is partial data for the DLC on the American ROM. Mostly just the dialogue though.

2. There are some unused names between the playable characters: Leopold, Tracy and Andrea.

3. I think I found the data that determines a SpotPass unit's Gender/Asset/Flaw.

Also got a good feeling that deciphering the class growths will be possible, but it will probably be extremely tedious. I will likely have to create my own null set of growths by predicting the pattern. Not fun stuff, I'd imagine...

EDIT

Oops, forgot to explain the compression technique. If you see a file with .lz at the end, open it up in a hex editor. If the starting byte is 11, it's standard LZ77 Type 11 compression, which many programs can handle.

If the starting byte is 13 or something, but the 5th byte is 11, trim the first 4 bytes, then decompress it via Type 11. I assume the first 4 bytes are important, but not right now : P

Is this the English? I wanna see the original nonlocalized names for Leopold and Tracy and Andrea

Share this post


Link to post
Share on other sites

Yup!

Ask and ye shall receive.

レオパルド (between Cordelia and Nowi)

トレイシー (between Henry and Lucina)

アンドレア (between Priam and Emmeryn)

Funny how NOA translated them too, but they have to do it .

When I have more time I'll upload more samples. Graphics, sound, etc. Those files aren't really my specialty, but maybe somebody out there knows something.

Share this post


Link to post
Share on other sites

Class growth data can be deciphered. I was stuck for a bit, until I realised the cipher is different to the character one. It's also much easier to predict.

First set of generic growths! These are probably used for auto-levelling.

LORD M	247	2	0	61	61	2	158	221
LORD F	180	61	0	2	2	2	221	158
I will try to figure it out, but does anyone care to guess the pattern for these ciphers?

Row 1: 69	66	53	40	3D	2a	17	14
Row 2: 4c	39	36	23	10	0d	fa	e7
I want to predict Row 3 and, eventually, Row N.

I think you may need a Row 3 and 4 to figure it out, but you can try to guess XD

EDIT

Okay, I jumped the gun a bit. Here's the next two rows.

Row 3: B3	A0	9D	8A	77	74	61	5e
Row 4: 96	83	70	6D	5A	47	44	31
Edited by VincentASM

Share this post


Link to post
Share on other sites

Ooh! Does this mean we might finally be able to get correct full sheet music for Don't Speak Her Name? :D

Edited by Lori_Winters

Share this post


Link to post
Share on other sites

oh, hell yes! this is what i've been waiting for for years now. i'm eagerly awaiting seeing what else the rom's been concealing for the past 2+ years

Share this post


Link to post
Share on other sites

Derp, totally missed out on this. You should've PM'd me, I could have saved you some time figuring this out since I'm pretty familiar with LZ77 and data headers and stuff XD.

Well, seems like you got everything except some cipher (couldn't really grasp the situation from your posts, maybe I'm just tired), so I won't bother digging in and tearing it apart no fun if two people do the same thing, so you can have all the fun.

As far as the cipher goes, look at the digits. It's hard to explain, but...

Row 1: 69 66 53 40 3D 2a 17 14

Row 2: 4c 39 36 23 10 0d fa e7

look at Row 1's item 1's first digit. The number is 69. Look at row 2 item 1's first digit. The digit is the same. This keeps going for both rows.

Row 3: B3 A0 9D 8A 77 74 61 5e

Row 4: 96 83 70 6D 5A 47 44 31

Look at row 3 item 1's (B3)'s second digit. "3". This is the same as Row 4's item 2's second-digit (83 -> 3). This pattern keeps on going. You may have noticed this already.

Also, the first digit of the first item (B) and the first digit of the second item (8) have a difference of 3. This is also consistent across the rows.

Row 2: 4c 39 36 23 10 0d fa e7

Row 3: B3 A0 9D 8A 77 74 61 5e

Sadly I have to go so I can't post anymore than this atm >< sorry

Share this post


Link to post
Share on other sites
Fun fact 2: They refer to the game as "14Iron" in the sound directory.

I literally don't even care about anything else in the rom this is hilarious

Yup!

Ask and ye shall receive.

Funny how NOA translated them too, but they have to do it .

When I have more time I'll upload more samples. Graphics, sound, etc. Those files aren't really my specialty, but maybe somebody out there knows something.

cut characters seem interesting

their positionings seems to imply a second character would join you on chapter 13 before you get lucina and the same between cordelia and nowi

and another spotpass person? maybe they had originally wanted philia but then cut her

Share this post


Link to post
Share on other sites

Fun fact 2: They refer to the game as "14Iron" in the sound directory.

This is the most amazing thing ever.

Keep up the good work, Vincent.

Also RIP Leopold, Tracy, and Andrea.

Share this post


Link to post
Share on other sites

No harm in having fun with it.

I think it'll be a lot more fun once we actually are able to test any of these.

There's no current publicly released way to run modified decrypted ROMs yet... at least a user friendly one.

I recall there have been people on GBATemp who've modified ROMs and took pictures of it running.

Too bad so far it's 4.5 firmware flashcarts only.

Yeah, you can run modified ROMs without a problem. I dunno if the data is being reencrypted or not, but there's already some proof-of-concept hacks and translations out there.

Cool to hear about the unused characters. Glad you got a hold of the files Vincent :)

Share this post


Link to post
Share on other sites

I will try to figure it out, but does anyone care to guess the pattern for these ciphers?

Row 1: 69	66	53	40	3D	2a	17	14
Row 2: 4c	39	36	23	10	0d	fa	e7
Row 3: B3	A0	9D	8A	77	74	61	5e
Row 4: 96	83	70	6D	5A	47	44	31

In addition to what Blazer has found, from left to right, each row is going down by 13, except for every third digit which goes down by 03.

Can't see anything for the relationship between rows 1-2 and 3-4. If Row 5 goes FD EA D7 D4 etc. then it should be simple to predict what any given row will be.

I have no idea what this means for decrypting it, though

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...