by

Wii U Master Key Generator

mkey is a master key generator for the Parental Controls functionality on various consoles from a certain vendor. Currently, this includes the Wii, DSi, 3DS and Wii U.

Wii U Parental Control Reset - The Easy Way! Just use mkey generator! You will recieve a 5-digit master key PIN. Go and enter it on your Wii U when prompted.

  1. Jun 18, 2019 mkey. Mkey is a master key generator for the Parental Controls functionality on various consoles from a certain vendor. Currently, this includes the Wii, DSi, 3DS, Wii U and Switch. This allows resetting Parental Controls (due to being locked out) without having to contact customer support.
  2. We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand.
  3. Parental Controls PIN Reset. Nintendo’s parental controls reset tool will generate a master key to reset the Parental Control PIN on your system. A credit card is required to use this service and a $0.50 fee is to ensure it is used by an adult. A Visa or Mastercard is required.

Dsi Master Key Generator Online

This allows resetting Parental Controls (due to being locked out) without having to contact customer support.

Wii u master key generator manualWii u master key generator online

Wii U Master Key Generator Review

If you would just like to use this, with no concern for the code or how it works, visit: https://mkey.salthax.org/

Windows 7 home premium key generator free download. v2 support was initially implemented in October 2015, and has been serving the above page since December 2015. v1 and Wii U support was added in January 2016. v0 support was added in April 2016.

Python and C implementations are available in this repository. These function very similarly.

Wii U Game Keys

As of writing, system support is good - all algorithms in use are supported, provided one can extract the necessary keys from the system firmware.

For some algorithm versions (especially 3DS v2) many keys are required from the system firmware in order to generate master keys. These can differ between regions and system versions. https://usameme.weebly.com/blog/chip-vlc-player-download-mac. The best documentation for these is in the code, which covers the situation on all supported devices.

Some 3DS-specific documentation on the algorithms seen so far can be found at: https://3dbrew.org/wiki/System_Settings#Parental_Controls_Reset

License

mkey is distributed under the AGPLv3 license, see LICENSE.

ctr.c, ctr.h, utils.c and utils.h are taken from ctrtool, which is licensed under MIT, see LICENSE-ctrtool. Android keystore generate key pair.

Credits

  • marcan for the Wii reset tool: https://wii.marcan.st/parental
  • neimod for the 3DS v0 reset tool: https://github.com/3dshax/ctr/commit/bcb3734b9a26d0fe7ef66f7d3814406fee797303
  • SALT greetz: WulfyStylez and Shiny Quagsire (^:
  1. /* public domain */
  2. /* only tested with clang and gcc on linux, but it should also work on tcc on windows */
  3. #include <stdlib.h>
  4. #include <stdio.h>
  5. #define data_size 848U
  6. #define id_loc 0x1DC
  7. 0x00,0x01,0x00,0x04,0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,
  8. 0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,
  9. 0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,
  10. 0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,
  11. 0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,
  12. 0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,
  13. 0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,
  14. 0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,
  15. 0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,
  16. 0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,
  17. 0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,
  18. 0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,
  19. 0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,
  20. 0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,
  21. 0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,
  22. 0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,
  23. 0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,
  24. 0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,
  25. 0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,
  26. 0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,
  27. 0x15,0xAB,0xE1,0x1A,0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,
  28. 0xD1,0x5E,0xA5,0xED,0x15,0xAB,0xE1,0x1A,0x00,0x00,0x00,0x00,
  29. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  30. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  31. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  32. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  33. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0x6F,0x6F,0x74,
  34. 0x2D,0x43,0x41,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x33,0x2D,
  35. 0x58,0x53,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x63,0x00,0x00,
  36. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  37. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  38. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  39. 0xFE,0xED,0xFA,0xCE,0xFE,0xED,0xFA,0xCE,0xFE,0xED,0xFA,0xCE,
  40. 0xFE,0xED,0xFA,0xCE,0xFE,0xED,0xFA,0xCE,0xFE,0xED,0xFA,0xCE,
  41. 0xFE,0xED,0xFA,0xCE,0xFE,0xED,0xFA,0xCE,0xFE,0xED,0xFA,0xCE,
  42. 0xFE,0xED,0xFA,0xCE,0xFE,0xED,0xFA,0xCE,0xFE,0xED,0xFA,0xCE,
  43. 0xFE,0xED,0xFA,0xCE,0xFE,0xED,0xFA,0xCE,0xFE,0xED,0xFA,0xCE,
  44. 0x01,0x00,0x00,0x26,0x2D,0x86,0x0F,0xAD,0x1A,0x08,0x4C,0x10,
  45. 0xEA,0xA4,0xF4,0xDB,0xA2,0x57,0xEF,0x00,0x00,0x00,0x00,0x00,
  46. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,
  47. 0x10,0x1C,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  48. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  49. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  50. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  51. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  52. 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
  53. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  54. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  55. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  56. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  57. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  58. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  59. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  60. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  61. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  62. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  63. 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x14,0x00,0x00,0x00,0xAC,
  64. 0x00,0x00,0x00,0x14,0x00,0x01,0x00,0x14,0x00,0x00,0x00,0x00,
  65. 0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x84,
  66. 0x00,0x00,0x00,0x84,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
  67. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  68. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  69. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
  70. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  71. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  72. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  73. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  74. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  75. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  76. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  77. };
  78. uint32_t endian_convert(uint32_t n){
  79. return((n &0xFF)<<24)((n &0xFF00)<<8)((n &0xFF0000)>>8)((n &0xFF000000)>>24);
  80. void read_key_string(uint8_t* key_out,char* key_str){
  81. uint32_t i;
  82. uint32_t o;
  83. memset(str_fix,0,9);
  84. sscanf(str_fix,'%02x',&o);
  85. key_out[i]=(uint8_t)(o &0xFF);
  86. }
  87. void read_gid_string(uint8_t* gid_out,char* gid_str){
  88. for(i=0; i<4;++i){
  89. memset(empty,0,4);
  90. }
  91. for(i=0; i<4;++i){
  92. memset(empty,0,4);
  93. }
  94. }
  95. if(argc !=3){
  96. printf('Title.tik generatornOutputs Title.tik with specified datanUsage: tikmaker.exe XXXXGAME-IDXXXXXX keyn');
  97. FILE* tik;
  98. uint8_t* key;
  99. gid =&rawData[id_loc];
  100. read_key_string(key, argv[2]);
  101. if(tik != NULL){
  102. fclose(tik);
  103. printf('successfully written Title.tik!nGame ID: %snKey: %sn', argv[1], argv[2]);
  104. printf('Could not create Title.tik!n');
  105. }
  106. }