( ! ) Notice: Undefined index: ip in /root/w/extensions/Antispam/CleantalkSFW.php on line 185
Call Stack
#TimeMemoryFunctionLocation
10.0001395768{main}( ).../index.php:0
20.01462684040MediaWiki->run( ).../index.php:44
30.01472684296MediaWiki->main( ).../MediaWiki.php:527
40.09695996280MediaWiki->{closure:/root/w/includes/MediaWiki.php:905-911}( ).../MediaWiki.php:919
50.09695996280OutputPage->output( ).../MediaWiki.php:907
60.09876111384SkinMinerva->outputPage( ).../OutputPage.php:2574
70.10646150888SkinMinerva->prepareQuickTemplate( ).../SkinTemplate.php:215
80.10646217176SkinMinerva->prepareQuickTemplate( ).../SkinMinerva.php:145
90.12116278344SkinMinerva->bottomScripts( ).../SkinTemplate.php:456
100.13826753112Hooks::run( ).../Skin.php:695
110.13826753112Hooks::callHook( ).../Hooks.php:202
120.13836754208CTHooks::onSkinAfterBottomScripts( ).../Hooks.php:174
130.13986787536CleantalkSFW->send_logs( ).../Antispam.hooks.php:262

( ! ) Notice: Undefined index: all_entries in /root/w/extensions/Antispam/CleantalkSFW.php on line 185
Call Stack
#TimeMemoryFunctionLocation
10.0001395768{main}( ).../index.php:0
20.01462684040MediaWiki->run( ).../index.php:44
30.01472684296MediaWiki->main( ).../MediaWiki.php:527
40.09695996280MediaWiki->{closure:/root/w/includes/MediaWiki.php:905-911}( ).../MediaWiki.php:919
50.09695996280OutputPage->output( ).../MediaWiki.php:907
60.09876111384SkinMinerva->outputPage( ).../OutputPage.php:2574
70.10646150888SkinMinerva->prepareQuickTemplate( ).../SkinTemplate.php:215
80.10646217176SkinMinerva->prepareQuickTemplate( ).../SkinMinerva.php:145
90.12116278344SkinMinerva->bottomScripts( ).../SkinTemplate.php:456
100.13826753112Hooks::run( ).../Skin.php:695
110.13826753112Hooks::callHook( ).../Hooks.php:202
120.13836754208CTHooks::onSkinAfterBottomScripts( ).../Hooks.php:174
130.13986787536CleantalkSFW->send_logs( ).../Antispam.hooks.php:262

( ! ) Notice: Undefined index: all_entries in /root/w/extensions/Antispam/CleantalkSFW.php on line 185
Call Stack
#TimeMemoryFunctionLocation
10.0001395768{main}( ).../index.php:0
20.01462684040MediaWiki->run( ).../index.php:44
30.01472684296MediaWiki->main( ).../MediaWiki.php:527
40.09695996280MediaWiki->{closure:/root/w/includes/MediaWiki.php:905-911}( ).../MediaWiki.php:919
50.09695996280OutputPage->output( ).../MediaWiki.php:907
60.09876111384SkinMinerva->outputPage( ).../OutputPage.php:2574
70.10646150888SkinMinerva->prepareQuickTemplate( ).../SkinTemplate.php:215
80.10646217176SkinMinerva->prepareQuickTemplate( ).../SkinMinerva.php:145
90.12116278344SkinMinerva->bottomScripts( ).../SkinTemplate.php:456
100.13826753112Hooks::run( ).../Skin.php:695
110.13826753112Hooks::callHook( ).../Hooks.php:202
120.13836754208CTHooks::onSkinAfterBottomScripts( ).../Hooks.php:174
130.13986787536CleantalkSFW->send_logs( ).../Antispam.hooks.php:262

( ! ) Notice: Undefined index: blocked_entries in /root/w/extensions/Antispam/CleantalkSFW.php on line 185
Call Stack
#TimeMemoryFunctionLocation
10.0001395768{main}( ).../index.php:0
20.01462684040MediaWiki->run( ).../index.php:44
30.01472684296MediaWiki->main( ).../MediaWiki.php:527
40.09695996280MediaWiki->{closure:/root/w/includes/MediaWiki.php:905-911}( ).../MediaWiki.php:919
50.09695996280OutputPage->output( ).../MediaWiki.php:907
60.09876111384SkinMinerva->outputPage( ).../OutputPage.php:2574
70.10646150888SkinMinerva->prepareQuickTemplate( ).../SkinTemplate.php:215
80.10646217176SkinMinerva->prepareQuickTemplate( ).../SkinMinerva.php:145
90.12116278344SkinMinerva->bottomScripts( ).../SkinTemplate.php:456
100.13826753112Hooks::run( ).../Skin.php:695
110.13826753112Hooks::callHook( ).../Hooks.php:202
120.13836754208CTHooks::onSkinAfterBottomScripts( ).../Hooks.php:174
130.13986787536CleantalkSFW->send_logs( ).../Antispam.hooks.php:262

