Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Zephyr)
  • No Skin
Collapse
RipperStore Logo
  1. Home
  2. Assets
  3. Looking for...
  4. Worlds
  5. Nero's MMD World VIP and 18+ Code

Nero's MMD World VIP and 18+ Code

Scheduled Pinned Locked Moved Unsolved Worlds
codemmd
213 Posts 61 Posters 99.9k Views 138 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • taco20lexT
    taco20lexT
    taco20lex
    wrote on last edited by
    #145

    can someone just make a mmd world with the dances that are locked?

    L 1 Reply Last reply
    1
    • C
      C
      chocolate
      wrote on last edited by
      #146

      The real reason they put protection on the code sharing is just to make a quick buck.
      Why do I think that? Because even minors can easily get access as long as they pay.

      1 Reply Last reply
      1
      • taco20lexT taco20lex

        can someone just make a mmd world with the dances that are locked?

        L
        L
        Layui
        wrote on last edited by
        #147

        @taco20lex go for it.
        but getting the songs is a problem.
        The premium songs are all Paid songs so you most likely end up with high cost that it's cheaper to Sub for the time and also get access to new Paid songs that get added at that time.

        @chocolate yeah but that's then a problem because of Patreon.
        Other worlds was taken down because minors got access to 18+ stuff.
        But everyone can form their own opinion.

        But as far as I can tell, many people simply found the old method too complicated and needed a simpler one.
        And now you don't even need a Discord account anymore.

        taco20lexT 1 Reply Last reply
        2
        • L Layui

          @taco20lex go for it.
          but getting the songs is a problem.
          The premium songs are all Paid songs so you most likely end up with high cost that it's cheaper to Sub for the time and also get access to new Paid songs that get added at that time.

          @chocolate yeah but that's then a problem because of Patreon.
          Other worlds was taken down because minors got access to 18+ stuff.
          But everyone can form their own opinion.

          But as far as I can tell, many people simply found the old method too complicated and needed a simpler one.
          And now you don't even need a Discord account anymore.

          taco20lexT
          taco20lexT
          taco20lex
          wrote on last edited by
          #148

          @Layui where do you buy the songs and animatons?

          L 1 Reply Last reply
          1
          • L
            L
            lalauya1122
            wrote on last edited by
            #149

            rip vip

            1 Reply Last reply
            0
            • G
              G
              goldeyegold
              wrote on last edited by
              #150

              rip

              1 Reply Last reply
              0
              • taco20lexT taco20lex

                @Layui where do you buy the songs and animatons?

                L
                L
                LexiiBeans
                wrote on last edited by
                #151

                @taco20lex Here are some sources:

                https://bowlroll.net/
                https://www.deviantart.com/mmd-nay-pmd/art/New-MMD-Motion-Data-Index-A-L-526892180

                everything for choc 🍫

                1 Reply Last reply
                0
                • L
                  L
                  Layui
                  wrote on last edited by
                  #152

                  Some are behind Kofi ,Patreon or Chinese websites.
                  There are all over the place and there is not that one place where you get the Motions.
                  Simply search for the motion.
                  You also need to Convert them for VRChat.
                  But I think it gets easier after converting some songs.

                  1 Reply Last reply
                  1
                  • S
                    S
                    sillystarfish
                    wrote on last edited by
                    #153

                    hello does anyone knows the code?

                    mischievousM 1 Reply Last reply
                    0
                    • S sillystarfish

                      hello does anyone knows the code?

                      mischievousM
                      mischievousM
                      mischievous
                      wrote on last edited by
                      #154

                      @sillystarfish codes are different for everyone now so they cant be handed out anymore

                      sick of generic egirls and eboys, where's all the unique avatars

                      1 Reply Last reply
                      1
                      • LucianL
                        LucianL
                        Lucian
                        wrote on last edited by Lucian
                        #155

                        (updated August 9th 2025)
                        Premium code override: 744036
                        Spicy code override: 851420

                        If they no longer work/patched, do let me know, and I will create a small script to generate them with your username

                        Codes are patched, so I will be working on a script to generate your own codes, give me a few days

                        1 Reply Last reply
                        3
                        • LucianL
                          LucianL
                          Lucian
                          wrote on last edited by
                          #156

                          the udon code use a constant string, followed by the date of the month, with the vrchat username, followed by either miku or bunda for premiun and spicy, then end with the # character.

                          this entire line combo is then hashed with a SHA256 UTF8 calculation.
                          Finally you strip away all the letter and keep only the numbers.

                          The result is a line of numbers, you only take the first 6 numbers, and there you are, you have your monthly access code.

                          I am pretty sure i can make a script to make it happen

                          S A 2 Replies Last reply
                          😦 👍
                          8
                          • That1GuyT
                            That1GuyT
                            That1Guy
                            wrote on last edited by
                            #157

                            this sounds awesome.
                            goodluck to your success.

                            1 Reply Last reply
                            1
                            • LucianL Lucian

                              the udon code use a constant string, followed by the date of the month, with the vrchat username, followed by either miku or bunda for premiun and spicy, then end with the # character.

                              this entire line combo is then hashed with a SHA256 UTF8 calculation.
                              Finally you strip away all the letter and keep only the numbers.

                              The result is a line of numbers, you only take the first 6 numbers, and there you are, you have your monthly access code.

                              I am pretty sure i can make a script to make it happen

                              S
                              S
                              supernova1980
                              wrote on last edited by
                              #158

                              @Lucian What's the constant string? Where can I get it?

                              LucianL 1 Reply Last reply
                              2
                              • S supernova1980

                                @Lucian What's the constant string? Where can I get it?

                                LucianL
                                LucianL
                                Lucian
                                wrote on last edited by
                                #159

                                @supernova1980

                                public class udoncrashtest : UdonSharp.UdonSharpBehaviour
                                {
                                private System.String __lcl_hashKey_SystemString_0 = null;
                                private System.String __intnl_SystemString_1 = null;
                                private System.Object __intnl_SystemObject_0 = null;
                                private System.Char __intnl_SystemChar_1 =  ;
                                private System.String __const_SystemString_0 = "";
                                private System.Boolean __0_isSpicy__param = False;
                                private System.String __0___0__GenerateCode__ret = null;
                                private System.UInt32 __gintnl_SystemUInt32_4 = 2184;
                                private System.UInt32 __gintnl_SystemUInt32_1 = 672;
                                private System.UInt32 __gintnl_SystemUInt32_0 = 40;
                                private System.UInt32 __gintnl_SystemUInt32_3 = 952;
                                private System.UInt32 __gintnl_SystemUInt32_2 = 812;
                                private System.Boolean __const_SystemBoolean_0 = False;
                                private System.Boolean __const_SystemBoolean_1 = True;
                                private System.String __lcl_formattedDate_SystemString_0 = null;
                                private System.DateTime __0___0_GetLastDayOfMonth__ret = 1/1/0001 12:00:00 AM;
                                private System.String __const_SystemString_5 = "dd/MM/yyyy";
                                private System.String __intnl_SystemString_6 = null;
                                private System.Char[] __intnl_SystemCharArray_0 = null;
                                private System.Char[] __intnl_SystemCharArray_1 = null;
                                private System.String __const_SystemString_10 = "__0___0_SHA256_UTF8__ret";
                                private System.String __const_SystemString_11 = "MM";
                                private System.Int64 __refl_typeid = -8934105941663349694;
                                private System.UInt32 __const_SystemUInt32_0 = 4294967295;
                                private System.String premiumCode = null;
                                private System.String __intnl_SystemString_3 = null;
                                private System.String __lcl_codeKey_SystemString_0 = null;
                                private System.String __lcl_finalCode_SystemString_0 = null;
                                private System.String __const_SystemString_2 = "bundabunda";
                                private System.Boolean __0___0_IsValidSpicyCode__ret = False;
                                private System.String __intnl_SystemString_0 = null;
                                private System.Char __intnl_SystemChar_0 =  ;
                                private System.String __const_SystemString_7 = "7oXtAXHz";
                                private System.String __lcl_hash64_SystemString_0 = null;
                                private System.DateTime __0_dateTime__param = 1/1/0001 12:00:00 AM;
                                private System.String __1_code__param = null;
                                private System.DateTime __lcl_dt_SystemDateTime_0 = 1/1/0001 12:00:00 AM;
                                private System.UInt32 __intnl_returnJump_SystemUInt32_0 = 0;
                                private VRC.SDKBase.VRCPlayerApi _playerLocal = null;
                                private System.String __const_SystemString_4 = "bunda";
                                private System.Int32 __lcl_i_SystemInt32_0 = 0;
                                private System.String __intnl_SystemString_5 = null;
                                private System.String __const_SystemString_9 = "__0_SHA256_UTF8";
                                private System.String __refl_typename = "nerokeypad.KeypadPrivateCodesManager";
                                private System.Int32 __intnl_SystemInt32_1 = 0;
                                private System.Int32 __intnl_SystemInt32_0 = 0;
                                private System.Int32 __intnl_SystemInt32_3 = 0;
                                private System.Int32 __intnl_SystemInt32_2 = 0;
                                private System.Int32 __intnl_SystemInt32_5 = 0;
                                private System.Int32 __intnl_SystemInt32_4 = 0;
                                private System.Int32 __intnl_SystemInt32_7 = 0;
                                private System.Int32 __intnl_SystemInt32_6 = 0;
                                private System.String __intnl_SystemString_2 = null;
                                private System.DateTime __intnl_SystemDateTime_0 = 1/1/0001 12:00:00 AM;
                                private System.String __const_SystemString_1 = "miku";
                                private System.String __0_name__param = null;
                                private System.Boolean __0_isRetry__param = False;
                                private System.String __0_code__param = null;
                                private System.DateTime __0_date__param = 1/1/0001 12:00:00 AM;
                                private System.String __const_SystemString_6 = "#";
                                private System.String spicyCode = null;
                                private System.Int32 __const_SystemInt32_1 = 1;
                                private System.Int32 __const_SystemInt32_0 = 0;
                                private System.Int32 __const_SystemInt32_3 = 4;
                                private System.Int32 __const_SystemInt32_2 = 5;
                                private System.Int32 __const_SystemInt32_4 = 6;
                                public VRC.Udon.UdonBehaviour _hashLibrary;
                                private System.Boolean __0___0_IsValidPremiumCode__ret = False;
                                private System.Boolean __intnl_SystemBoolean_0 = False;
                                private System.Boolean __intnl_SystemBoolean_1 = False;
                                private System.Boolean __intnl_SystemBoolean_2 = False;
                                private System.Boolean __intnl_SystemBoolean_3 = False;
                                private System.Boolean __intnl_SystemBoolean_4 = False;
                                private System.String __intnl_SystemString_4 = null;
                                private System.String __const_SystemString_3 = "mikumiku";
                                private System.String __const_SystemString_8 = "__3_text__param";
                                
                                
                                public void _start()
                                {
                                _playerLocal = get_LocalPlayer();
                                UNDEF_99797_992();
                                }
                                public void __0_IsValidPremiumCode()
                                {
                                __intnl_SystemBoolean_0 = __const_SystemString_0 == premiumCode;
                                if (__intnl_SystemBoolean_0)
                                {
                                __0___0_IsValidPremiumCode__ret = __const_SystemBoolean_0;
                                return;
                                }
                                __0___0_IsValidPremiumCode__ret = __0_code__param == premiumCode;
                                return;
                                }
                                public void __0_IsValidSpicyCode()
                                {
                                __intnl_SystemBoolean_1 = __const_SystemString_0 == spicyCode;
                                if (__intnl_SystemBoolean_1)
                                {
                                __0___0_IsValidSpicyCode__ret = __const_SystemBoolean_0;
                                return;
                                }
                                __0___0_IsValidSpicyCode__ret = __1_code__param == spicyCode;
                                return;
                                }
                                private void __0_GetLastDayOfMonth()
                                {
                                __intnl_SystemInt32_0 = __0_dateTime__param.get_Year();
                                __intnl_SystemInt32_1 = __0_dateTime__param.get_Month();
                                __intnl_SystemInt32_2 = __0_dateTime__param.get_Year();
                                __intnl_SystemInt32_3 = __0_dateTime__param.get_Month();
                                __intnl_SystemInt32_4 = DaysInMonth(__intnl_SystemInt32_3, __intnl_SystemInt32_2);
                                __0___0_GetLastDayOfMonth__ret = ctor(__intnl_SystemInt32_4, __intnl_SystemInt32_1, __intnl_SystemInt32_0);
                                return;
                                }
                                private void UNDEF_99797_992()
                                {
                                __intnl_SystemDateTime_0 = get_Now();
                                __0_dateTime__param = __intnl_SystemDateTime_0;
                                __0_GetLastDayOfMonth();
                                __lcl_dt_SystemDateTime_0 = __0___0_GetLastDayOfMonth__ret;
                                __intnl_SystemString_0 = _playerLocal.get_displayName();
                                __0_name__param = __intnl_SystemString_0;
                                __0_date__param = __lcl_dt_SystemDateTime_0;
                                __0_isSpicy__param = __const_SystemBoolean_0;
                                __0_isRetry__param = __const_SystemBoolean_0;
                                __0__GenerateCode();
                                premiumCode = __0___0__GenerateCode__ret;
                                __intnl_SystemString_1 = _playerLocal.get_displayName();
                                __0_name__param = __intnl_SystemString_1;
                                __0_date__param = __lcl_dt_SystemDateTime_0;
                                __0_isSpicy__param = __const_SystemBoolean_1;
                                __0_isRetry__param = __const_SystemBoolean_0;
                                __0__GenerateCode();
                                spicyCode = __0___0__GenerateCode__ret;
                                }
                                private void __0__GenerateCode()
                                {
                                for (;;)
                                {
                                __lcl_hashKey_SystemString_0 = __const_SystemString_1;
                                if (__0_isRetry__param)
                                {
                                if (__0_isSpicy__param)
                                {
                                __lcl_hashKey_SystemString_0 = __const_SystemString_2;
                                }
                                else
                                {
                                __lcl_hashKey_SystemString_0 = __const_SystemString_3;
                                }
                                }
                                else
                                {
                                if (__0_isSpicy__param)
                                {
                                __lcl_hashKey_SystemString_0 = __const_SystemString_4;
                                }
                                }
                                __lcl_formattedDate_SystemString_0 = __0_date__param.ToString(__const_SystemString_5);
                                __intnl_SystemString_2 = op_Addition(__0_name__param, __lcl_hashKey_SystemString_0);
                                __intnl_SystemString_3 = op_Addition(__const_SystemString_6, __intnl_SystemString_2);
                                __intnl_SystemString_4 = op_Addition(__lcl_formattedDate_SystemString_0, __intnl_SystemString_3);
                                __lcl_codeKey_SystemString_0 = op_Addition(__const_SystemString_7, __intnl_SystemString_4);
                                _hashLibrary.SetProgramVariable(__lcl_codeKey_SystemString_0, __const_SystemString_8);
                                _hashLibrary.SendCustomEvent(__const_SystemString_9);
                                __intnl_SystemObject_0 = _hashLibrary.GetProgramVariable(__const_SystemString_10);
                                __intnl_SystemString_5 = __intnl_SystemObject_0;
                                __lcl_hash64_SystemString_0 = __intnl_SystemString_5;
                                __lcl_finalCode_SystemString_0 = __const_SystemString_0;
                                __lcl_i_SystemInt32_0 = __const_SystemInt32_0;
                                for (;;)
                                {
                                __intnl_SystemInt32_5 = __lcl_hash64_SystemString_0.get_Length();
                                __intnl_SystemBoolean_2 = op_LessThan(__intnl_SystemInt32_5, __lcl_i_SystemInt32_0);
                                if (__intnl_SystemBoolean_2)
                                {
                                break;
                                }
                                __intnl_SystemCharArray_0 = __lcl_hash64_SystemString_0.ToCharArray(__const_SystemInt32_1, __lcl_i_SystemInt32_0);
                                __intnl_SystemChar_0 = __intnl_SystemCharArray_0.Get(__const_SystemInt32_0);
                                __intnl_SystemBoolean_3 = IsDigit(__intnl_SystemChar_0);
                                if (__intnl_SystemBoolean_3)
                                {
                                __intnl_SystemCharArray_1 = __lcl_hash64_SystemString_0.ToCharArray(__const_SystemInt32_1, __lcl_i_SystemInt32_0);
                                __intnl_SystemChar_1 = __intnl_SystemCharArray_1.Get(__const_SystemInt32_0);
                                __lcl_finalCode_SystemString_0 = Concat(__intnl_SystemChar_1, __lcl_finalCode_SystemString_0);
                                }
                                __lcl_i_SystemInt32_0 = op_Addition(__const_SystemInt32_1, __lcl_i_SystemInt32_0);
                                }
                                __intnl_SystemInt32_5 = __lcl_finalCode_SystemString_0.get_Length();
                                __intnl_SystemBoolean_2 = __const_SystemInt32_2 == __intnl_SystemInt32_5;
                                if (__intnl_SystemBoolean_2)
                                {
                                __intnl_SystemString_6 = __0_date__param.ToString(__const_SystemString_11);
                                __lcl_finalCode_SystemString_0 = op_Addition(__intnl_SystemString_6, __lcl_finalCode_SystemString_0);
                                }
                                else
                                {
                                __intnl_SystemBoolean_3 = !__0_isRetry__param;
                                if (__intnl_SystemBoolean_3)
                                {
                                __intnl_SystemInt32_6 = __lcl_finalCode_SystemString_0.get_Length();
                                __intnl_SystemBoolean_3 = op_LessThanOrEqual(__const_SystemInt32_3, __intnl_SystemInt32_6);
                                }
                                if (__intnl_SystemBoolean_3)
                                {
                                __intnl_SystemString_6 = op_Addition(__0_name__param, __0_name__param);
                                __0_name__param = __intnl_SystemString_6;
                                __0_date__param = __0_date__param;
                                __0_isSpicy__param = __0_isSpicy__param;
                                __0_isRetry__param = __const_SystemBoolean_1;
                                }
                                __lcl_finalCode_SystemString_0 = __0___0__GenerateCode__ret;
                                }
                                }
                                __intnl_SystemInt32_7 = __lcl_finalCode_SystemString_0.get_Length();
                                __intnl_SystemBoolean_4 = op_GreaterThan(__const_SystemInt32_4, __intnl_SystemInt32_7);
                                if (__intnl_SystemBoolean_4)
                                {
                                __lcl_finalCode_SystemString_0 = __lcl_finalCode_SystemString_0.Substring(__const_SystemInt32_4, __const_SystemInt32_0);
                                }
                                __0___0__GenerateCode__ret = __lcl_finalCode_SystemString_0;
                                return;
                                }
                                }
                                
                                WorcestershireW 1 Reply Last reply
                                1
                                • LucianL Lucian

                                  the udon code use a constant string, followed by the date of the month, with the vrchat username, followed by either miku or bunda for premiun and spicy, then end with the # character.

                                  this entire line combo is then hashed with a SHA256 UTF8 calculation.
                                  Finally you strip away all the letter and keep only the numbers.

                                  The result is a line of numbers, you only take the first 6 numbers, and there you are, you have your monthly access code.

                                  I am pretty sure i can make a script to make it happen

                                  A
                                  A
                                  ArthurTheFur
                                  wrote on last edited by
                                  #160

                                  @Lucian Any updates on the script you are making?

                                  1 Reply Last reply
                                  0
                                  • LucianL Lucian

                                    @supernova1980

                                    public class udoncrashtest : UdonSharp.UdonSharpBehaviour
                                    {
                                    private System.String __lcl_hashKey_SystemString_0 = null;
                                    private System.String __intnl_SystemString_1 = null;
                                    private System.Object __intnl_SystemObject_0 = null;
                                    private System.Char __intnl_SystemChar_1 =  ;
                                    private System.String __const_SystemString_0 = "";
                                    private System.Boolean __0_isSpicy__param = False;
                                    private System.String __0___0__GenerateCode__ret = null;
                                    private System.UInt32 __gintnl_SystemUInt32_4 = 2184;
                                    private System.UInt32 __gintnl_SystemUInt32_1 = 672;
                                    private System.UInt32 __gintnl_SystemUInt32_0 = 40;
                                    private System.UInt32 __gintnl_SystemUInt32_3 = 952;
                                    private System.UInt32 __gintnl_SystemUInt32_2 = 812;
                                    private System.Boolean __const_SystemBoolean_0 = False;
                                    private System.Boolean __const_SystemBoolean_1 = True;
                                    private System.String __lcl_formattedDate_SystemString_0 = null;
                                    private System.DateTime __0___0_GetLastDayOfMonth__ret = 1/1/0001 12:00:00 AM;
                                    private System.String __const_SystemString_5 = "dd/MM/yyyy";
                                    private System.String __intnl_SystemString_6 = null;
                                    private System.Char[] __intnl_SystemCharArray_0 = null;
                                    private System.Char[] __intnl_SystemCharArray_1 = null;
                                    private System.String __const_SystemString_10 = "__0___0_SHA256_UTF8__ret";
                                    private System.String __const_SystemString_11 = "MM";
                                    private System.Int64 __refl_typeid = -8934105941663349694;
                                    private System.UInt32 __const_SystemUInt32_0 = 4294967295;
                                    private System.String premiumCode = null;
                                    private System.String __intnl_SystemString_3 = null;
                                    private System.String __lcl_codeKey_SystemString_0 = null;
                                    private System.String __lcl_finalCode_SystemString_0 = null;
                                    private System.String __const_SystemString_2 = "bundabunda";
                                    private System.Boolean __0___0_IsValidSpicyCode__ret = False;
                                    private System.String __intnl_SystemString_0 = null;
                                    private System.Char __intnl_SystemChar_0 =  ;
                                    private System.String __const_SystemString_7 = "7oXtAXHz";
                                    private System.String __lcl_hash64_SystemString_0 = null;
                                    private System.DateTime __0_dateTime__param = 1/1/0001 12:00:00 AM;
                                    private System.String __1_code__param = null;
                                    private System.DateTime __lcl_dt_SystemDateTime_0 = 1/1/0001 12:00:00 AM;
                                    private System.UInt32 __intnl_returnJump_SystemUInt32_0 = 0;
                                    private VRC.SDKBase.VRCPlayerApi _playerLocal = null;
                                    private System.String __const_SystemString_4 = "bunda";
                                    private System.Int32 __lcl_i_SystemInt32_0 = 0;
                                    private System.String __intnl_SystemString_5 = null;
                                    private System.String __const_SystemString_9 = "__0_SHA256_UTF8";
                                    private System.String __refl_typename = "nerokeypad.KeypadPrivateCodesManager";
                                    private System.Int32 __intnl_SystemInt32_1 = 0;
                                    private System.Int32 __intnl_SystemInt32_0 = 0;
                                    private System.Int32 __intnl_SystemInt32_3 = 0;
                                    private System.Int32 __intnl_SystemInt32_2 = 0;
                                    private System.Int32 __intnl_SystemInt32_5 = 0;
                                    private System.Int32 __intnl_SystemInt32_4 = 0;
                                    private System.Int32 __intnl_SystemInt32_7 = 0;
                                    private System.Int32 __intnl_SystemInt32_6 = 0;
                                    private System.String __intnl_SystemString_2 = null;
                                    private System.DateTime __intnl_SystemDateTime_0 = 1/1/0001 12:00:00 AM;
                                    private System.String __const_SystemString_1 = "miku";
                                    private System.String __0_name__param = null;
                                    private System.Boolean __0_isRetry__param = False;
                                    private System.String __0_code__param = null;
                                    private System.DateTime __0_date__param = 1/1/0001 12:00:00 AM;
                                    private System.String __const_SystemString_6 = "#";
                                    private System.String spicyCode = null;
                                    private System.Int32 __const_SystemInt32_1 = 1;
                                    private System.Int32 __const_SystemInt32_0 = 0;
                                    private System.Int32 __const_SystemInt32_3 = 4;
                                    private System.Int32 __const_SystemInt32_2 = 5;
                                    private System.Int32 __const_SystemInt32_4 = 6;
                                    public VRC.Udon.UdonBehaviour _hashLibrary;
                                    private System.Boolean __0___0_IsValidPremiumCode__ret = False;
                                    private System.Boolean __intnl_SystemBoolean_0 = False;
                                    private System.Boolean __intnl_SystemBoolean_1 = False;
                                    private System.Boolean __intnl_SystemBoolean_2 = False;
                                    private System.Boolean __intnl_SystemBoolean_3 = False;
                                    private System.Boolean __intnl_SystemBoolean_4 = False;
                                    private System.String __intnl_SystemString_4 = null;
                                    private System.String __const_SystemString_3 = "mikumiku";
                                    private System.String __const_SystemString_8 = "__3_text__param";
                                    
                                    
                                    public void _start()
                                    {
                                    _playerLocal = get_LocalPlayer();
                                    UNDEF_99797_992();
                                    }
                                    public void __0_IsValidPremiumCode()
                                    {
                                    __intnl_SystemBoolean_0 = __const_SystemString_0 == premiumCode;
                                    if (__intnl_SystemBoolean_0)
                                    {
                                    __0___0_IsValidPremiumCode__ret = __const_SystemBoolean_0;
                                    return;
                                    }
                                    __0___0_IsValidPremiumCode__ret = __0_code__param == premiumCode;
                                    return;
                                    }
                                    public void __0_IsValidSpicyCode()
                                    {
                                    __intnl_SystemBoolean_1 = __const_SystemString_0 == spicyCode;
                                    if (__intnl_SystemBoolean_1)
                                    {
                                    __0___0_IsValidSpicyCode__ret = __const_SystemBoolean_0;
                                    return;
                                    }
                                    __0___0_IsValidSpicyCode__ret = __1_code__param == spicyCode;
                                    return;
                                    }
                                    private void __0_GetLastDayOfMonth()
                                    {
                                    __intnl_SystemInt32_0 = __0_dateTime__param.get_Year();
                                    __intnl_SystemInt32_1 = __0_dateTime__param.get_Month();
                                    __intnl_SystemInt32_2 = __0_dateTime__param.get_Year();
                                    __intnl_SystemInt32_3 = __0_dateTime__param.get_Month();
                                    __intnl_SystemInt32_4 = DaysInMonth(__intnl_SystemInt32_3, __intnl_SystemInt32_2);
                                    __0___0_GetLastDayOfMonth__ret = ctor(__intnl_SystemInt32_4, __intnl_SystemInt32_1, __intnl_SystemInt32_0);
                                    return;
                                    }
                                    private void UNDEF_99797_992()
                                    {
                                    __intnl_SystemDateTime_0 = get_Now();
                                    __0_dateTime__param = __intnl_SystemDateTime_0;
                                    __0_GetLastDayOfMonth();
                                    __lcl_dt_SystemDateTime_0 = __0___0_GetLastDayOfMonth__ret;
                                    __intnl_SystemString_0 = _playerLocal.get_displayName();
                                    __0_name__param = __intnl_SystemString_0;
                                    __0_date__param = __lcl_dt_SystemDateTime_0;
                                    __0_isSpicy__param = __const_SystemBoolean_0;
                                    __0_isRetry__param = __const_SystemBoolean_0;
                                    __0__GenerateCode();
                                    premiumCode = __0___0__GenerateCode__ret;
                                    __intnl_SystemString_1 = _playerLocal.get_displayName();
                                    __0_name__param = __intnl_SystemString_1;
                                    __0_date__param = __lcl_dt_SystemDateTime_0;
                                    __0_isSpicy__param = __const_SystemBoolean_1;
                                    __0_isRetry__param = __const_SystemBoolean_0;
                                    __0__GenerateCode();
                                    spicyCode = __0___0__GenerateCode__ret;
                                    }
                                    private void __0__GenerateCode()
                                    {
                                    for (;;)
                                    {
                                    __lcl_hashKey_SystemString_0 = __const_SystemString_1;
                                    if (__0_isRetry__param)
                                    {
                                    if (__0_isSpicy__param)
                                    {
                                    __lcl_hashKey_SystemString_0 = __const_SystemString_2;
                                    }
                                    else
                                    {
                                    __lcl_hashKey_SystemString_0 = __const_SystemString_3;
                                    }
                                    }
                                    else
                                    {
                                    if (__0_isSpicy__param)
                                    {
                                    __lcl_hashKey_SystemString_0 = __const_SystemString_4;
                                    }
                                    }
                                    __lcl_formattedDate_SystemString_0 = __0_date__param.ToString(__const_SystemString_5);
                                    __intnl_SystemString_2 = op_Addition(__0_name__param, __lcl_hashKey_SystemString_0);
                                    __intnl_SystemString_3 = op_Addition(__const_SystemString_6, __intnl_SystemString_2);
                                    __intnl_SystemString_4 = op_Addition(__lcl_formattedDate_SystemString_0, __intnl_SystemString_3);
                                    __lcl_codeKey_SystemString_0 = op_Addition(__const_SystemString_7, __intnl_SystemString_4);
                                    _hashLibrary.SetProgramVariable(__lcl_codeKey_SystemString_0, __const_SystemString_8);
                                    _hashLibrary.SendCustomEvent(__const_SystemString_9);
                                    __intnl_SystemObject_0 = _hashLibrary.GetProgramVariable(__const_SystemString_10);
                                    __intnl_SystemString_5 = __intnl_SystemObject_0;
                                    __lcl_hash64_SystemString_0 = __intnl_SystemString_5;
                                    __lcl_finalCode_SystemString_0 = __const_SystemString_0;
                                    __lcl_i_SystemInt32_0 = __const_SystemInt32_0;
                                    for (;;)
                                    {
                                    __intnl_SystemInt32_5 = __lcl_hash64_SystemString_0.get_Length();
                                    __intnl_SystemBoolean_2 = op_LessThan(__intnl_SystemInt32_5, __lcl_i_SystemInt32_0);
                                    if (__intnl_SystemBoolean_2)
                                    {
                                    break;
                                    }
                                    __intnl_SystemCharArray_0 = __lcl_hash64_SystemString_0.ToCharArray(__const_SystemInt32_1, __lcl_i_SystemInt32_0);
                                    __intnl_SystemChar_0 = __intnl_SystemCharArray_0.Get(__const_SystemInt32_0);
                                    __intnl_SystemBoolean_3 = IsDigit(__intnl_SystemChar_0);
                                    if (__intnl_SystemBoolean_3)
                                    {
                                    __intnl_SystemCharArray_1 = __lcl_hash64_SystemString_0.ToCharArray(__const_SystemInt32_1, __lcl_i_SystemInt32_0);
                                    __intnl_SystemChar_1 = __intnl_SystemCharArray_1.Get(__const_SystemInt32_0);
                                    __lcl_finalCode_SystemString_0 = Concat(__intnl_SystemChar_1, __lcl_finalCode_SystemString_0);
                                    }
                                    __lcl_i_SystemInt32_0 = op_Addition(__const_SystemInt32_1, __lcl_i_SystemInt32_0);
                                    }
                                    __intnl_SystemInt32_5 = __lcl_finalCode_SystemString_0.get_Length();
                                    __intnl_SystemBoolean_2 = __const_SystemInt32_2 == __intnl_SystemInt32_5;
                                    if (__intnl_SystemBoolean_2)
                                    {
                                    __intnl_SystemString_6 = __0_date__param.ToString(__const_SystemString_11);
                                    __lcl_finalCode_SystemString_0 = op_Addition(__intnl_SystemString_6, __lcl_finalCode_SystemString_0);
                                    }
                                    else
                                    {
                                    __intnl_SystemBoolean_3 = !__0_isRetry__param;
                                    if (__intnl_SystemBoolean_3)
                                    {
                                    __intnl_SystemInt32_6 = __lcl_finalCode_SystemString_0.get_Length();
                                    __intnl_SystemBoolean_3 = op_LessThanOrEqual(__const_SystemInt32_3, __intnl_SystemInt32_6);
                                    }
                                    if (__intnl_SystemBoolean_3)
                                    {
                                    __intnl_SystemString_6 = op_Addition(__0_name__param, __0_name__param);
                                    __0_name__param = __intnl_SystemString_6;
                                    __0_date__param = __0_date__param;
                                    __0_isSpicy__param = __0_isSpicy__param;
                                    __0_isRetry__param = __const_SystemBoolean_1;
                                    }
                                    __lcl_finalCode_SystemString_0 = __0___0__GenerateCode__ret;
                                    }
                                    }
                                    __intnl_SystemInt32_7 = __lcl_finalCode_SystemString_0.get_Length();
                                    __intnl_SystemBoolean_4 = op_GreaterThan(__const_SystemInt32_4, __intnl_SystemInt32_7);
                                    if (__intnl_SystemBoolean_4)
                                    {
                                    __lcl_finalCode_SystemString_0 = __lcl_finalCode_SystemString_0.Substring(__const_SystemInt32_4, __const_SystemInt32_0);
                                    }
                                    __0___0__GenerateCode__ret = __lcl_finalCode_SystemString_0;
                                    return;
                                    }
                                    }
                                    
                                    WorcestershireW
                                    WorcestershireW
                                    Worcestershire
                                    wrote on last edited by
                                    #161

                                    @Lucian I've taken a stab at making my own script but to no avail. not sure exactly what's wrong, as every 'if' statement seems to match. Guess I'll wait to see your solution cuz now I'm hella curious as to how the hell they calculate the codes.

                                    This method is hella confusing(most likely on purpose). My interpretation is: they use hash256 to hash '{fixed_value}{dd/mm/yyy}#{user_name}{salt}', and since thecall this value hash64 I assumed they encode it in base64;
                                    Then iterate over the hash64 prepending only the digits, thus reversing the order;
                                    If length = 5 they prepend the month in 'mm' format,else if 4 <= length(?) they rerun the function one more time, this time hashing '{fixed_value}{dd/mm/yyy}#{user_name+user_name}{salt+salt}' and again, if length = 5 prepend month in 'mm' format, if not return the code, the generated code is trimmed to 6 digits.

                                    This is probably wrong, but this is the best I could do reading the code you gave

                                    LucianL 1 Reply Last reply
                                    2
                                    • WorcestershireW
                                      WorcestershireW
                                      Worcestershire
                                      wrote on last edited by
                                      #162

                                      Well, I give up XD Anyone wants the python code I created so far here it is, it doesn't seem to generate valid codes and I can't seem to figure out why. I tried to keep the structure as similar to the decompiled code as I could.

                                      import datetime, calendar, hashlib, base64
                                      PRE_SEED = '7oXtAXHz'
                                      
                                      def get_date():
                                          now = datetime.datetime.now()
                                          last_day = calendar.monthrange(now.year, now.month)[1]  
                                          date = datetime.date(now.year, now.month, last_day)
                                          return date
                                      
                                      def generate_code(name : str, date : datetime.datetime, is_spicy : bool, is_retry : bool):
                                          hash_key = "bundabunda" if is_retry and is_spicy else \
                                          "mikumiku"   if is_retry and not is_spicy else \
                                          "bunda"      if not is_retry and is_spicy else \
                                          "miku"
                                              
                                          formatted_date = date.strftime('%d/%m/%Y')
                                      
                                          code_key = f'{PRE_SEED}{formatted_date}#{name}{hash_key}'.encode('utf-8')
                                          hash64 = hashlib.sha256(code_key).hexdigest() 
                                          final_code = b''
                                          for ch in hash64:
                                              if ch.isdigit():
                                                  final_code = ch+final_code
                                      
                                      
                                          
                                      
                                          if len(final_code) == 5: #This is weird because the chances of actuallt extracting 5 digits from the hash is nearly zero
                                               final_code = f'{date.strftime("%m")}{final_code}'
                                          if not is_retry and len(final_code) >= 4:
                                              return generate_code(name * 2,date,is_spicy,True)
                                              
                                          return final_code[:6]
                                      
                                      def main():
                                          player_name = input('Nome no VRChat: ')
                                          date = get_date()
                                          premium_code = generate_code(name=player_name,date=date,is_spicy=False,is_retry=False)
                                          spicy_code = generate_code(name=player_name,date=date,is_spicy=True,is_retry=False)
                                          print(f'Senha: {premium_code}\nSpicy: {spicy_code}')
                                      
                                      if __name__ == '__main__':
                                          main()
                                      
                                      1 Reply Last reply
                                      2
                                      • WorcestershireW Worcestershire

                                        @Lucian I've taken a stab at making my own script but to no avail. not sure exactly what's wrong, as every 'if' statement seems to match. Guess I'll wait to see your solution cuz now I'm hella curious as to how the hell they calculate the codes.

                                        This method is hella confusing(most likely on purpose). My interpretation is: they use hash256 to hash '{fixed_value}{dd/mm/yyy}#{user_name}{salt}', and since thecall this value hash64 I assumed they encode it in base64;
                                        Then iterate over the hash64 prepending only the digits, thus reversing the order;
                                        If length = 5 they prepend the month in 'mm' format,else if 4 <= length(?) they rerun the function one more time, this time hashing '{fixed_value}{dd/mm/yyy}#{user_name+user_name}{salt+salt}' and again, if length = 5 prepend month in 'mm' format, if not return the code, the generated code is trimmed to 6 digits.

                                        This is probably wrong, but this is the best I could do reading the code you gave

                                        LucianL
                                        LucianL
                                        Lucian
                                        wrote on last edited by
                                        #163

                                        @Worcestershire yeah, i am currently working on getting a better outcome on the script.

                                        So far, I am getting the exact code within vrchat, but unable to replicate it within python env.

                                        So I got an idea, I am going to use the file structures instead so it will utilize the udonsharp code directly.

                                        it might take a few days

                                        WorcestershireW 2 Replies Last reply
                                        👍
                                        3
                                        • NightFallen4YouN
                                          NightFallen4YouN
                                          NightFallen4You
                                          wrote on last edited by
                                          #164

                                          best of luck to you - even if it doesn't work, we're all grateful for the effort ❤

                                          the brainrot consumes

                                          1 Reply Last reply
                                          2

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular