Рет қаралды 2,559
I've heard about a buffer overflow bug in one of The SIMS 2 for DS minigames named "Alien Autopsy" causing save games to become corrupt.
On the internet forums it was recomended to not to play that game at all to prevent corruption.
Probably at that time, emulators were not as popular as today, because once I open my emulator debugger and see what the bug did, I got surprissed that it allows to write data at desired memory addresses!
In this second part, I take advantage, not of the fact of being able to write object IDs on memory addresses, but the fact of being able to shift data after the item memory, to the item memory by selling items when pocket size exceeds the item memory size.
Since the next data after the item memory is a timestamp, it can be manipulated by changing the calendar and time on the DS, so we can get any object ID we want!
On a real DS this second exploit is not as simple!! the first 4 bytes of that unused block are copied from the DS firmware (DS verification or something?) when you create a new game, and since they can be converted to non-valid object IDs, it can make it crash when showing that items on the pocket or shop. Additionally, it seems that selling objects when pocket size is bigger than 6 also makes real DS to crash for whatever reason, that doesn't do on emulator.
A working solution for real DS (tested by me) is to, after getting a 11 sized pocket, to get an alien (ID=0131 at 24/03/22 10:14:13) and then, with that alien on the last slot, you will be able to play the minigame 11 times (if got correct item) to get pocket size=0 while overriding that "unused" block with Alien valid items, shifting that invalid item IDs to the pocket items. Then you must get some items on the pocket and alien on the 6th slot to replace that invalid IDs and to repeat the minigame process to get pocket size 11 again, but this time to get the item you want: play minigame at least 5 times to get pocket size from 11 to less or equal 6 instead of going to the shop, and then you will be able to open pocket and see your item!
On real DS is extremely dificult and time consuming as you might notice, so I don't recomend you to try it outside emulator. Remember: I'm crazy, but you probably not.