( ! ) Notice: Undefined index: entries_timestamp in /root/w/extensions/Antispam/CleantalkSFW.php on line 185
Call Stack
#TimeMemoryFunctionLocation
10.0001395768{main}( ).../index.php:0
20.01462684040MediaWiki->run( ).../index.php:44
30.01472684296MediaWiki->main( ).../MediaWiki.php:527
40.09695996280MediaWiki->{closure:/root/w/includes/MediaWiki.php:905-911}( ).../MediaWiki.php:919
50.09695996280OutputPage->output( ).../MediaWiki.php:907
60.09876111384SkinMinerva->outputPage( ).../OutputPage.php:2574
70.10646150888SkinMinerva->prepareQuickTemplate( ).../SkinTemplate.php:215
80.10646217176SkinMinerva->prepareQuickTemplate( ).../SkinMinerva.php:145
90.12116278344SkinMinerva->bottomScripts( ).../SkinTemplate.php:456
100.13826753112Hooks::run( ).../Skin.php:695
110.13826753112Hooks::callHook( ).../Hooks.php:202
120.13836754208CTHooks::onSkinAfterBottomScripts( ).../Hooks.php:174
130.13986787536CleantalkSFW->send_logs( ).../Antispam.hooks.php:262

( ! ) Notice: Undefined index: ip in /root/w/extensions/Antispam/CleantalkSFW.php on line 185
Call Stack
#TimeMemoryFunctionLocation
10.0001395768{main}( ).../index.php:0
20.01462684040MediaWiki->run( ).../index.php:44
30.01472684296MediaWiki->main( ).../MediaWiki.php:527
40.09695996280MediaWiki->{closure:/root/w/includes/MediaWiki.php:905-911}( ).../MediaWiki.php:919
50.09695996280OutputPage->output( ).../MediaWiki.php:907
60.09876111384SkinMinerva->outputPage( ).../OutputPage.php:2574
70.10646150888SkinMinerva->prepareQuickTemplate( ).../SkinTemplate.php:215
80.10646217176SkinMinerva->prepareQuickTemplate( ).../SkinMinerva.php:145
90.12116278344SkinMinerva->bottomScripts( ).../SkinTemplate.php:456
100.13826753112Hooks::run( ).../Skin.php:695
110.13826753112Hooks::callHook( ).../Hooks.php:202
120.13836754208CTHooks::onSkinAfterBottomScripts( ).../Hooks.php:174
130.13986787536CleantalkSFW->send_logs( ).../Antispam.hooks.php:262

( ! ) Notice: Undefined index: all_entries in /root/w/extensions/Antispam/CleantalkSFW.php on line 185
Call Stack
#TimeMemoryFunctionLocation
10.0001395768{main}( ).../index.php:0
20.01462684040MediaWiki->run( ).../index.php:44
30.01472684296MediaWiki->main( ).../MediaWiki.php:527
40.09695996280MediaWiki->{closure:/root/w/includes/MediaWiki.php:905-911}( ).../MediaWiki.php:919
50.09695996280OutputPage->output( ).../MediaWiki.php:907
60.09876111384SkinMinerva->outputPage( ).../OutputPage.php:2574
70.10646150888SkinMinerva->prepareQuickTemplate( ).../SkinTemplate.php:215
80.10646217176SkinMinerva->prepareQuickTemplate( ).../SkinMinerva.php:145
90.12116278344SkinMinerva->bottomScripts( ).../SkinTemplate.php:456
100.13826753112Hooks::run( ).../Skin.php:695
110.13826753112Hooks::callHook( ).../Hooks.php:202
120.13836754208CTHooks::onSkinAfterBottomScripts( ).../Hooks.php:174
130.13986787536CleantalkSFW->send_logs( ).../Antispam.hooks.php:262

