mirror of
https://github.com/Maschell/JNUSTool.git
synced 2024-11-28 02:44:19 +01:00
Fixed downloading/displaying empty folders, downloading DLC into a seperate folder
- printing more information about the title when loaded (encrypted/decrypted key,version,name,titleid) -version bump to 0.3
This commit is contained in:
parent
8959bced34
commit
6dead58500
BIN
jar/JNUSTool.jar
BIN
jar/JNUSTool.jar
Binary file not shown.
@ -1,14 +1,14 @@
|
||||
0005000E-101BB800;4;WUP;011A;WUP-P-BEQP;BEQP1A;Elliot Quest;16,32,48,64,80,97
|
||||
0005000E-101BA400;2;WUP;0052;WUP-P-AGNE;AGNE52;Guitar Hero Live;16,32,48,64,80,96
|
||||
0005000E-101B9000;2;WUP;0041;WUP-P-AJ6E;AJ6E41;JUST DANCE® 2016;16,32
|
||||
0005000E-101B9800;4;WUP;0041;WUP-P-AJ6P;AJ6P41;JUST DANCE® 2016;16,32
|
||||
0005000E-101B0400;2;WUP;0001;WUP-U-AFXE;AFXE01;Star Fox Zero;16
|
||||
0005000E-101BA400;2;WUP;0052;WUP-P-AGNE;AGNE52;Guitar Hero Live;16,32,48,64,80,96
|
||||
0005000E-101BB800;4;WUP;011A;WUP-P-BEQP;BEQP1A;Elliot Quest;16,32,48,64,80,97
|
||||
0005000E-101BEC00;2;WUP;0001;WUP-U-BWFE;BWFE01;Star Fox Guard;16
|
||||
0005000E-101BFC00;4;WUP;0052;WUP-P-BS5P;BS5P52;Skylanders SuperChargers;16,32,48,64,80,97
|
||||
0005000E-101A4800;2;WUP;00AF;WUP-P-APHE;APHEAF;LOST REAVERS;16
|
||||
0005000E-101A4C00;2;WUP;011F;WUP-P-BSVE;BSVE1F;Stone Shire;18,32
|
||||
0005000E-101A5C00;4;WUP;00WR;WUP-U-ALJP;ALJPWR;LEGO® Jurassic World™;16
|
||||
0005000E-101A4800;2;WUP;00AF;WUP-P-APHE;APHEAF;LOST REAVERS;16
|
||||
0005000E-101A6400;2;WUP;00YR;WUP-U-ACUE;ACUEYR;Cube Life: Island Survival;16,33
|
||||
0005000E-101A5C00;4;WUP;00WR;WUP-U-ALJP;ALJPWR;LEGO® Jurassic World™;16
|
||||
0005000E-101ABC00;2;WUP;0001;WUP-U-AXYE;AXYE01;Kirby and the Rainbow Curse;16
|
||||
0005000E-10191800;4;WUP;00UP;WUP-U-WAEP;WAEPUP;Rock 'N Racing Off Road;16
|
||||
0005000E-10193400;2;WUP;006V;WUP-P-BLKE;BLKE6V;Legend of Kay Anniversary;16
|
||||
@ -16,8 +16,8 @@
|
||||
0005000E-10199000;1;WUP;0001;WUP-P-AVXJ;AVXJ01;Mario Tennis: Ultra Smash;16,32
|
||||
0005000E-1019C800;1;WUP;0001;WUP-U-AZAJ;AZAJ01;THE LEGEND OF ZELDA Twilight Princess HD;82
|
||||
0005000E-10182C00;4;WUP;00XT;WUP-U-AJTP;AJTPXT;Jett Tailfin;16
|
||||
0005000E-10183000;2;WUP;010P;WUP-P-ARNE;ARNE0P;Runbow;16,33,49,64,80
|
||||
0005000E-10188C00;4;WUP;004Q;WUP-P-ADRP;ADRP4Q;Disney Infinity [2.0];16,32,64,80
|
||||
0005000E-10183000;2;WUP;010P;WUP-P-ARNE;ARNE0P;Runbow;16,33,49,64,80
|
||||
0005000E-1018C400;1;WUP;00AF;WUP-P-BSFJ;BSFJAF;藤子・F・不二雄キャラクターズ 大集合!SFドタバタパーティー!!;16
|
||||
0005000E-1018DC00;2;WUP;0001;WUP-U-AMAE;AMAE01;Super Mario Maker;16,32,48,64,80,96,113,128,144,160,176,192,208
|
||||
0005000E-101F7400;4;WUP;008V;WUP-P-AHZP;AHZP8V;Hot Rod Racer;16
|
||||
@ -26,27 +26,27 @@
|
||||
0005000E-101E9C00;1;WUP;00S6;WUP-U-ACUJ;ACUJS6;Cube Life: Island Survival;17
|
||||
0005000E-101EA000;1;WUP;00WR;WUP-P-BLGJ;BLGJWR;LEGO® STAR WARS™ The Force Awakens;16
|
||||
0005000E-101ED800;2;WUP;0001;WUP-U-ASEE;ASEE01;Tokyo Mirage Sessions #FE;16
|
||||
0005000E-101D2C00;1;WUP;00SA;WUP-P-ATXJ;ATXJSA;Bike Rider UltraDX WORLD TOUR;16,32
|
||||
0005000E-101D7400;4;WUP;010C;WUP-U-ATTP;ATTP0C;Totem Topple;16,33
|
||||
0005000E-101D3000;1;WUP;00AF;WUP-P-BT3J;BT3JAF;Taiko no Tatsujin Atsumete★ TomodachiDaisakusen!;16
|
||||
0005000E-101D6000;4;WUP;00JX;WUP-P-WFSP;WFSPJX;FAST Racing NEO;16,34,48,65
|
||||
0005000E-101DB800;2;WUP;017D;WUP-P-AVME;AVME7D;VoxelMaker;17
|
||||
0005000E-101D7400;4;WUP;010C;WUP-U-ATTP;ATTP0C;Totem Topple;16,33
|
||||
0005000E-101D2C00;1;WUP;00SA;WUP-P-ATXJ;ATXJSA;Bike Rider UltraDX WORLD TOUR;16,32
|
||||
0005000E-101D3000;1;WUP;00AF;WUP-P-BT3J;BT3JAF;Taiko no Tatsujin Atsumete★ TomodachiDaisakusen!;16
|
||||
0005000E-101DDC00;1;WUP;00AF;WUP-P-BD3J;BD3JAF;ディズニーインフィニティ3.0;17,33,48
|
||||
0005000E-101DF400;2;WUP;0001;WUP-P-APKE;APKE01;POKKÉN TOURNAMENT;16,32,48,64
|
||||
0005000E-101DB800;2;WUP;017D;WUP-P-AVME;AVME7D;VoxelMaker;17
|
||||
0005000E-101C0C00;4;WUP;00UB;WUP-P-BS7P;BS7PUB;The Swindle;16
|
||||
0005000E-101C4C00;4;WUP;0001;WUP-P-AX5D;AX5D01;Xenoblade Chronicles X;16
|
||||
0005000E-101C0C00;4;WUP;00UB;WUP-P-BS7P;BS7PUB;The Swindle;16
|
||||
0005000E-101C5800;1;WUP;002P;WUP-P-APKJ;APKJ2P;POKKÉN TOURNAMENT;16,32,48,64
|
||||
0005000E-10132400;4;WUP;00WR;WUP-U-ALMP;ALMPWR;LEGO® MARVEL Super Heroes;16,32,48
|
||||
0005000E-10132800;2;WUP;00UP;WUP-U-WEPE;WEPEUP;Unepic EnjoyUp Games;16,32
|
||||
0005000E-10137000;4;WUP;004Q;WUP-U-ADSZ;ADSZ4Q;Disney Infinity;16,32,49
|
||||
0005000E-10137C00;2;WUP;00WR;WUP-U-AZEE;AZEEWR;Batman™: Arkham Origins;16
|
||||
0005000E-10132800;2;WUP;00UP;WUP-U-WEPE;WEPEUP;Unepic EnjoyUp Games;16,32
|
||||
0005000E-10132400;4;WUP;00WR;WUP-U-ALMP;ALMPWR;LEGO® MARVEL Super Heroes;16,32,48
|
||||
0005000E-10137000;4;WUP;004Q;WUP-U-ADSZ;ADSZ4Q;Disney Infinity;16,32,49
|
||||
0005000E-10136C00;4;WUP;00WR;WUP-U-AZEP;AZEPWR;Batman™: Arkham Origins;16
|
||||
0005000E-10138800;4;WUP;0041;WUP-U-ASBP;ASBP41;Assassin's Creed® IV Black Flag;16,32
|
||||
0005000E-10128800;2;WUP;0069;WUP-U-ANSE;ANSE69;Need for Speed™ Most Wanted U;16,32
|
||||
0005000E-1012BC00;1;WUP;0001;WUP-U-AC3J;AC3J01;PIKMIN 3;17,48,64,80,96
|
||||
0005000E-1012AC00;4;WUP;0041;WUP-U-AS9P;AS9P41;Splinter Cell Blacklist;16,32,48
|
||||
0005000E-10128800;2;WUP;0069;WUP-U-ANSE;ANSE69;Need for Speed™ Most Wanted U;16,32
|
||||
0005000E-10128400;4;WUP;0069;WUP-U-ANSP;ANSP69;Need for Speed™ Most Wanted U;16,32
|
||||
0005000E-10129000;2;WUP;0008;WUP-U-WDKE;WDKE08;DuckTales: Remastered;16,32
|
||||
0005000E-1012AC00;4;WUP;0041;WUP-U-AS9P;AS9P41;Splinter Cell Blacklist;16,32,48
|
||||
0005000E-1012DC00;2;WUP;0001;WUP-U-ACME;ACME01;The Wonderful 101;16
|
||||
0005000E-1012F000;2;WUP;00JX;WUP-P-WFSE;WFSEJX;FAST Racing NEO;33,48,65
|
||||
0005000E-1012B400;4;WUP;0008;WUP-U-ABHP;ABHP08;RESIDENT EVIL REVELATIONS;16
|
||||
@ -63,25 +63,25 @@
|
||||
0005000E-10118400;4;WUP;00GT;WUP-U-AFBP;AFBPGT;Funky Barn;16
|
||||
0005000E-1011B400;1;WUP;00GD;WUP-U-AECJ;AECJGD;Call of Duty: Black Ops II;16,32,48,64,80,96
|
||||
0005000E-1011C000;2;WUP;00TJ;WUP-U-WCAE;WCAETJ;Chasing Aurora;16
|
||||
0005000E-1010B000;2;WUP;0041;WUP-U-ARBE;ARBE41;Rabbids Land;16
|
||||
0005000E-1010B400;2;WUP;0041;WUP-U-ASPE;ASPE41;ESPN Sports Connection;16,33
|
||||
0005000E-1010DC00;2;WUP;0069;WUP-U-AMEE;AMEE69;Mass Effect™ 3 Special Edition;16
|
||||
0005000E-1010B000;2;WUP;0041;WUP-U-ARBE;ARBE41;Rabbids Land;16
|
||||
0005000E-10101C00;1;WUP;0001;WUP-U-ARPJ;ARPJ01;New SUPER MARIO BROS. U;32,48,65
|
||||
0005000E-10102000;2;WUP;0001;WUP-U-ALCE;ALCE01;Nintendo Land;32
|
||||
0005000E-10102400;4;WUP;0001;WUP-U-ASTP;ASTP01;Wii Fit U;16,48,64,81
|
||||
0005000E-1010DC00;2;WUP;0069;WUP-U-AMEE;AMEE69;Mass Effect™ 3 Special Edition;16
|
||||
0005000E-1010C800;4;WUP;0001;WUP-U-AURP;AURP01;Mario & Sonic at the Sochi 2014 Olympic Winter Games;16,32
|
||||
0005000E-1010FC00;4;WUP;0041;WUP-U-ARBP;ARBP41;Rabbids Land;16
|
||||
0005000E-1010F800;4;WUP;00AF;WUP-U-AKNP;AKNPAF;TEKKEN TAG TOURNAMENT 2 Wii U EDITION;32
|
||||
0005000E-1010F000;4;WUP;0041;WUP-U-AJDP;AJDP41;JUST DANCE 4;16,32
|
||||
0005000E-1010F800;4;WUP;00AF;WUP-U-AKNP;AKNPAF;TEKKEN TAG TOURNAMENT 2 Wii U EDITION;32
|
||||
0005000E-1010FC00;4;WUP;0041;WUP-U-ARBP;ARBP41;Rabbids Land;16
|
||||
0005000E-1010EC00;2;WUP;0001;WUP-P-AMKE;AMKE01;MARIO KART 8;16,32,48,64
|
||||
0005000E-1017D800;2;WUP;0001;WUP-U-BWPE;BWPE01;Hyrule Warriors;16,32,48,64,80,96,112,128,144,160,176,192,208
|
||||
0005000E-10177800;4;WUP;008P;WUP-P-BSSP;BSSP8P;Sonic Boom: Rise of Lyric;16
|
||||
0005000E-1017E000;4;WUP;00XQ;WUP-P-WK8P;WK8PXQ;Turtle Tale;16
|
||||
0005000E-1017D800;2;WUP;0001;WUP-U-BWPE;BWPE01;Hyrule Warriors;16,32,48,64,80,96,112,128,144,160,176,192
|
||||
0005000E-1016A400;4;WUP;00WR;WUP-P-BTMP;BTMPWR;LEGO® Batman™ 3 Beyond Gotham;16,32,48
|
||||
0005000E-1016AC00;2;WUP;009T;WUP-U-WMLE;WMLE9T;Armillo;16
|
||||
0005000E-1016DC00;2;WUP;004Q;WUP-P-ADRE;ADRE4Q;Disney Infinity [2.0];16,32,64,80
|
||||
0005000E-1016A400;4;WUP;00WR;WUP-P-BTMP;BTMPWR;LEGO® Batman™ 3 Beyond Gotham;16,32,48
|
||||
0005000E-1016E800;4;WUP;009V;WUP-U-WMRP;WMRP9V;Master Reboot;16
|
||||
0005000E-1016D800;1;WUP;0041;WUP-P-ACLJ;ACLJ41;CHILD of LIGHT;16
|
||||
0005000E-1016DC00;2;WUP;004Q;WUP-P-ADRE;ADRE4Q;Disney Infinity [2.0];16,32,64,80
|
||||
0005000E-10159800;1;WUP;0001;WUP-U-AFCJ;AFCJ01;Wii Fit U (Free);48,64,81
|
||||
0005000E-10145800;4;WUP;00UP;WUP-U-WEPP;WEPPUP;Unepic EnjoyUp Games;16,32
|
||||
0005000E-10140400;4;WUP;0052;WUP-U-ASFP;ASFP52;Skylanders SWAP Force;16
|
||||
@ -94,59 +94,59 @@
|
||||
0005000E-10148000;1;WUP;00AF;WUP-P-AUNJ;AUNJAF;ONE PIECE UNLIMITED WORLD R;16
|
||||
0005000E-1014C800;1;WUP;0041;WUP-U-ASBJ;ASBJ41;Assassin's Creed® IV Black Flag;16
|
||||
0005000E-1014E000;4;WUP;00WR;WUP-U-ALAP;ALAPWR;The LEGO® Movie Videogame;18
|
||||
0005000E-101B3D00;4;WUP;004Q;WUP-P-BD3P;BD3P4Q;DISNEY INFINITY 3.0: PLAY WITHOUT LIMITS;16,32,49,64,80
|
||||
0005000E-101B8500;2;WUP;0052;WUP-P-BS5E;BS5E52;Skylanders SuperChargers;16,32,48,64,80,96
|
||||
0005000E-101B9900;4;WUP;00AF;WUP-P-APHP;APHPAF;LOST REAVERS;16
|
||||
0005000E-101BE900;4;WUP;00WR;WUP-P-ALRP;ALRPWR;LEGO® MARVEL's Avengers;16,33,48,64
|
||||
0005000E-101BED00;4;WUP;0001;WUP-U-BWFP;BWFP01;Star Fox Guard;16
|
||||
0005000E-101A4900;4;WUP;00LY;WUP-U-BLPP;BLPPLY;Life of Pixel;16
|
||||
0005000E-101A3500;2;WUP;0001;WUP-P-AVXE;AVXE01;Mario Tennis: Ultra Smash;16,32
|
||||
0005000E-101B3D00;4;WUP;004Q;WUP-P-BD3P;BD3P4Q;DISNEY INFINITY 3.0: PLAY WITHOUT LIMITS;16,32,49,64,80
|
||||
0005000E-101BE900;4;WUP;00WR;WUP-P-ALRP;ALRPWR;LEGO® MARVEL's Avengers;16,33,48,64
|
||||
0005000E-101A6500;2;WUP;00VZ;WUP-P-BKFE;BKFEVZ;Kung Fu Panda Showdown of Legendary Legends;16
|
||||
0005000E-101A6900;2;WUP;00UB;WUP-P-ALLE;ALLEUB;OlliOlli;17
|
||||
0005000E-101A9500;4;WUP;00WY;WUP-U-BSXP;BSXPWY;Shantae and the Pirate's Curse;16
|
||||
0005000E-101AA500;4;WUP;00VZ;WUP-P-BKFP;BKFPVZ;Kung Fu Panda Showdown of Legendary Legends;16,32
|
||||
0005000E-101A3500;2;WUP;0001;WUP-P-AVXE;AVXE01;Mario Tennis: Ultra Smash;16,32
|
||||
0005000E-101AC900;2;WUP;004Q;WUP-P-BD3E;BD3E4Q;DISNEY INFINITY 3.0 EDITION;16,32,49,65,80
|
||||
0005000E-10195D00;4;WUP;00WR;WUP-P-APZP;APZPWR;LEGO® DIMENSIONS™;32,48,64,80,96,112,128,144,160,176,192
|
||||
0005000E-101A9500;4;WUP;00WY;WUP-U-BSXP;BSXPWY;Shantae and the Pirate's Curse;16
|
||||
0005000E-101A4900;4;WUP;00LY;WUP-U-BLPP;BLPPLY;Life of Pixel;16
|
||||
0005000E-101A6900;2;WUP;00UB;WUP-P-ALLE;ALLEUB;OlliOlli;17
|
||||
0005000E-10195D00;4;WUP;00WR;WUP-P-APZP;APZPWR;LEGO® DIMENSIONS™;32,48,64,80,96,112,128,144,160,176,192,208
|
||||
0005000E-1019AD00;2;WUP;011A;WUP-P-BEQE;BEQE1A;Elliot Quest;16,32,48,64,80,96,114
|
||||
0005000E-1019E500;2;WUP;0001;WUP-U-AZAE;AZAE01;THE LEGEND OF ZELDA Twilight Princess HD;81
|
||||
0005000E-10187100;4;WUP;00LW;WUP-U-BUGP;BUGPLW;Underground;16,32
|
||||
0005000E-10183900;2;WUP;00UP;WUP-U-BMVE;BMVEUP;99Moves;16,32
|
||||
0005000E-10180500;1;WUP;0001;WUP-P-AKBJ;AKBJ01;Captain Toad: Treasure Tracker;16
|
||||
0005000E-10184D00;2;WUP;0001;WUP-U-AYCE;AYCE01;Yoshi's Woolly World;17
|
||||
0005000E-10188D00;4;WUP;004Q;WUP-P-ADRZ;ADRZ4Q;Disney Infinity [2.0];16,32,64,80
|
||||
0005000E-1018D900;1;WUP;00AF;WUP-P-APHJ;APHJAF;LOST REAVERS;17,32,48
|
||||
0005000E-10180500;1;WUP;0001;WUP-P-AKBJ;AKBJ01;Captain Toad: Treasure Tracker;16
|
||||
0005000E-1018DD00;4;WUP;0001;WUP-U-AMAP;AMAP01;Super Mario Maker;32,48,64,80,96,113,128,144,160,176,192,208
|
||||
0005000E-1018ED00;2;WUP;00NK;WUP-U-ATCE;ATCENK;Tetrobot and Co.;16
|
||||
0005000E-10183900;2;WUP;00UP;WUP-U-BMVE;BMVEUP;99Moves;16,32
|
||||
0005000E-101F5D00;2;WUP;017D;WUP-P-AHYE;AHYE7D;PixelMaker;16
|
||||
0005000E-101E0100;2;WUP;00TL;WUP-N-BMTE;BMTETL;Minecraft: Story Mode;16
|
||||
0005000E-101E4100;1;WUP;00JF;WUP-P-WFSJ;WFSJJF;FAST Racing NEO;33,49
|
||||
0005000E-101E4100;1;WUP;00JF;WUP-P-WFSJ;WFSJJF;FAST Racing NEO;33,49,64
|
||||
0005000E-101EA100;1;WUP;00WR;WUP-P-ALRJ;ALRJWR;LEGO® MARVEL's Avengers;18
|
||||
0005000E-101D6100;4;WUP;00FV;WUP-U-AGWP;AGWPFV;Gunman Clive HD Collection;16
|
||||
0005000E-101D5100;4;WUP;011F;WUP-P-BSVP;BSVP1F;Stone Shire;32,49,64
|
||||
0005000E-101DAD00;2;WUP;016D;WUP-P-AT7E;AT7E6D;Tumblestone;16
|
||||
0005000E-101D9D00;2;WUP;00DU;WUP-P-AUME;AUMEDU;Minecraft: Wii U Edition;16,32,48,64,80,96,112,128,144,160,176,192,208,224
|
||||
0005000E-101DD900;1;WUP;0091;WUP-P-AMQJ;AMQJ91;Mighty No. 9;16
|
||||
0005000E-101D7500;4;WUP;00DU;WUP-P-AUMP;AUMPDU;Minecraft: Wii U Edition;16,32,48,64,80,96,112,128,144,161,176,192,208,224
|
||||
0005000E-101D5100;4;WUP;011F;WUP-P-BSVP;BSVP1F;Stone Shire;32,49,64,80
|
||||
0005000E-101D0900;2;WUP;00FV;WUP-U-AGWE;AGWEFV;Gunman Clive HD Collection;16
|
||||
0005000E-101D3900;4;WUP;017D;WUP-P-AQCP;AQCP7D;The Quiet Collection;16
|
||||
0005000E-101D6D00;4;WUP;010P;WUP-P-ARNP;ARNP0P;Runbow;17,33,48,65
|
||||
0005000E-101D7500;4;WUP;00DU;WUP-P-AUMP;AUMPDU;Minecraft: Wii U Edition;16,32,48,64,80,96,112,128,144,161,176,192,208,224
|
||||
0005000E-101DAD00;2;WUP;016D;WUP-P-AT7E;AT7E6D;Tumblestone;16
|
||||
0005000E-101DC100;4;WUP;016E;WUP-P-AD5P;AD5P6E;Octodad: Dadliest Catch;16
|
||||
0005000E-101DD900;1;WUP;0091;WUP-P-AMQJ;AMQJ91;Mighty No. 9;16
|
||||
0005000E-101DCD00;2;WUP;0001;WUP-U-BWGE;BWGE01;Star Fox Guard Special Demo;16
|
||||
0005000E-101DF500;4;WUP;0001;WUP-P-APKP;APKP01;POKKÉN TOURNAMENT;16,32,48,64
|
||||
0005000E-101D9D00;2;WUP;00DU;WUP-P-AUME;AUMEDU;Minecraft: Wii U Edition;16,32,48,64,80,96,112,128,144,160,176,192,208,224
|
||||
0005000E-101D6D00;4;WUP;010P;WUP-P-ARNP;ARNP0P;Runbow;17,33,48,65
|
||||
0005000E-101D6100;4;WUP;00FV;WUP-U-AGWP;AGWPFV;Gunman Clive HD Collection;16
|
||||
0005000E-101C3900;4;WUP;015G;WUP-P-AWBP;AWBP5G;Word Search by POWGI;16
|
||||
0005000E-101C3100;2;WUP;0167;WUP-U-AFEE;AFEE67;Freedom Planet;17
|
||||
0005000E-101C4D00;2;WUP;0001;WUP-P-AX5E;AX5E01;Xenoblade Chronicles X;16,32,48
|
||||
0005000E-101CC900;4;WUP;0167;WUP-U-AFEP;AFEP67;Freedom Planet;16
|
||||
0005000E-101CE100;2;WUP;0175;WUP-U-ACHE;ACHE75;Canvaleon;16,32
|
||||
0005000E-10132900;2;WUP;004Q;WUP-U-ADSE;ADSE4Q;Disney INFINITY;16,32,49
|
||||
0005000E-10139500;2;WUP;0041;WUP-U-WB7E;WB7E41;Rayman Legends Challenges App;16
|
||||
0005000E-10132500;1;WUP;0001;WUP-U-WB9J;WB9J01;Wii Fit U Quick Check;16,64,81
|
||||
0005000E-10131D00;1;WUP;0001;WUP-P-ASEJ;ASEJ01;幻影異聞録♯FE;17,32
|
||||
0005000E-10132900;2;WUP;004Q;WUP-U-ADSE;ADSE4Q;Disney INFINITY;16,32,49
|
||||
0005000E-10139900;2;WUP;0041;WUP-P-AJ5E;AJ5E41;JUST DANCE® 2014;16
|
||||
0005000E-10139500;2;WUP;0041;WUP-U-WB7E;WB7E41;Rayman Legends Challenges App;16
|
||||
0005000E-1012BD00;2;WUP;0001;WUP-U-AC3E;AC3E01;PIKMIN 3;33,48,64,80,96
|
||||
0005000E-1012C500;4;WUP;00AF;WUP-U-ACRP;ACRPAF;THE CROODS;16
|
||||
0005000E-1012F100;1;WUP;0001;WUP-U-AWSJ;AWSJ01;Wii Sports Club;16,32,48,64,80,96,112
|
||||
0005000E-1012B100;4;WUP;008P;WUP-U-ASNP;ASNP8P;SONIC LOST WORLD;16,32,48
|
||||
0005000E-1012F100;1;WUP;0001;WUP-U-AWSJ;AWSJ01;Wii Sports Club;16,32,48,64,80,96,112
|
||||
0005000E-10113100;1;WUP;0008;WUP-U-ABHJ;ABHJ08;BIOHAZARD REVELATIONS Unveiled Edition;16
|
||||
0005000E-10111D00;4;WUP;0041;WUP-U-ASPP;ASPP41;Sports Connection;16
|
||||
0005000E-10110100;2;WUP;00JX;WUP-U-WASE;WASEJX;Nano Assault Neo;17
|
||||
@ -156,21 +156,21 @@
|
||||
0005000E-10112500;1;WUP;0041;WUP-U-ASPJ;ASPJ41;Sports Connection;17
|
||||
0005000E-10116100;1;WUP;0001;WUP-P-AX5J;AX5J01;XenobladeX;16,32,48
|
||||
0005000E-10116500;4;WUP;00TW;WUP-U-WAAP;WAAPTW;Toki Tori 2+;16,32
|
||||
0005000E-10102100;4;WUP;0001;WUP-U-ALCP;ALCP01;Nintendo Land;32
|
||||
0005000E-10101D00;2;WUP;0001;WUP-U-ARPE;ARPE01;New SUPER MARIO BROS. U;32,48,64
|
||||
0005000E-10104D00;1;WUP;0008;WUP-U-AHDJ;AHDJ08;MONSTER HUNTER 3(tri-)G HD Ver.;16,32,48,65,80,96
|
||||
0005000E-10106900;1;WUP;0001;WUP-U-AURJ;AURJ01;Mario & Sonic at the Sochi 2014 Olympic Winter Games;16,32
|
||||
0005000E-1010DD00;2;WUP;0041;WUP-U-AZUE;AZUE41;ZombiU;16,32
|
||||
0005000E-10101D00;2;WUP;0001;WUP-U-ARPE;ARPE01;New SUPER MARIO BROS. U;32,48,64
|
||||
0005000E-10102100;4;WUP;0001;WUP-U-ALCP;ALCP01;Nintendo Land;32
|
||||
0005000E-10104D00;1;WUP;0008;WUP-U-AHDJ;AHDJ08;MONSTER HUNTER 3(tri-)G HD Ver.;16,32,48,65,80,96
|
||||
0005000E-1010F500;4;WUP;0069;WUP-U-AMEP;AMEP69;Mass Effect™ 3 Special Edition;16
|
||||
0005000E-1010ED00;4;WUP;0001;WUP-P-AMKP;AMKP01;MARIO KART 8;16,32,48,64
|
||||
0005000E-10175D00;4;WUP;00AF;WUP-P-AUNP;AUNPAF;ONE PIECE Unlimited World Red;16
|
||||
0005000E-10179100;2;WUP;0041;WUP-P-BJDE;BJDE41;JUST DANCE® 2015;16
|
||||
0005000E-10176500;2;WUP;00UB;WUP-U-WCGE;WCGEUB;Stealth Inc 2 A Game of Clones;16
|
||||
0005000E-10175D00;4;WUP;00AF;WUP-P-AUNP;AUNPAF;ONE PIECE Unlimited World Red;16
|
||||
0005000E-10176900;2;WUP;0001;WUP-P-AGME;AGME01;Splatoon;16,32,48,64,80,96,112,128,144,160,176,192,208,224,240,256,272
|
||||
0005000E-1017CD00;1;WUP;00C8;WUP-U-BWPJ;BWPJC8;Hyrule Warriors;32,49,64,80,98,112,113,128,144,160,176,192,208,224,240,256,272
|
||||
0005000E-1017D900;4;WUP;0001;WUP-U-BWPP;BWPP01;Hyrule Warriors;16,33,48,64,80,96,112,128,144,160,176,192,208
|
||||
0005000E-10179100;2;WUP;0041;WUP-P-BJDE;BJDE41;JUST DANCE® 2015;16
|
||||
0005000E-10162D00;2;WUP;0001;WUP-U-ABAE;ABAE01;Mario Party 10;16
|
||||
0005000E-1016AD00;2;WUP;00WR;WUP-P-BTME;BTMEWR;LEGO® Batman™ 3 Beyond Gotham;16,32,48
|
||||
0005000E-10162D00;2;WUP;0001;WUP-U-ABAE;ABAE01;Mario Party 10;16
|
||||
0005000E-1016D500;4;WUP;009Y;WUP-P-WCTP;WCTP9Y;Super Toy Cars;22
|
||||
0005000E-1016E100;2;WUP;00AY;WUP-P-WKNE;WKNEAY;Shovel Knight;16,32,48,64,80
|
||||
0005000E-10156100;4;WUP;0052;WUP-P-ACPP;ACPP52;Call of Duty: Ghosts;16,32,48,64,80,96,112
|
||||
@ -186,18 +186,18 @@
|
||||
0005000E-1014D900;1;WUP;008P;WUP-P-APTJ;APTJ8P;PUYOPUYOTETRIS;16,32
|
||||
0005000E-1014E100;4;WUP;00AF;WUP-U-ADVP;ADVPAF;Adventure Time: Explore the Dungeon Because I Don't Know!;16
|
||||
0005000E-10200900;4;WUP;00SS;WUP-P-BM7P;BM7PSS;MAHJONG;16
|
||||
0005000E-101B3E00;4;WUP;004Q;WUP-P-BD3Z;BD3Z4Q;DISNEY INFINITY 3.0: PLAY WITHOUT LIMITS;16,32,49,64,80
|
||||
0005000E-101BAA00;2;WUP;010C;WUP-U-ATTE;ATTE0C;Totem Topple;16,33
|
||||
0005000E-101BC600;4;WUP;0052;WUP-P-AGNP;AGNP52;Guitar Hero Live;18,32,48,64,80,96
|
||||
0005000E-101A2600;1;WUP;00W4;WUP-U-WKFJ;WKFJW4;Kung Fu Rabbit;16
|
||||
0005000E-101B3E00;4;WUP;004Q;WUP-P-BD3Z;BD3Z4Q;DISNEY INFINITY 3.0: PLAY WITHOUT LIMITS;16,32,49,64,80
|
||||
0005000E-101A2E00;1;WUP;00TF;WUP-P-WEXJ;WEXJTF;XType+;16
|
||||
0005000E-101A6200;2;WUP;00WR;WUP-U-ALJE;ALJEWR;LEGO® Jurassic World™;16
|
||||
0005000E-101A2600;1;WUP;00W4;WUP-U-WKFJ;WKFJW4;Kung Fu Rabbit;16
|
||||
0005000E-101A3600;4;WUP;0001;WUP-P-AVXP;AVXP01;Mario Tennis: Ultra Smash;32
|
||||
0005000E-101A5E00;4;WUP;00UB;WUP-U-ALLP;ALLPUB;OlliOlli;16
|
||||
0005000E-101A6200;2;WUP;00WR;WUP-U-ALJE;ALJEWR;LEGO® Jurassic World™;16
|
||||
0005000E-101AA200;2;WUP;014K;WUP-U-APJE;APJE4K;Vector Assault;18
|
||||
0005000E-101AFE00;4;WUP;00VZ;WUP-P-BFNP;BFNPVZ;Adventure Time Finn and Jake Investigations;16
|
||||
0005000E-10192200;1;WUP;00AF;WUP-P-BRSJ;BRSJAF;KAMEN RIDER SUMMON RIDE!;16,33,48,64,80
|
||||
0005000E-10194200;2;WUP;00WR;WUP-P-APZE;APZEWR;LEGO® DIMENSIONS™;16,32,48,64,80,96,112,128,144,160
|
||||
0005000E-10194200;2;WUP;00WR;WUP-P-APZE;APZEWR;LEGO® DIMENSIONS™;16,32,48,64,80,96,112,128,144,160,176
|
||||
0005000E-1019B200;4;WUP;009Y;WUP-P-BTCP;BTCP9Y;Tachyon Project;16
|
||||
0005000E-10180600;2;WUP;0001;WUP-P-AKBE;AKBE01;Captain Toad: Treasure Tracker;16
|
||||
0005000E-10189200;2;WUP;011C;WUP-P-BSPE;BSPE1C;Sportsball;16
|
||||
@ -207,12 +207,12 @@
|
||||
0005000E-101E3200;2;WUP;0190;WUP-P-AJQE;AJQE90;Jewel Quest;16
|
||||
0005000E-101EAA00;4;WUP;0041;WUP-P-BJ7P;BJ7P41;JUST DANCE® 2017;16
|
||||
0005000E-101EB200;2;WUP;0041;WUP-P-BJ7E;BJ7E41;JUST DANCE® 2017;16
|
||||
0005000E-101D4200;2;WUP;00DV;WUP-P-ABPE;ABPEDV;Brunswick Pro Bowling;16
|
||||
0005000E-101D9600;4;WUP;00UP;WUP-U-ARXP;ARXPUP;Rock 'N Racing Off Road DX;16
|
||||
0005000E-101DBE00;1;WUP;0188;WUP-P-AUMJ;AUMJ88;Minecraft: Wii U Edition;16,32,48,64,80,96,112,128,144,161,176,192,208,224
|
||||
0005000E-101DAA00;4;WUP;00WR;WUP-P-BLGP;BLGPWR;LEGO® STAR WARS™ The Force Awakens;17,32
|
||||
0005000E-101D4200;2;WUP;00DV;WUP-P-ABPE;ABPEDV;Brunswick Pro Bowling;16
|
||||
0005000E-101DCA00;4;WUP;017D;WUP-P-AVMP;AVMP7D;VoxelMaker;16
|
||||
0005000E-101DCE00;4;WUP;0001;WUP-U-BWGP;BWGP01;Star Fox Guard: Special Demo Version;16
|
||||
0005000E-101DBE00;1;WUP;0188;WUP-P-AUMJ;AUMJ88;Minecraft: Wii U Edition;16,32,48,64,80,96,112,128,144,161,176,192,208,224
|
||||
0005000E-101C5A00;4;WUP;00KM;WUP-P-AMQP;AMQPKM;Mighty No. 9;16
|
||||
0005000E-101C0A00;2;WUP;00UB;WUP-U-AN3E;AN3EUB;Nova-111;16
|
||||
0005000E-101C6200;2;WUP;0001;WUP-P-AP5E;AP5E01;Mini Mario & Friends amiibo Challenge;16
|
||||
@ -220,62 +220,62 @@
|
||||
0005000E-101C6E00;4;WUP;00RG;WUP-U-BS2P;BS2PRG;Swords & Soldiers II;16
|
||||
0005000E-101C8200;2;WUP;0164;WUP-P-AMPE;AMPE64;Momonga Pinball Adventures;16
|
||||
0005000E-101C9600;2;WUP;00JJ;WUP-P-AMQE;AMQEJJ;Mighty No. 9;16
|
||||
0005000E-10132A00;4;WUP;00Y4;WUP-U-WA2P;WA2PY4;Star Wars Pinball;17,32,48
|
||||
0005000E-10132600;2;WUP;0001;WUP-U-WB9E;WB9E01;Wii Fit U Quick Check;16,64,81
|
||||
0005000E-10135200;2;WUP;00Y4;WUP-U-WA2E;WA2EY4;Star Wars Pinball;16,33,48
|
||||
0005000E-10139200;2;WUP;0052;WUP-U-ASFE;ASFE52;Skylanders SWAP Force;16
|
||||
0005000E-10138E00;4;WUP;0041;WUP-U-WB7P;WB7P41;Rayman Legends Challenges App;16
|
||||
0005000E-10128A00;2;WUP;00FZ;WUP-U-WBDE;WBDEFZ;Trine 2 Director's Cut;16
|
||||
0005000E-10129200;4;WUP;0008;WUP-U-WDKP;WDKP08;DuckTales: Remastered;16,32
|
||||
0005000E-10132A00;4;WUP;00Y4;WUP-U-WA2P;WA2PY4;Star Wars Pinball;17,32,48
|
||||
0005000E-10135200;2;WUP;00Y4;WUP-U-WA2E;WA2EY4;Star Wars Pinball;16,33,48
|
||||
0005000E-10132600;2;WUP;0001;WUP-U-WB9E;WB9E01;Wii Fit U Quick Check;16,64,81
|
||||
0005000E-1012BE00;4;WUP;0001;WUP-U-AC3P;AC3P01;PIKMIN 3;17,48,64,80,96
|
||||
0005000E-10129200;4;WUP;0008;WUP-U-WDKP;WDKP08;DuckTales: Remastered;16,32
|
||||
0005000E-10128A00;2;WUP;00FZ;WUP-U-WBDE;WBDEFZ;Trine 2 Director's Cut;16
|
||||
0005000E-10110A00;2;WUP;0001;WUP-U-ANGE;ANGE01;NINJA GAIDEN 3: Razor's Edge;16,32,48,64,80
|
||||
0005000E-10110600;4;WUP;00JX;WUP-U-WASP;WASPJX;Nano Assault Neo;17
|
||||
0005000E-10111A00;4;WUP;00WR;WUP-U-AJSP;AJSPWR;Injustice: Gods Among Us;16
|
||||
0005000E-10110600;4;WUP;00JX;WUP-U-WASP;WASPJX;Nano Assault Neo;17
|
||||
0005000E-10110200;2;WUP;00C8;WUP-U-AHBE;AHBEC8;WARRIORS OROCHI 3 Hyper(NA);16,32
|
||||
0005000E-10110E00;1;WUP;0001;WUP-P-AXFJ;AXFJ01;Super Smash Bros. for Wii U;16,49,64,80,96,112,128,144,160,176,192,208,224,288
|
||||
0005000E-10112200;4;WUP;00FZ;WUP-U-WBDP;WBDPFZ;Trine 2 Director's Cut;16
|
||||
0005000E-10115E00;1;WUP;00GD;WUP-U-ADQJ;ADQJGD;Dragon Quest X;16,80,128,144,160,192,208,224,240,256,272,288,304,336,368,384,400,416,432,448,464,480,496,512,528,544,560,624,640,656,672,688,704,736,752,784,800,816,832,848,960,976,992,1008,1024,1040,1056,1072,1088,1104,1120,1136,1152,1168,1184,1200,1216,1232,1248,1264,1280,1296,1312,1328,1344,1360,1376,1392,1408,1424,1440,1456,1472,1488,1504,1520,1536,1552,1568,1584,1600,1616,1632,1648,1664,1680,1696,1712,1728,1744,1760,1776,1792,1808,1824,1840,1856,1872,1888,1904,1920,1936,1952,1968,1984,2000,2016,2032,2048,2064,2080,2096,2112,2128,2144,2160,2176,2192,2208,2224,2240,2256,2272,2288,2304,2320,2336,2352,2384,2400,2416,2432,2448,2464,2480,2496,2512,2528,2544,2560,2576,2592,2608,2624,2640,2656,2672,2688,2704,2720,2736,2752,2768,2784,2800,2816,2832,2848
|
||||
0005000E-10117200;4;WUP;0008;WUP-U-AHDP;AHDP08;MONSTER HUNTER 3 ULTIMATE;16,32
|
||||
0005000E-10116600;1;WUP;00C8;WUP-U-AH9J;AH9JC8;Fist of the North Star: Ken's Rage 2;17
|
||||
0005000E-10115E00;1;WUP;00GD;WUP-U-ADQJ;ADQJGD;Dragon Quest X;16,80,128,144,160,192,208,224,240,256,272,288,304,336,368,384,400,416,432,448,464,480,496,512,528,544,560,624,640,656,672,688,704,736,752,784,800,816,832,848,960,976,992,1008,1024,1040,1056,1072,1088,1104,1120,1136,1152,1168,1184,1200,1216,1232,1248,1264,1280,1296,1312,1328,1344,1360,1376,1392,1408,1424,1440,1456,1472,1488,1504,1520,1536,1552,1568,1584,1600,1616,1632,1648,1664,1680,1696,1712,1728,1744,1760,1776,1792,1808,1824,1840,1856,1872,1888,1904,1920,1936,1952,1968,1984,2000,2016,2032,2048,2064,2080,2096,2112,2128,2144,2160,2176,2192,2208,2224,2240,2256,2272,2288,2304,2320,2336,2352,2384,2400,2416,2432,2448,2464,2480,2496,2512,2528,2544,2560,2576,2592,2608,2624,2640,2656,2672,2688,2704,2720,2736,2752,2768,2784,2800,2816,2832,2848,2864
|
||||
0005000E-10117200;4;WUP;0008;WUP-U-AHDP;AHDP08;MONSTER HUNTER 3 ULTIMATE;16,32
|
||||
0005000E-1011B600;1;WUP;00GD;WUP-U-AQDJ;AQDJGD;Dragon Quest X Beta test;16,32,48,64,96
|
||||
0005000E-1011BA00;2;WUP;0041;WUP-U-WLAE;WLAE41;Uplay;16,33,48,64
|
||||
0005000E-1010AE00;2;WUP;0041;WUP-U-AJDE;AJDE41;JUST DANCE 4;16,32
|
||||
0005000E-1010B600;2;WUP;0041;WUP-U-AYSE;AYSE41;Your Shape® Fitness Evolved 2013;16,32
|
||||
0005000E-1010DA00;2;WUP;0054;WUP-U-ANBE;ANBE54;NBA 2K13;16,32
|
||||
0005000E-10101E00;4;WUP;0001;WUP-U-ARPP;ARPP01;New SUPER MARIO BROS. U;32,48,64,80
|
||||
0005000E-10100600;1;WUP;00AF;WUP-U-AKNJ;AKNJAF;TEKKEN TAG TOURNAMENT 2 Wii U EDITION;16
|
||||
0005000E-10102200;1;WUP;0001;WUP-U-ASTJ;ASTJ01;Wii Fit U;32,48,64,81
|
||||
0005000E-1010AE00;2;WUP;0041;WUP-U-AJDE;AJDE41;JUST DANCE 4;16,32
|
||||
0005000E-1010DA00;2;WUP;0054;WUP-U-ANBE;ANBE54;NBA 2K13;16,32
|
||||
0005000E-1010F600;4;WUP;0041;WUP-U-ASSP;ASSP41;Assassin's Creed® III;16,32,48,64,80
|
||||
0005000E-1010EA00;1;WUP;00C8;WUP-U-AHBJ;AHBJC8;WARRIORS OROCHI 3 Hyper;16,32,48,64
|
||||
0005000E-1010EE00;4;WUP;0069;WUP-U-AF3P;AF3P69;FIFA 13 ;16
|
||||
0005000E-1017DA00;2;WUP;011S;WUP-P-ACQE;ACQE1S;Costume Quest 2;16
|
||||
0005000E-10176600;1;WUP;00R5;WUP-P-WG8J;WG8JR5;GREAT RACE;16
|
||||
0005000E-1017C600;2;WUP;0052;WUP-P-BK7E;BK7E52;Skylanders Trap Team;16
|
||||
0005000E-1017E200;4;WUP;0102;WUP-P-WTSP;WTSP02;3Souls;16
|
||||
0005000E-10177600;2;WUP;0001;WUP-U-ADNE;ADNE01;Devil's Third;16
|
||||
0005000E-10170600;1;WUP;00AF;WUP-U-APWJ;APWJAF;KAMEN RIDER BATTRIDE WAR Ⅱ PREMIUM TV&MOVIE SOUND ED.;16
|
||||
0005000E-10170200;2;WUP;007Z;WUP-U-WGAE;WGAE7Z;Pier Solar and the Great Architects;16,33
|
||||
0005000E-10172A00;2;WUP;009Z;WUP-N-HRLE;HRLE9Z;Crunchyroll;16
|
||||
0005000E-10176A00;4;WUP;0001;WUP-P-AGMP;AGMP01;Splatoon;32,48,64,80,96,112,128,144,160,176,192,208,224,240,256,272
|
||||
0005000E-10177600;2;WUP;0001;WUP-U-ADNE;ADNE01;Devil's Third;16
|
||||
0005000E-1017BE00;1;WUP;0001;WUP-U-BXAJ;BXAJ01;Art Academy: Home Studio;48
|
||||
0005000E-1017C600;2;WUP;0052;WUP-P-BK7E;BK7E52;Skylanders Trap Team;16
|
||||
0005000E-1017E200;4;WUP;0102;WUP-P-WTSP;WTSP02;3Souls;16
|
||||
0005000E-1017DA00;2;WUP;011S;WUP-P-ACQE;ACQE1S;Costume Quest 2;16
|
||||
0005000E-1016A200;4;WUP;00SS;WUP-U-WBXP;WBXPSS;Bombing Bastards;16
|
||||
0005000E-1016A600;1;WUP;00TF;WUP-P-WB6J;WB6JTF;わいわい!みんなでチャレンジ;17
|
||||
0005000E-10169600;4;WUP;00UP;WUP-U-WEPS;WEPSUP;Unepic EnjoyUp Games;16,32
|
||||
0005000E-1016B200;2;WUP;009V;WUP-U-WMRE;WMRE9V;Master Reboot;16
|
||||
0005000E-1016CE00;2;WUP;00YR;WUP-U-WCZE;WCZEYR;Color Zen;16
|
||||
0005000E-1016EA00;4;WUP;0041;WUP-P-ACLP;ACLP41;CHILD of LIGHT;16
|
||||
0005000E-1016B200;2;WUP;009V;WUP-U-WMRE;WMRE9V;Master Reboot;16
|
||||
0005000E-1016A200;4;WUP;00SS;WUP-U-WBXP;WBXPSS;Bombing Bastards;16
|
||||
0005000E-10169600;4;WUP;00UP;WUP-U-WEPS;WEPSUP;Unepic EnjoyUp Games;16,32
|
||||
0005000E-1016CE00;2;WUP;00YR;WUP-U-WCZE;WCZEYR;Color Zen;16
|
||||
0005000E-1016DE00;2;WUP;009Y;WUP-P-WCTE;WCTE9Y;Super Toy Cars;16
|
||||
0005000E-10154600;1;WUP;00WR;WUP-U-AZEJ;AZEJWR;Batman™: Arkham Origins;16
|
||||
0005000E-10157600;4;WUP;0052;WUP-P-ACPI;ACPI52;Call of Duty: Ghosts;16,32,48,64,80,96,112
|
||||
0005000E-10159A00;4;WUP;0001;WUP-U-AFCP;AFCP01;Wii Fit U (promo);48,64,81
|
||||
0005000E-1015B200;2;WUP;0041;WUP-P-ACLE;ACLE41;CHILD of LIGHT;16
|
||||
0005000E-10147600;4;WUP;00DZ;WUP-P-WEVP;WEVPDZ;EvoFish;17
|
||||
0005000E-10144E00;4;WUP;0001;WUP-U-AWSP;AWSP01;Wii Sports Club;16,33,48,64,80,96,112
|
||||
0005000E-10145600;7;WUP;0001;WUP-U-ADBA;ADBA01;Animal Crossing Plaza;16
|
||||
0005000E-10142A00;2;WUP;005G;WUP-U-AZBE;AZBE5G;Zumba Fitness World Party;16
|
||||
0005000E-10145600;7;WUP;0001;WUP-U-ADBA;ADBA01;Animal Crossing Plaza;16
|
||||
0005000E-10144E00;4;WUP;0001;WUP-U-AWSP;AWSP01;Wii Sports Club;16,33,48,64,80,96,112
|
||||
0005000E-10149200;4;WUP;00SS;WUP-U-WDFP;WDFPSS;Spot The Differences: Party!;16,32
|
||||
0005000E-10148200;2;WUP;00UP;WUP-U-WAEE;WAEEUP;Rock 'N Racing Off Road;16
|
||||
0005000E-1014DA00;1;WUP;0008;WUP-U-AMFJ;AMFJ08;Monster Hunter Frontier G;80,96,112,128,144,160,176,192,208,224,240,256,288,304,320,336,352,368,400,432,448,464,480,496,512,528,544,560,576,592,608,624,640,656,672,688,704,720,736,752,768,784,800,816,832,848,864,880,896,912,928,944,960,976,992,1008,1024,1040,1056,1072,1088,1104,1120,1136,1152,1168,1184,1200,1216,1232,1248,1264,1280,1296,1312,1328,1344,1360,1376,1392,1408,1424,1440,1456,1472,1488,1504,1520,1536,1552,1568,1584,1600,1616
|
||||
0005000E-1014DA00;1;WUP;0008;WUP-U-AMFJ;AMFJ08;Monster Hunter Frontier G;80,96,112,128,144,160,176,192,208,224,240,256,288,304,320,336,352,368,400,432,448,464,480,496,512,528,544,560,576,592,608,624,640,656,672,688,704,720,736,752,768,784,800,816,832,848,864,880,896,912,928,944,960,976,992,1008,1024,1040,1056,1072,1088,1104,1120,1136,1152,1168,1184,1200,1216,1232,1248,1264,1280,1296,1312,1328,1344,1360,1376,1392,1408,1424,1440,1456,1472,1488,1504,1520,1536,1552,1568,1584,1600,1616,1648
|
||||
0005000E-1014DE00;2;WUP;00WR;WUP-U-ALAE;ALAEWR;The LEGO® Movie Videogame;16
|
||||
0005000E-1014C600;4;WUP;00CX;WUP-U-WGSP;WGSPCX;Giana Sisters Twisted Dreams;16
|
||||
0005000E-10200A00;4;WUP;00SS;WUP-U-BB2P;BB2PSS;BRICK BREAKER;32
|
||||
@ -283,21 +283,21 @@
|
||||
0005000E-101BB300;4;WUP;008V;WUP-P-WLSP;WLSP8V;ZaciSa: Defense of the Crayon Dimension!;16
|
||||
0005000E-101BEF00;2;WUP;00WR;WUP-P-ALRE;ALREWR;LEGO® MARVEL's Avengers;16,32,48,64
|
||||
0005000E-101A3B00;2;WUP;00LY;WUP-P-BLPE;BLPELY;Life of Pixel;16
|
||||
0005000E-101A5F00;2;WUP;00WY;WUP-U-BSXE;BSXEWY;Shantae and the Pirate's Curse;16
|
||||
0005000E-101A1B00;2;WUP;00RG;WUP-U-BS2E;BS2ERG;Swords & Soldiers II;16
|
||||
0005000E-101A6300;4;WUP;00YR;WUP-U-ACUP;ACUPYR;Cube Life: Island Survival;16,32
|
||||
0005000E-101A9F00;2;WUP;0147;WUP-P-BDAE;BDAE47;Dot Arcade;16
|
||||
0005000E-101AC700;2;WUP;00VZ;WUP-P-BFNE;BFNEVZ;Adventure Time Finn and Jake Investigations;16
|
||||
0005000E-101AFF00;1;WUP;0001;WUP-U-AFXJ;AFXJ01;Star Fox Zero;16
|
||||
0005000E-101AC700;2;WUP;00VZ;WUP-P-BFNE;BFNEVZ;Adventure Time Finn and Jake Investigations;16
|
||||
0005000E-101A9F00;2;WUP;0147;WUP-P-BDAE;BDAE47;Dot Arcade;16
|
||||
0005000E-101A6300;4;WUP;00YR;WUP-U-ACUP;ACUPYR;Cube Life: Island Survival;16,32
|
||||
0005000E-101A5F00;2;WUP;00WY;WUP-U-BSXE;BSXEWY;Shantae and the Pirate's Curse;16
|
||||
0005000E-10190300;1;WUP;0001;WUP-U-ABJJ;ABJJ01;M & S at the Rio 2016 Olympic Games;48
|
||||
0005000E-10191700;4;WUP;00UP;WUP-U-BMVP;BMVPUP;99Moves;16,32
|
||||
0005000E-10193300;4;WUP;006V;WUP-P-BLKP;BLKP6V;Legend of Kay Anniversary;16
|
||||
0005000E-10198F00;4;WUP;00GT;WUP-P-BTXP;BTXPGT;Terraria;17,32
|
||||
0005000E-1019C300;2;WUP;00GT;WUP-P-BTXE;BTXEGT;Terraria;16,32
|
||||
0005000E-10180700;4;WUP;0001;WUP-P-AKBP;AKBP01;Captain Toad: Treasure Tracker;16
|
||||
0005000E-10181F00;4;WUP;0052;WUP-P-BK7P;BK7P52;Skylanders Trap Team;16
|
||||
0005000E-10188B00;1;WUP;0001;WUP-U-AXYJ;AXYJ01;Kirby and the Rainbow Curse;16
|
||||
0005000E-1018DB00;1;WUP;0001;WUP-U-AMAJ;AMAJ01;Super Mario Maker;16,32,48,64,80,96,113,128,144,160,176,192,208
|
||||
0005000E-10181F00;4;WUP;0052;WUP-P-BK7P;BK7P52;Skylanders Trap Team;16
|
||||
0005000E-10180700;4;WUP;0001;WUP-P-AKBP;AKBP01;Captain Toad: Treasure Tracker;16
|
||||
0005000E-101F2700;4;WUP;017P;WUP-P-BY2P;BY2P7P;Star Sky 2;16,32
|
||||
0005000E-101F5F00;2;WUP;008V;WUP-P-AHZE;AHZE8V;Hot Rod Racer;16
|
||||
0005000E-101F7700;4;WUP;017D;WUP-P-AHYP;AHYP7D;PixelMaker;16,32
|
||||
@ -306,23 +306,23 @@
|
||||
0005000E-101E4300;1;WUP;00TF;WUP-P-AMPJ;AMPJTF;モモンガ ピンボール アドベンチャー;16
|
||||
0005000E-101E5300;2;WUP;0001;WUP-U-ABJE;ABJE01;M & S at the Rio 2016 Olympic Games;16
|
||||
0005000E-101E9300;2;WUP;010C;WUP-U-BGGE;BGGE0C;Gear Gauntlet;16
|
||||
0005000E-101D0700;4;WUP;0175;WUP-U-ACHP;ACHP75;Canvaleon;16,32
|
||||
0005000E-101D8300;4;WUP;00TJ;WUP-U-AEJP;AEJPTJ;Electronic Super Joy;16
|
||||
0005000E-101DAB00;2;WUP;00WR;WUP-P-BLGE;BLGEWR;LEGO® STAR WARS™ The Force Awakens;16,32
|
||||
0005000E-101DD700;1;WUP;013P;WUP-P-ARNJ;ARNJ3P;Runbow;16,17,32,49
|
||||
0005000E-101D9300;1;WUP;0001;WUP-P-WKNJ;WKNJ01;Shovel Knight;16
|
||||
0005000E-101DD700;1;WUP;013P;WUP-P-ARNJ;ARNJ3P;Runbow;16,17,32,49
|
||||
0005000E-101D0700;4;WUP;0175;WUP-U-ACHP;ACHP75;Canvaleon;16,32
|
||||
0005000E-101C0700;4;WUP;00UB;WUP-U-AN3P;AN3PUB;Nova-111;16
|
||||
0005000E-101C0B00;2;WUP;00UB;WUP-P-BS7E;BS7EUB;The Swindle;16
|
||||
0005000E-101C6300;4;WUP;0001;WUP-P-AP5P;AP5P01;Mini Mario & Friends amiibo Challenge;16
|
||||
0005000E-101C8B00;4;WUP;00YT;WUP-P-AWMP;AWMPYT;WICKED MONSTERS BLAST! HD PLUS;16
|
||||
0005000E-10135300;4;WUP;0001;WUP-U-ACMP;ACMP01;The Wonderful 101;16
|
||||
0005000E-10135700;1;WUP;008P;WUP-U-ASNJ;ASNJ8P;SONIC LOST WORLD;16,32,48
|
||||
0005000E-10131F00;1;WUP;0001;WUP-U-AYCJ;AYCJ01;yoshi's woolly world;32
|
||||
0005000E-10132700;4;WUP;0001;WUP-U-WB9P;WB9P01;Wii Fit U Quick Check;16,64,81
|
||||
0005000E-10132B00;2;WUP;00WR;WUP-P-ALME;ALMEWR;LEGO® MARVEL Super Heroes;16,32
|
||||
0005000E-10135700;1;WUP;008P;WUP-U-ASNJ;ASNJ8P;SONIC LOST WORLD;16,32,48
|
||||
0005000E-10137F00;2;WUP;0001;WUP-P-ARKE;ARKE01;Donkey Kong Country Tropical Freeze;16
|
||||
0005000E-10136300;4;WUP;00XY;WUP-U-WBTP;WBTPXY;BIT.TRIP Presents... Runner2: Future Legend of Rhythm Alien;17
|
||||
0005000E-10136F00;4;WUP;004Q;WUP-U-ADSP;ADSP4Q;Disney Infinity;16,32,49
|
||||
0005000E-10135300;4;WUP;0001;WUP-U-ACMP;ACMP01;The Wonderful 101;16
|
||||
0005000E-10132B00;2;WUP;00WR;WUP-P-ALME;ALMEWR;LEGO® MARVEL Super Heroes;16,32
|
||||
0005000E-10138300;4;WUP;0001;WUP-P-ARKP;ARKP01;Donkey Kong Country Tropical Freeze;17
|
||||
0005000E-10138700;4;WUP;00YV;WUP-P-WB6P;WB6PYV;Spin the Bottle: Bumpie's Party;16,33
|
||||
0005000E-10138B00;2;WUP;0041;WUP-U-ASBE;ASBE41;Assassin's Creed® IV Black Flag;16,32
|
||||
@ -331,58 +331,58 @@
|
||||
0005000E-10128F00;2;WUP;008P;WUP-U-ASNE;ASNE8P;SONIC LOST WORLD;16,32,48
|
||||
0005000E-1012CF00;2;WUP;0008;WUP-U-ABHE;ABHE08;RESIDENT EVIL REVELATIONS;16
|
||||
0005000E-1012B700;1;WUP;0013;WUP-U-ANSJ;ANSJ13;Need for Speed™ Most Wanted U;16,32
|
||||
0005000E-10112300;1;WUP;0041;WUP-U-AZUJ;AZUJ41;ZombiU;16,32
|
||||
0005000E-10113700;4;WUP;0052;WUP-U-AECD;AECD52;Call of Duty: Black Ops II;16,32,48,64,80,96,112,144
|
||||
0005000E-10110B00;4;WUP;0001;WUP-U-ANGP;ANGP01;NINJA GAIDEN 3: Razor's Edge;17,32,48
|
||||
0005000E-10111F00;4;WUP;008P;WUP-U-AS2P;AS2P8P;Sonic & All-Stars Racing Transformed;32,48
|
||||
0005000E-10111700;2;WUP;00WR;WUP-U-AJSE;AJSEWR;Injustice: Gods Among Us;16
|
||||
0005000E-10110B00;4;WUP;0001;WUP-U-ANGP;ANGP01;NINJA GAIDEN 3: Razor's Edge;17,32,48
|
||||
0005000E-10112300;1;WUP;0041;WUP-U-AZUJ;AZUJ41;ZombiU;16,32
|
||||
0005000E-10112B00;4;WUP;00C8;WUP-U-AHBP;AHBPC8;WARRIORS OROCHI 3 Hyper(EU);16,32
|
||||
0005000E-10112F00;4;WUP;0054;WUP-U-ANBP;ANBP54;NBA 2K13;32
|
||||
0005000E-10115F00;2;WUP;00Y4;WUP-U-WBAE;WBAEY4;Zen Pinball 2;16,32,48,65,80,96
|
||||
0005000E-10117700;4;WUP;00TJ;WUP-U-WCAP;WCAPTJ;Chasing Aurora;17
|
||||
0005000E-10116300;1;WUP;0001;WUP-U-ACMJ;ACMJ01;The Wonderful 101;16
|
||||
0005000E-10118300;2;WUP;0008;WUP-U-AHDE;AHDE08;MONSTER HUNTER 3 ULTIMATE;16,32
|
||||
0005000E-1011A700;4;WUP;0041;WUP-U-AZUD;AZUD41;ZombiU;16,32
|
||||
0005000E-1011B300;4;WUP;00TZ;WUP-U-AFBZ;AFBZTZ;Funky Barn (Download Version);16
|
||||
0005000E-1011B700;4;WUP;0041;WUP-U-WLAP;WLAP41;Uplay;16,32,33,48,64
|
||||
0005000E-1011A700;4;WUP;0041;WUP-U-AZUD;AZUD41;ZombiU;16,32
|
||||
0005000E-1011AF00;2;WUP;00XY;WUP-U-WBTE;WBTEXY;BIT.TRIP Presents... Runner2: Future Legend of Rhythm Alien;16,33
|
||||
0005000E-10106B00;2;WUP;0041;WUP-U-ASSE;ASSE41;Assassin's Creed® III;16,32,48,64,80
|
||||
0005000E-10101B00;4;WUP;0001;WUP-U-APLP;APLP01;LEGO® CITY UNDERCOVER;16
|
||||
0005000E-10101F00;1;WUP;0001;WUP-U-ALCJ;ALCJ01;Nintendo Land;32
|
||||
0005000E-10102300;2;WUP;0001;WUP-U-ASTE;ASTE01;Wii Fit U;16,48,64,81
|
||||
0005000E-1010B300;2;WUP;008P;WUP-U-AS2E;AS2E8P;Sonic & All-Stars Racing Transformed;16,32,48
|
||||
0005000E-1010AF00;2;WUP;0041;WUP-U-AMVE;AMVE41;Marvel Avengers™: Battle for Earth;16
|
||||
0005000E-1010C700;2;WUP;0001;WUP-U-AURE;AURE01;Mario & Sonic at the Sochi 2014 Olympic Winter Games;16,32
|
||||
0005000E-1010CF00;2;WUP;0052;WUP-U-AECE;AECE52;Call of Duty: Black Ops II;16,32,48,64,80,96,112,128
|
||||
0005000E-1010AF00;2;WUP;0041;WUP-U-AMVE;AMVE41;Marvel Avengers™: Battle for Earth;16
|
||||
0005000E-10106B00;2;WUP;0041;WUP-U-ASSE;ASSE41;Assassin's Creed® III;16,32,48,64,80
|
||||
0005000E-10101F00;1;WUP;0001;WUP-U-ALCJ;ALCJ01;Nintendo Land;32
|
||||
0005000E-10101B00;4;WUP;0001;WUP-U-APLP;APLP01;LEGO® CITY UNDERCOVER;16
|
||||
0005000E-10102300;2;WUP;0001;WUP-U-ASTE;ASTE01;Wii Fit U;16,48,64,81
|
||||
0005000E-1010EB00;1;WUP;0001;WUP-P-AMKJ;AMKJ01;MARIO KART 8;17,33,48,64
|
||||
0005000E-1010E300;2;WUP;0041;WUP-U-AS9E;AS9E41;Splinter Cell Blacklist;16,32,48
|
||||
0005000E-1010FF00;4;WUP;00WR;WUP-U-AGPP;AGPPWR;Game Party Champions;16
|
||||
0005000E-1010FB00;4;WUP;00NK;WUP-U-WDLP;WDLPNK;Puddle;16
|
||||
0005000E-1010F700;4;WUP;0041;WUP-U-AYSP;AYSP41;Your Shape® Fitness Evolved 2013;16,33
|
||||
0005000E-1010EB00;1;WUP;0001;WUP-P-AMKJ;AMKJ01;MARIO KART 8;17,33,48,64
|
||||
0005000E-1010EF00;4;WUP;0041;WUP-U-AZUP;AZUP41;ZombiU;16,32
|
||||
0005000E-10172B00;4;WUP;009Z;WUP-N-HRLP;HRLP9Z;Crunchyroll;17
|
||||
0005000E-10178F00;4;WUP;00AY;WUP-P-WKNP;WKNPAY;Shovel Knight;16,32,48
|
||||
0005000E-10176F00;4;WUP;0041;WUP-P-BJDP;BJDP41;JUST DANCE® 2015;16
|
||||
0005000E-1017BF00;2;WUP;0001;WUP-U-BXAE;BXAE01;Art Academy: Home Studio;17
|
||||
0005000E-10175B00;2;WUP;008P;WUP-P-BSSE;BSSE8P;Sonic Boom: Rise of Lyric;16
|
||||
0005000E-10172B00;4;WUP;009Z;WUP-N-HRLP;HRLP9Z;Crunchyroll;17
|
||||
0005000E-10170700;1;WUP;00AF;WUP-U-ABWJ;ABWJAF;KAMEN RIDER BATTRIDE WAR Ⅱ;17
|
||||
0005000E-10173300;4;WUP;00UB;WUP-U-WCGP;WCGPUB;Stealth Inc 2 A Game of Clones;16,32
|
||||
0005000E-10176F00;4;WUP;0041;WUP-P-BJDP;BJDP41;JUST DANCE® 2015;16
|
||||
0005000E-10178F00;4;WUP;00AY;WUP-P-WKNP;WKNPAY;Shovel Knight;16,32,48
|
||||
0005000E-1017BF00;2;WUP;0001;WUP-U-BXAE;BXAE01;Art Academy: Home Studio;17
|
||||
0005000E-1017E700;2;WUP;0102;WUP-P-WTSE;WTSE02;3Souls;16
|
||||
0005000E-1016C700;4;WUP;009T;WUP-U-WMLP;WMLP9T;Armillo;16
|
||||
0005000E-1016AB00;2;WUP;00SS;WUP-U-WBXE;WBXESS;Bombing Bastards;16
|
||||
0005000E-1016FF00;2;WUP;00NT;WUP-P-WFWE;WFWENT;Flowerworks HD Follie's Adventure;16
|
||||
0005000E-1016E300;2;WUP;008S;WUP-P-WGRE;WGRE8S;GravBlocks+ From Nothing Game Studios;16
|
||||
0005000E-10162300;4;WUP;00YR;WUP-U-WCZP;WCZPYR;Color Zen;17
|
||||
0005000E-10161F00;1;WUP;0001;WUP-U-ABAJ;ABAJ01;Mario Party 10;16
|
||||
0005000E-10162B00;1;WUP;0001;WUP-P-AGMJ;AGMJ01;Splatoon;16,32,48,64,80,96,112,128,144,160,176,192,208,224,240,256,272
|
||||
0005000E-1016AB00;2;WUP;00SS;WUP-U-WBXE;WBXESS;Bombing Bastards;16
|
||||
0005000E-1016C700;4;WUP;009T;WUP-U-WMLP;WMLP9T;Armillo;16
|
||||
0005000E-1016FF00;2;WUP;00NT;WUP-P-WFWE;WFWENT;Flowerworks HD Follie's Adventure;16
|
||||
0005000E-1016E300;2;WUP;008S;WUP-P-WGRE;WGRE8S;GravBlocks+ From Nothing Game Studios;16
|
||||
0005000E-1015A300;1;WUP;00AF;WUP-U-ADSJ;ADSJAF;Disney INFINITY;17
|
||||
0005000E-1015D300;2;WUP;00AS;WUP-P-WLCE;WLCEAS;Lucadian Chronicles;16,32
|
||||
0005000E-1015EB00;1;WUP;00R7;WUP-U-WHYJ;WHYJR7;Mighty Switch Force!™ Hyper Drive Edition;18
|
||||
0005000E-10145F00;1;WUP;0001;WUP-P-WMGJ;WMGJ01;NES REMIX;16
|
||||
0005000E-10147F00;2;WUP;00YV;WUP-P-WB6E;WB6EYV;Spin the Bottle: Bumpie's Party;16,32
|
||||
0005000E-10140700;1;WUP;00WR;WUP-U-AJSJ;AJSJWR;Injustice: Gods Among Us;16
|
||||
0005000E-10142700;4;WUP;0001;WUP-P-AA9P;AA9P01;Art Academy: SketchPad;16
|
||||
0005000E-10142B00;1;WUP;0001;WUP-P-AA9J;AA9J01;Art Academy: SketchPad;16
|
||||
0005000E-10147F00;2;WUP;00YV;WUP-P-WB6E;WB6EYV;Spin the Bottle: Bumpie's Party;16,32
|
||||
0005000E-10143F00;4;WUP;0041;WUP-P-AJ5P;AJ5P41;JUST DANCE® 2014;16
|
||||
0005000E-10144F00;2;WUP;0001;WUP-P-AXFE;AXFE01;Super Smash Bros. for Wii U;32,48,64,80,96,112,128,144,160,176,192,208,224,288
|
||||
0005000E-10149700;1;WUP;0001;WUP-P-WAUJ;WAUJ01;役満 鳳凰;34,48,64
|
||||
|
|
BIN
release.zip
BIN
release.zip
Binary file not shown.
@ -85,4 +85,18 @@ public class Content {
|
||||
public String toString(){
|
||||
return "ID: " + ID +" index: " + index + " type: " + type + " size: " + size + " SHA2: " + Util.ByteArrayToString(SHA2);
|
||||
}
|
||||
|
||||
public long getSize() {
|
||||
return size;
|
||||
}
|
||||
|
||||
public void setSize(long size) {
|
||||
this.size = size;
|
||||
}
|
||||
|
||||
public int getContentID() {
|
||||
return ID;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -35,9 +35,18 @@ public class FEntry implements IHasName{
|
||||
|
||||
private Content content = null;
|
||||
|
||||
private short flags = 0;
|
||||
|
||||
public FEntry(String path, String filename, int contentID,int NUScontentID, long fileOffset, long fileLength, boolean dir,
|
||||
boolean in_nus_title, boolean extract_withHash, List<String> pathList,FST fst,byte[] hash,Content content) {
|
||||
public short getFlags() {
|
||||
return flags;
|
||||
}
|
||||
|
||||
public void setFlags(short flags) {
|
||||
this.flags = flags;
|
||||
}
|
||||
|
||||
public FEntry(String path, String filename, int contentID,int NUScontentID, long fileOffset, long fileLength, boolean dir,
|
||||
boolean in_nus_title, boolean extract_withHash, List<String> pathList,FST fst,byte[] hash,Content content,short flags) {
|
||||
setPath(path);
|
||||
setFileName(filename);
|
||||
setContentID(contentID);
|
||||
@ -49,6 +58,7 @@ public class FEntry implements IHasName{
|
||||
setNUScontentID(NUScontentID);
|
||||
setPathList(pathList);
|
||||
setHash(hash);
|
||||
setFlags(flags);
|
||||
this.fst = fst;
|
||||
}
|
||||
|
||||
@ -120,12 +130,14 @@ public class FEntry implements IHasName{
|
||||
this.fileLength = fileLength;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString(){
|
||||
return getFullPath() + " Content ID:" + contentID + " Size: " + fileLength +"MB Offset: " + fileOffset;
|
||||
}
|
||||
|
||||
|
||||
public int getNUScontentID() {
|
||||
@Override
|
||||
public String toString() {
|
||||
return getFullPath() + " Content ID:" + contentID + " Size: " + fileLength/1024.0/1024.0 +"MB Offset: " + fileOffset;
|
||||
}
|
||||
|
||||
public int getNUScontentID() {
|
||||
return NUScontentID;
|
||||
}
|
||||
|
||||
|
@ -4,7 +4,9 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@ -38,7 +40,7 @@ public class FST {
|
||||
String contentfolder = "";
|
||||
Directory<FEntry> curContent = contentDirectory;
|
||||
for(FEntry f : getFileEntries()){
|
||||
if(!f.isDir() && f.isInNUSTitle()){
|
||||
if(f.isInNUSTitle()){
|
||||
contentfolder = String.format("%08X",tmd.contents[f.getContentID()].ID);
|
||||
|
||||
if(!contentDirectory.containsFolder(contentfolder)){
|
||||
@ -80,7 +82,7 @@ public class FST {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//private Map<Content,List<FEntry>> contentmap = new HashMap<>();
|
||||
private void parse(byte[] decrypteddata, TitleMetaData tmd) throws IOException {
|
||||
|
||||
if(!Arrays.equals(Arrays.copyOfRange(decrypteddata, 0, 3), new byte[]{0x46,0x53,0x54})){
|
||||
@ -97,6 +99,7 @@ public class FST {
|
||||
|
||||
/*
|
||||
for(int i = 0;i<totalContentCount;i++){
|
||||
contentmap.put(tmd.contents[i],new ArrayList<FEntry>());
|
||||
int my_offset = 0x20 + (i* 0x20);
|
||||
int address = Util.getIntFromBytes(decrypteddata, my_offset+ 0) ;
|
||||
long parentid = Util.getLongFromBytes(decrypteddata, my_offset+ 8) ;
|
||||
@ -104,7 +107,8 @@ public class FST {
|
||||
int size = Util.getIntFromBytes(decrypteddata, my_offset+ 4);
|
||||
byte hashmode = decrypteddata[my_offset+ 20];
|
||||
System.out.print(String.format("Content %02X: ", i) + " offset " + String.format("%08X", address)+ " size " + String.format("%08X", size) +" ");
|
||||
System.out.println(String.format("parent(?) %016X: ", parentid) + " groupid " + String.format("%08X", groupid)+ " hashmode " + String.format("%01X", hashmode) +" ");
|
||||
System.out.print(String.format("parent(?) %016X: ", parentid) + " groupid " + String.format("%08X", groupid)+ " hashmode " + String.format("%01X", hashmode) +" ");
|
||||
System.out.println(String.format("encrypted content size: "+ String.format("%08X", tmd.contents[i].size)));
|
||||
}*/
|
||||
|
||||
for(int i = 0;i<this.totalEntries;i++){
|
||||
@ -131,7 +135,7 @@ public class FST {
|
||||
int offset = base_offset + i*0x10;
|
||||
|
||||
//getting the type
|
||||
type = (int) decrypteddata[offset]+128;
|
||||
type = (int) decrypteddata[offset]+128;
|
||||
if((type & FEntry.DIR_FLAG) == 1) dir = true;
|
||||
if((type & FEntry.NOT_IN_NUSTITLE_FLAG) == 0 ) in_nus_title = false;
|
||||
|
||||
@ -148,9 +152,11 @@ public class FST {
|
||||
|
||||
//getting offsets. save in two ways
|
||||
offset+=4;
|
||||
fileOffset = (long) Util.getIntFromBytes(decrypteddata, offset);
|
||||
fileOffset = Util.getUnsingedIntFromBytes(decrypteddata, offset);
|
||||
|
||||
offset+=4;
|
||||
fileLength = Util.getIntAsLongFromBytes(decrypteddata, offset);
|
||||
fileLength = Util.getUnsingedIntFromBytes(decrypteddata, offset);
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
int parentOffset = (int) fileOffset;
|
||||
int nextOffset = (int) fileLength;
|
||||
@ -190,14 +196,14 @@ public class FST {
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
if(in_nus_title){
|
||||
|
||||
/*if(in_nus_title){
|
||||
System.out.println("Dirname: " + filename);
|
||||
System.out.println("ID: " + i);
|
||||
System.out.println("ParentOffset: " + parentOffset);
|
||||
System.out.println(" NextOffset: " + nextOffset);
|
||||
}*/
|
||||
}else{
|
||||
}*/
|
||||
}//else{
|
||||
/*
|
||||
if(in_nus_title){
|
||||
System.out.println("FILE : " + filename);
|
||||
@ -207,7 +213,11 @@ public class FST {
|
||||
int k = 0;
|
||||
int nameoffoff,nameoff_entrypath;
|
||||
|
||||
for( j=0; j<level; ++j )
|
||||
int startlevel = level;
|
||||
if(dir){
|
||||
startlevel = level -1;
|
||||
}
|
||||
for( j=0; j<startlevel; ++j )
|
||||
{
|
||||
nameoffoff = Util.getIntFromBytes(decrypteddata,base_offset+Entry[j]*0x10);
|
||||
k=0;
|
||||
@ -222,13 +232,17 @@ public class FST {
|
||||
}
|
||||
|
||||
sb.append(tmpname);
|
||||
sb.append("/");
|
||||
sb.append("/");
|
||||
}
|
||||
path = sb.toString();
|
||||
}
|
||||
//}
|
||||
|
||||
|
||||
byte[] hash = tmd.contents[contentID].SHA2;
|
||||
//add this to the List!
|
||||
FEntry tmp = new FEntry(path,filename,contentID,tmd.contents[contentID].ID,fileOffset,fileLength,dir,in_nus_title,extract_withHash,pathList,this,hash,tmd.contents[contentID]);
|
||||
|
||||
FEntry tmp = new FEntry(path,filename,contentID,tmd.contents[contentID].ID,fileOffset,fileLength,dir,in_nus_title,extract_withHash,pathList,this,hash,tmd.contents[contentID],(short) flags);
|
||||
|
||||
fileEntries.add(tmp);
|
||||
if(filename.equals("meta.xml")){
|
||||
metaFENtry = tmp;
|
||||
@ -236,8 +250,19 @@ public class FST {
|
||||
if(metafolder){
|
||||
metaFolder.add(tmp);
|
||||
}
|
||||
//contentmap.get(tmd.contents[contentID]).add(tmp);
|
||||
//Logger.log(tmd.contents[contentID].ID + " " + filename);
|
||||
}
|
||||
/*
|
||||
for(Content cur_content : contentmap.keySet()){
|
||||
System.out.println("################");
|
||||
System.out.println(cur_content);
|
||||
//System.out.println(String.format("%08X", cur_content.ID));
|
||||
System.out.println("--------------");
|
||||
for(FEntry cur_entry : contentmap.get(cur_content)){
|
||||
System.out.println(cur_entry);
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
@ -327,7 +352,7 @@ public class FST {
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public Directory<FEntry> getFSTDirectory() {
|
||||
public Directory<FEntry> getFSTDirectory() {
|
||||
return FSTDirectory;
|
||||
}
|
||||
|
||||
@ -349,7 +374,8 @@ public class FST {
|
||||
filepath = "/" + filepath;
|
||||
}
|
||||
Pattern p = Pattern.compile(filepath);
|
||||
for(FEntry f : fileEntries){
|
||||
for(FEntry f : fileEntries){
|
||||
|
||||
Matcher m = p.matcher(f.getFullPath());
|
||||
if(m.matches()){
|
||||
newList.add(f);
|
||||
|
@ -3,7 +3,6 @@ package de.mas.jnustool;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.file.Files;
|
||||
@ -177,19 +176,23 @@ public class NUSTitle {
|
||||
decryption.init(ticket.getDecryptedKey(),0);
|
||||
byte[] decryptedFST = decryption.decrypt(encryptedFST);
|
||||
|
||||
|
||||
/*FileOutputStream fw = new FileOutputStream ("fst123.dec");
|
||||
fw.write(decryptedFST);
|
||||
fw.close();*/
|
||||
|
||||
try{
|
||||
fst = new FST(decryptedFST,tmd);
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
tmd.setNUSTitle(this);
|
||||
|
||||
FileOutputStream fw = new FileOutputStream ("fst.dec");
|
||||
fw.write(decryptedFST);
|
||||
fw.close();
|
||||
|
||||
setTargetPath(String.format("%016X", getTitleID()));
|
||||
setLongNameFolder(String.format("%016X", getTitleID()));
|
||||
setLongNameFolder(String.format("%016X", getTitleID()));
|
||||
|
||||
|
||||
|
||||
if(fst != null && fst.metaFENtry != null){
|
||||
byte[] metaxml = fst.metaFENtry.getAsByteArray();
|
||||
@ -201,7 +204,8 @@ public class NUSTitle {
|
||||
//String folder = nusinfo.getLongnameEN().replaceAll("[^\\x20-\\x7E]", "") + " [" + nusinfo.getID6() + "]";
|
||||
String folder = nusinfo.getLongnameEN() + " [" + nusinfo.getID6() + "]";
|
||||
String subfolder = "";
|
||||
if(tmd.isUpdate()) subfolder = "/" + "updates" + "/" + "v" + tmd.titleVersion;
|
||||
if(tmd.isUpdate()) subfolder = "/" + "updates" + "/" + "v" + tmd.titleVersion;
|
||||
if(tmd.isDLC()) subfolder = "/" + String.format("aoc%016X", titleId);
|
||||
setTargetPath(folder + subfolder);
|
||||
setLongNameFolder(folder);
|
||||
}
|
||||
@ -210,16 +214,23 @@ public class NUSTitle {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if(Settings.downloadContent){
|
||||
downloadEncryptedFiles(null);
|
||||
}
|
||||
|
||||
Logger.log("Total Size of Content Files: " + ((int)((getTotalContentSize()/1024.0/1024.0)*100))/100.0 +" MB");
|
||||
if(fst != null)Logger.log("Total Size of Decrypted Files: " + ((int)((fst.getTotalContentSizeInNUS()/1024.0/1024.0)*100))/100.0 +" MB");
|
||||
if(fst != null)Logger.log("Entries: " + fst.getTotalEntries());
|
||||
if(fst != null)Logger.log("Files: " + fst.getFileCount());
|
||||
if(fst != null)Logger.log("Files in NUSTitle: " + fst.getFileCountInNUS());
|
||||
Logger.log("");
|
||||
Logger.log("Title \t\t: " + getLongNameFolder());
|
||||
Logger.log("TitleID \t\t: " + String.format("%016X", tmd.titleID));
|
||||
Logger.log("Version \t\t: " + String.format("%016X", tmd.version));
|
||||
Logger.log("Encrypted Key \t\t: " + Util.ByteArrayToString(ticket.getEncryptedKey()));
|
||||
Logger.log("Decrypted Key \t\t: " + Util.ByteArrayToString(ticket.getDecryptedKey()));
|
||||
Logger.log("Total Size of Content Files\t: " + ((int)((getTotalContentSize()/1024.0/1024.0)*100))/100.0 +" MB");
|
||||
if(fst != null)Logger.log("Total Size of Decrypted Files\t: " + ((int)((fst.getTotalContentSizeInNUS()/1024.0/1024.0)*100))/100.0 +" MB");
|
||||
if(fst != null)Logger.log("Entries \t\t: " + fst.getTotalEntries());
|
||||
if(fst != null)Logger.log("Files \t\t: " + fst.getFileCount());
|
||||
if(fst != null)Logger.log("Files in NUS-Title \t: " + fst.getFileCountInNUS());
|
||||
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
@ -371,7 +382,7 @@ public class NUSTitle {
|
||||
ForkJoinPool pool = new ForkJoinPool(25);
|
||||
List<FEntryDownloader> dlList = new ArrayList<>();
|
||||
for(FEntry f : list){
|
||||
if(!f.isDir() && f.isInNUSTitle()){
|
||||
if(f.isInNUSTitle()){
|
||||
dlList.add(new FEntryDownloader(f,progress));
|
||||
}
|
||||
}
|
||||
@ -405,4 +416,12 @@ public class NUSTitle {
|
||||
public void setVersion(int version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
/* Just for testing ~
|
||||
public void decryptContent(){
|
||||
System.out.println(tmd.getContentPath() + "/" + "00000004.app");
|
||||
FileInputStream in = new FileInputStream(new File(tmd.getContentPath() + "/" + "00000004.app"));
|
||||
FileOutputStream out = new FileOutputStream(new File(tmd.getContentPath() + "/" + "00000004.dec"));
|
||||
decryption.decryptContentHash(in,out,tmd.contents[0x4],Files.readAllBytes(new File(tmd.getContentPath() + "/" + "00000004.h3").toPath()));
|
||||
}*/
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ import de.mas.jnustool.util.Util;
|
||||
|
||||
public class Starter {
|
||||
public static void main(String[] args) {
|
||||
Logger.log("JNUSTool 0.2 - by Maschell");
|
||||
Logger.log("JNUSTool 0.3 - by Maschell");
|
||||
Logger.log("");
|
||||
try {
|
||||
Settings.readConfig();
|
||||
|
@ -199,6 +199,14 @@ public class TitleMetaData {
|
||||
return (titleID & 0x5000E00000000L) == 0x5000E00000000L;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks of the title is a DLC
|
||||
* @return true if its an DLC
|
||||
*/
|
||||
public boolean isDLC() {
|
||||
return ((titleID & 0x5000C00000000L) == 0x5000C00000000L) && !isUpdate();
|
||||
}
|
||||
|
||||
/**
|
||||
* Downloads all content files (encrypted)
|
||||
* @param progress: A progress object can be used to get informations of the progress. Will be ignored when null is used.
|
||||
|
@ -14,6 +14,7 @@ import java.security.InvalidKeyException;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.SynchronousQueue;
|
||||
|
||||
import javax.crypto.BadPaddingException;
|
||||
import javax.crypto.Cipher;
|
||||
@ -22,6 +23,9 @@ import javax.crypto.NoSuchPaddingException;
|
||||
import javax.crypto.spec.IvParameterSpec;
|
||||
import javax.crypto.spec.SecretKeySpec;
|
||||
|
||||
import org.omg.Messaging.SyncScopeHelper;
|
||||
|
||||
import de.mas.jnustool.Content;
|
||||
import de.mas.jnustool.FEntry;
|
||||
import de.mas.jnustool.Logger;
|
||||
import de.mas.jnustool.Progress;
|
||||
@ -138,7 +142,7 @@ public class Decryption {
|
||||
System.out.println("real hash :" + Util.ByteArrayToString(real_h0_hash));
|
||||
System.out.println("expected hash:" + Util.ByteArrayToString(expected_h0_hash));
|
||||
System.exit(2);
|
||||
throw new IllegalArgumentException("h0 checksumfail");
|
||||
//throw new IllegalArgumentException("h0 checksumfail");
|
||||
}else{
|
||||
//System.out.println("h0 checksum right!");
|
||||
}
|
||||
@ -146,13 +150,13 @@ public class Decryption {
|
||||
if ((block % 16) == 0){
|
||||
byte[] expected_h1_hash = Arrays.copyOfRange(hashes,H1_start,H1_start + 20);
|
||||
byte[] real_h1_hash = HashUtil.hashSHA1(Arrays.copyOfRange(hashes,H0_start,H0_start + (16*20)));
|
||||
//System.out.println("Using h1 for :" + Util.ByteArrayToString(Arrays.copyOfRange(hashes,H0_start,H0_start + (16*20))));
|
||||
|
||||
if(!Arrays.equals(expected_h1_hash, real_h1_hash)){
|
||||
System.out.println("h1 checksum failed");
|
||||
System.out.println("real hash :" + Util.ByteArrayToString(real_h1_hash));
|
||||
System.out.println("expected hash:" + Util.ByteArrayToString(expected_h1_hash));
|
||||
System.exit(2);
|
||||
throw new IllegalArgumentException("h1 checksumfail");
|
||||
//throw new IllegalArgumentException("h1 checksumfail");
|
||||
}else{
|
||||
//System.out.println("h1 checksum right!");
|
||||
}
|
||||
@ -161,13 +165,13 @@ public class Decryption {
|
||||
if ((block % 256) == 0){
|
||||
byte[] expected_h2_hash = Arrays.copyOfRange(hashes,H2_start,H2_start + 20);
|
||||
byte[] real_h2_hash = HashUtil.hashSHA1(Arrays.copyOfRange(hashes,H1_start,H1_start + (16*20)));
|
||||
|
||||
|
||||
if(!Arrays.equals(expected_h2_hash, real_h2_hash)){
|
||||
System.out.println("h2 checksum failed");
|
||||
System.out.println("real hash :" + Util.ByteArrayToString(real_h2_hash));
|
||||
System.out.println("expected hash:" + Util.ByteArrayToString(expected_h2_hash));
|
||||
System.exit(2);
|
||||
throw new IllegalArgumentException("h2 checksumfail");
|
||||
//throw new IllegalArgumentException("h2 checksumfail");
|
||||
|
||||
}else{
|
||||
//System.out.println("h2 checksum right!");
|
||||
@ -177,13 +181,13 @@ public class Decryption {
|
||||
if ((block % 4096) == 0){
|
||||
byte[] expected_h3_hash = Arrays.copyOfRange(h3_hashes,H3_start,H3_start + 20);
|
||||
byte[] real_h3_hash = HashUtil.hashSHA1(Arrays.copyOfRange(hashes,H2_start,H2_start + (16*20)));
|
||||
|
||||
|
||||
if(!Arrays.equals(expected_h3_hash, real_h3_hash)){
|
||||
System.out.println("h3 checksum failed");
|
||||
System.out.println("real hash :" + Util.ByteArrayToString(real_h3_hash));
|
||||
System.out.println("expected hash:" + Util.ByteArrayToString(expected_h3_hash));
|
||||
System.exit(2);
|
||||
throw new IllegalArgumentException("h3 checksumfail");
|
||||
//throw new IllegalArgumentException("h3 checksumfail");
|
||||
}else{
|
||||
//System.out.println("h3 checksum right!");
|
||||
}
|
||||
@ -321,6 +325,59 @@ public class Decryption {
|
||||
|
||||
}
|
||||
|
||||
public boolean decryptContentHash(InputStream inputStream, OutputStream outputStream,Content content,byte[] h3) throws IOException{
|
||||
int BLOCKSIZE = 0x10000;
|
||||
int HASHBLOCKSIZE = 0xFC00;
|
||||
|
||||
long writeSize = HASHBLOCKSIZE;
|
||||
long block = 0;
|
||||
|
||||
long soffset = 0;
|
||||
|
||||
long size = content.getSize()/0x10000*0xfc00;
|
||||
|
||||
if( soffset+size > writeSize )
|
||||
writeSize = writeSize - soffset;
|
||||
|
||||
|
||||
byte[] encryptedBlockBuffer = new byte[BLOCKSIZE];
|
||||
ByteArrayBuffer overflow = new ByteArrayBuffer(BLOCKSIZE);
|
||||
|
||||
long wrote = 0;
|
||||
int inBlockBuffer;
|
||||
|
||||
do{
|
||||
inBlockBuffer = Util.getChunkFromStream(inputStream,encryptedBlockBuffer,overflow,BLOCKSIZE);
|
||||
if(progressListener != null){
|
||||
progressListener.addCurrent(inBlockBuffer);
|
||||
}
|
||||
if( writeSize > size )
|
||||
writeSize = size;
|
||||
|
||||
byte[] output = decryptFileChunkHash(encryptedBlockBuffer, (int) block,content.getContentID(),h3);
|
||||
|
||||
if((wrote + writeSize) > size){
|
||||
writeSize = (int) (size - wrote);
|
||||
}
|
||||
|
||||
outputStream.write(output, (int)(0+soffset), (int)writeSize);
|
||||
wrote +=writeSize;
|
||||
|
||||
block++;
|
||||
|
||||
if( soffset > 0)
|
||||
{
|
||||
writeSize = HASHBLOCKSIZE;
|
||||
soffset = 0;
|
||||
}
|
||||
}while(wrote < size && (inBlockBuffer == BLOCKSIZE));
|
||||
|
||||
outputStream.close();
|
||||
inputStream.close();
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public byte[] decryptAsByte(FEntry fileEntry,String outputPath) throws IOException {
|
||||
InputStream input = new FileInputStream(fileEntry.getContentPath());
|
||||
@ -333,14 +390,31 @@ public class Decryption {
|
||||
return result;
|
||||
}
|
||||
|
||||
public byte[] decryptContent(FEntry fileEntry,String outputPath) throws IOException {
|
||||
InputStream input = new FileInputStream(fileEntry.getContentPath());
|
||||
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
||||
|
||||
decryptStream(input,bos,fileEntry);
|
||||
|
||||
byte[] result = bos.toByteArray();
|
||||
bos.close();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public void decrypt(FEntry fileEntry,String outputPath) throws IOException {
|
||||
if(fileEntry.isDir()){
|
||||
new File(outputPath + "/" + fileEntry.getFileName()).mkdir();
|
||||
return;
|
||||
}
|
||||
InputStream input = new FileInputStream(fileEntry.getContentPath());
|
||||
|
||||
FileOutputStream outputStream = new FileOutputStream(outputPath + "/" + fileEntry.getFileName());
|
||||
decryptStream(input,outputStream,fileEntry);
|
||||
}
|
||||
|
||||
public void decryptStream(InputStream input,OutputStream outputStream,FEntry fileEntry) throws IOException {
|
||||
String [] path = fileEntry.getFullPath().split("/");
|
||||
//String [] path = fileEntry.getFullPath().split("/");
|
||||
boolean decryptWithHash = false;
|
||||
if(/*!path[1].equals("code") && */fileEntry.isExtractWithHash()){
|
||||
decryptWithHash = true;
|
||||
@ -351,7 +425,6 @@ public class Decryption {
|
||||
int HASHBLOCKSIZE = 0xFC00;
|
||||
fileOffset = ((fileEntry.getFileOffset() / HASHBLOCKSIZE) * BLOCKSIZE);
|
||||
}
|
||||
|
||||
input.skip(fileOffset);
|
||||
|
||||
boolean result = false;
|
||||
|
@ -36,9 +36,19 @@ public class Util {
|
||||
public static int getIntFromBytes(byte[] input,int offset){
|
||||
return ByteBuffer.wrap(Arrays.copyOfRange(input,offset, offset+4)).getInt();
|
||||
}
|
||||
|
||||
public static long getUnsingedIntFromBytes(byte[] input,int offset){
|
||||
ByteBuffer buffer = ByteBuffer.allocate(8);
|
||||
buffer.position(4);
|
||||
buffer.put(Arrays.copyOfRange(input,offset, offset+4));
|
||||
|
||||
return buffer.getLong(0);
|
||||
}
|
||||
|
||||
public static long getLongFromBytes(byte[] input,int offset){
|
||||
return ByteBuffer.wrap(Arrays.copyOfRange(input,offset, offset+8)).getLong();
|
||||
}
|
||||
|
||||
public static long getIntAsLongFromBytes(byte[] input,int offset){
|
||||
long result = 0 ;
|
||||
if((int)input[offset]+128 > 0 && (int)input[offset]+128 < 128){
|
||||
|
Loading…
Reference in New Issue
Block a user