that was a very old version that used -z the latest gba injector works with -a now and uses md5 to search for the bin file
this is what the guy sended me.
I removed the -m/-z stuff, just use -a & it will use md5 of the adb to get the right settings
I'm getting "option -z not recognized"
I have the alldata.bin (Zelda - Minish Cap) and rom.gba (Pokemon FireRed) in the same folder as inject_gba.py and then running:
python inject_gba.py -z alldata.bin rom.gba
What stupid little thing am I doing wrong? lol
I downloaded the newest one off of GitHub; must have missed something. Those are nice improvements to the injector though! Thanks for replying anyways haha.If you read the new version file, it does not include the -z option, now you need to use:
[Removed the various --name options, you must use -a or --adb]
+Usage: inject_gba.py [-h] [-l] [-a path/to/alldata.bin] [-e] [romfile] [romfile]
where -e = -e --extract Extract rom from the base game alldata.bin file to alldata.bin.gba
Edit: Dammit, pedro beat me to it, lol.
No problem, glad to help!I downloaded the newest one off of GitHub; must have missed something. Those are nice improvements to the injector though! Thanks for replying anyways haha.
@ajd4096
Dear ajd4096,
I really love this GBA Injector so so much!! It's easy and very useful!
Could you please make a "SFC Injector" just like this one?? Please~~~~
Thank you so so much in advance~
I haven't looked at SFC yet, but I see on 91wii there is a thread by Solid_Snake about it.
Is there a way to make it so injected roms that use 128K flash will work? (Maybe there's some sort of configuration data inside alldata.bin?)
I tried SMA4 and only got the corrupted save error message.
The main problem might be finding the key for the other files..
How are they keys generated?I honestly don't know, it would depend on the engine.
I haven't been able to decrypt the rest of the file, I haven't really looked because it isn't (or wasn't) needed.
The short story is:
N use a not-really secure means to generate a single key which is then used in a very insecure way to obfuscate the ROM. I didn't need to reverse the rest because I could trivially find the 2nd key.
Compute a hash of a seed + password (which we know from the rpx).How are they keys generated?
I had looked at findkeys.py but it seems it pratically bruteforces the key and requires the plaintext file. It's good for finding the rom but maybe not the other files?Compute a hash of a seed + password (which we know from the rpx).
Use the hash to initialize a PRNG.
Use the PRNG to generate the XOR key.
If you want the gory details of finding a key, look at the source code of find_keys.py
It is python, so it is easy to follow and you don't need a dev environment.
Pretty much. Note the plain text doesn't have to be an exact match, as long as there is a consecutive 3? x 80 bytes which match.I had looked at findkeys.py but it seems it pratically bruteforces the key and requires the plaintext file. It's good for finding the rom but maybe not the other files?
So we need the wii u to either generate the other keys or to dump the plaintext files...
function _exec_PsnStore() {
// PS3のみ
if (confirm_dialog("NoticeMsg__CONFIRM_GO_TO_PLAYSTATION_STORE")) {
// ネットワーク接続確認
if (::checkStartNetwork(false) != 0) {
}
else {
::g_wipe.open(true, 30, 0x00ff);
local res = false;
local prof = get_system_prof();
if (prof) {
local store_browse_id = prof.root["store_browse_id"][get_package_regionTag()];
printf("store_browse_id : %s\n", store_browse_id);
// (暫定)
res = GameContent.execStoreBrowseByCategoryID(store_browse_id);
}
// 成功したらゲーム終了要求イベントが発生しているハズ
if (res)
while (1)
wait(0); // 無限待ち
::g_wipe.close(true, 30, 0x0000);
}
}
}