( ! ) Notice: Undefined index: all_entries in /root/w/extensions/Antispam/CleantalkSFW.php on line 185
Call Stack
#TimeMemoryFunctionLocation
10.0001395768{main}( ).../index.php:0
20.01462684040MediaWiki->run( ).../index.php:44
30.01472684296MediaWiki->main( ).../MediaWiki.php:527
40.09695996280MediaWiki->{closure:/root/w/includes/MediaWiki.php:905-911}( ).../MediaWiki.php:919
50.09695996280OutputPage->output( ).../MediaWiki.php:907
60.09876111384SkinMinerva->outputPage( ).../OutputPage.php:2574
70.10646150888SkinMinerva->prepareQuickTemplate( ).../SkinTemplate.php:215
80.10646217176SkinMinerva->prepareQuickTemplate( ).../SkinMinerva.php:145
90.12116278344SkinMinerva->bottomScripts( ).../SkinTemplate.php:456
100.13826753112Hooks::run( ).../Skin.php:695
110.13826753112Hooks::callHook( ).../Hooks.php:202
120.13836754208CTHooks::onSkinAfterBottomScripts( ).../Hooks.php:174
130.13986787536CleantalkSFW->send_logs( ).../Antispam.hooks.php:262

( ! ) Notice: Undefined index: blocked_entries in /root/w/extensions/Antispam/CleantalkSFW.php on line 185
Call Stack
#TimeMemoryFunctionLocation
10.0001395768{main}( ).../index.php:0
20.01462684040MediaWiki->run( ).../index.php:44
30.01472684296MediaWiki->main( ).../MediaWiki.php:527
40.09695996280MediaWiki->{closure:/root/w/includes/MediaWiki.php:905-911}( ).../MediaWiki.php:919
50.09695996280OutputPage->output( ).../MediaWiki.php:907
60.09876111384SkinMinerva->outputPage( ).../OutputPage.php:2574
70.10646150888SkinMinerva->prepareQuickTemplate( ).../SkinTemplate.php:215
80.10646217176SkinMinerva->prepareQuickTemplate( ).../SkinMinerva.php:145
90.12116278344SkinMinerva->bottomScripts( ).../SkinTemplate.php:456
100.13826753112Hooks::run( ).../Skin.php:695
110.13826753112Hooks::callHook( ).../Hooks.php:202
120.13836754208CTHooks::onSkinAfterBottomScripts( ).../Hooks.php:174
130.13986787536CleantalkSFW->send_logs( ).../Antispam.hooks.php:262

( ! ) Notice: Undefined index: entries_timestamp in /root/w/extensions/Antispam/CleantalkSFW.php on line 185
Call Stack
#TimeMemoryFunctionLocation
10.0001395768{main}( ).../index.php:0
20.01462684040MediaWiki->run( ).../index.php:44
30.01472684296MediaWiki->main( ).../MediaWiki.php:527
40.09695996280MediaWiki->{closure:/root/w/includes/MediaWiki.php:905-911}( ).../MediaWiki.php:919
50.09695996280OutputPage->output( ).../MediaWiki.php:907
60.09876111384SkinMinerva->outputPage( ).../OutputPage.php:2574
70.10646150888SkinMinerva->prepareQuickTemplate( ).../SkinTemplate.php:215
80.10646217176SkinMinerva->prepareQuickTemplate( ).../SkinMinerva.php:145
90.12116278344SkinMinerva->bottomScripts( ).../SkinTemplate.php:456
100.13826753112Hooks::run( ).../Skin.php:695
110.13826753112Hooks::callHook( ).../Hooks.php:202
120.13836754208CTHooks::onSkinAfterBottomScripts( ).../Hooks.php:174
130.13986787536CleantalkSFW->send_logs( ).../Antispam.hooks.php:262
Anti Savegame Restore - 3dbrew

Anti Savegame Restore

Revision as of 21:20, 4 October 2015 by MassExplosion213 (talk | contribs) (ORAS Demo is e-shop only.)

Summary

Anti Savegame Restore (internally referred to as Save Data Rollback Prevention) is a feature originally implemented in FS module with 4.0.0-7, which prevents the user from restoring previous versions of a savegame image. This feature is not used for gamecard games. When an old version of the save is detected, the application will display an error regarding old savegame version, then delete+recreate the save(similar to when the savegame is corrupted).

Implementation

When creating the SD savedata, the application generates a random u64 value, then stores it in an arbitary savefile in the savegame FS. The application then uses the anti-savegame-restore FS commands to verify the stored u64(with the u64 loaded by FS module), and to update the u64 used by FS module. The u64 used by FS module is stored in the FS module System_SaveData.

Each time the application writes to the savegame, the u64 value stored in the savefile should be updated(and the command for updating the NAND u64 value should be used as well). Usually applications update this value by incrementing it, however generating a new random-number or other methods of updating it can be used as well.

Applications using this feature

  • Animal Crossing: New Leaf
  • Pokemon X & Y
  • Pokemon Omega ruby & Alpha Saphire
  • Pokemon ORAS Demo
  • Pokemon Shuffle
  • Super Smash Bros