Skip to content

Instantly share code, notes, and snippets.

@minif
minif / ultimate-angler-save-modification-rods.md
Last active September 1, 2024 18:26
Ultimate Angler Save Modification: Rods

Ultimate Angler Save Modification: Rods

This is my findings when trying to modify rods for Ultimate Angler. This is information that I originally discovered back in April, but I originally posted it in a private chat, so I have decided to write this as a public gist for anybody to reference.

Save file information

The save file is mgFshX.dat, which is an extdata save file on the sd card (sdmc/Nintendo 3DS/00000000000000000000000000000000/00000000000000000000000000000000/extdata/00000000/00000218/user/mgFsh0.dat). Like with all Streetpass Mii Plaza DLC saves, there are two files: mgFsh0.dat and mgFsh1.dat. They are identical, probably for redundancy (i.e. if one of them corrupts, then the other is fine). I usually edit mgFsh0.dat and deleted mgFsh1.dat to get the results I want.

Some findings in the save file:

  • Money is stored at 0x287C
  • 0x000C is a counter for every time the game is played

Download .ipa files removed from purchased tab.

Due to various reasons (such as Apple developer account termination), apps you had previously purchased can no longer be downloaded from the App Store or iTunes. However, it turns out these applications can still be accessed. Third party .ipa downloading tools such as iMazing, ipatool, and ipatool-py use a special endpoint that allows downloading removed apps.

This app must have been purchased on your Apple ID beforehand. You cannot download any app ever made. Apple only lets you download apps you had bought or downloaded in the past.

I reccomend using the ipatool-py method, because it is easier. However, if you are unable to use it, I have left the original iMazing method for you to follow.

Requirements for this tutorial:

  • App ID (Number such as 1053533457) of app to download
@minif
minif / copy
Created February 16, 2017 03:17
Minif OS v1.0 pre-alpha
if fs.exists("Library") then
fs.delete("Library")
fs.copy("disk/Library", "Library")
else
fs.copy("disk/Library", "Library")
end
if fs.exists("startup") then
fs.delete("startup")
fs.copy("disk/startup", "startup")