Hacking Update 2.1.0 out.

  • Thread starter Thread starter zoogie
  • Start date Start date
  • Views Views 38,443
  • Replies Replies 152
  • Likes Likes 6
Really wish Nintendo would detail these updates for those interested, it'd be a lot more interesting to read than 90% of the 3DS' updates which were just 'stability'
 
I fucking hate it when Ninty tries pretending firmware updates ''improve user stability''.
There have been NO changes since 9.6.0-24 (except patches).

This early in the Switch's lifecycle, it probably does address some stability issues. It's known that people were having various wifi issues (including ones that apparently caused FPS drops in games), so they may have ironed out some of these issues.
 
Just upgraded a new Switch from 1.0.0 to 2.1.0. Pegaswitch on console refreshing endlessly, debug log reads "Success percentage: 0.00 (100 samples). Exploit failed."

Not super surprising -- there were changes made to the open source release in 2.1.0 ( see https://www.nintendo.co.jp/support/oss/index.html ) that look plausibly related:

Code:
diff -ur NintendoSwitch_OpenSources1.0.0/NSPR/lib/ds/plarena.h NintendoSwitch_OpenSources2.1.0/NSPR/lib/ds/plarena.h
--- NintendoSwitch_OpenSources1.0.0/NSPR/lib/ds/plarena.h    2016-10-21 09:44:00.000000000 -0700
+++ NintendoSwitch_OpenSources2.1.0/NSPR/lib/ds/plarena.h    2017-02-01 11:44:12.000000000 -0800
@@ -221,7 +221,7 @@
         if ((pool)->current == (a)) (pool)->current = &(pool)->first; \
         *(pnext) = (a)->next; \
         PL_CLEAR_ARENA(a); \
-        free(a); \
+        PR_Free(a); \
         (a) = 0; \
     PR_END_MACRO
 
diff -ur NintendoSwitch_OpenSources1.0.0/NSPR/lib/libc/src/strdup.c NintendoSwitch_OpenSources2.1.0/NSPR/lib/libc/src/strdup.c
--- NintendoSwitch_OpenSources1.0.0/NSPR/lib/libc/src/strdup.c    2016-03-23 14:45:56.000000000 -0700
+++ NintendoSwitch_OpenSources2.1.0/NSPR/lib/libc/src/strdup.c    2017-02-01 11:44:12.000000000 -0800
@@ -18,7 +18,7 @@
 
     n = strlen(s) + 1;
 
-    rv = (char *)malloc(n);
+    rv = (char *)PR_MALLOC(n);
     if( (char *)0 == rv ) return rv;
 
     (void)memcpy(rv, s, n);
@@ -29,7 +29,7 @@
 PR_IMPLEMENT(void)
 PL_strfree(char *s)
 {
-    free(s);
+    PR_Free(s);
 }
 
 PR_IMPLEMENT(char *)
@@ -43,7 +43,7 @@
 
     l = PL_strnlen(s, max);
 
-    rv = (char *)malloc(l+1);
+    rv = (char *)PR_MALLOC(l+1);
     if( (char *)0 == rv ) return rv;
 
     (void)memcpy(rv, s, l);
Only in NintendoSwitch_OpenSources1.0.0/NSPR: NSPR_modified.txt
diff -ur NintendoSwitch_OpenSources1.0.0/NSS/lib/libpkix/pkix_pl_nss/pki/pkix_pl_date.c NintendoSwitch_OpenSources2.1.0/NSS/lib/libpkix/pkix_pl_nss/pki/pkix_pl_date.c
--- NintendoSwitch_OpenSources1.0.0/NSS/lib/libpkix/pkix_pl_nss/pki/pkix_pl_date.c    2016-03-23 14:46:06.000000000 -0700
+++ NintendoSwitch_OpenSources2.1.0/NSS/lib/libpkix/pkix_pl_nss/pki/pkix_pl_date.c    2017-02-01 11:44:18.000000000 -0800
@@ -433,7 +433,11 @@
         PKIX_ENTER(DATE, "PKIX_PL_Date_Create_CurrentOffBySeconds");
         PKIX_NULLCHECK_ONE(pDate);
 
+#ifdef NN_NINTENDO_SDK
+        time = PR_Now() + ((PRTime)secondsOffset * 1000000);
+#else
         time = PR_Now() + PR_SecondsToInterval(secondsOffset);
+#endif    /*  NN_NINTENDO_SDK  */
         /* create a PKIX_PL_Date object */
         PKIX_CHECK(PKIX_PL_Object_Alloc
                     (PKIX_DATE_TYPE,
diff -ur NintendoSwitch_OpenSources1.0.0/NSS/lib/libpkix/pkix_pl_nss/pki/pkix_pl_generalname.c NintendoSwitch_OpenSources2.1.0/NSS/lib/libpkix/pkix_pl_nss/pki/pkix_pl_generalname.c
--- NintendoSwitch_OpenSources1.0.0/NSS/lib/libpkix/pkix_pl_nss/pki/pkix_pl_generalname.c    2016-03-23 14:46:06.000000000 -0700
+++ NintendoSwitch_OpenSources2.1.0/NSS/lib/libpkix/pkix_pl_nss/pki/pkix_pl_generalname.c    2017-01-20 13:05:08.000000000 -0800
@@ -222,6 +222,15 @@
 
         nameType = nssAltName->type;
 
+        /* initialize fields */
+        genName->type = nameType;
+        genName->nssGeneralNameList = NULL;
+        genName->directoryName = NULL;
+        genName->OthName = NULL;
+        genName->other = NULL;
+        genName->oid = NULL;
+
+
         /*
          * We use CERT_CreateGeneralNameList to create just one CERTGeneralName
          * item for memory allocation reason. If we want to just create one
@@ -246,13 +255,6 @@
 
         genName->nssGeneralNameList = nssGenNameList;
 
-        /* initialize fields */
-        genName->type = nameType;
-        genName->directoryName = NULL;
-        genName->OthName = NULL;
-        genName->other = NULL;
-        genName->oid = NULL;
-
         switch (nameType){
         case certOtherName:
 
Heads up. My system now wants me to update before resuming a suspended game. This happened all of a sudden and I don't know what triggered it.

edit: it won't let me launch any game now without updating. I can still access the eshop though, weirdly enough.
 
Last edited by zoogie,
  • Like
Reactions: peteruk
Don't give me reasons not to update, give me the reasons to update... if they even exist.
Some real problem fixed?
Better framerates? Was the wi-fi resources hogging problem solved?
Any improvement whatsoever?
More themes, whatever... Is this update worth my time downloading it?
Suppose I don't give a fuck about exploits, it is worth me looking for it for any reason?
 
Heads up. My system now wants me to update before resuming a suspended game. This happened all of a sudden and I don't know what triggered it.

edit: it won't let me launch any game now without updating. I can still access the eshop though, weirdly enough.
Update: after turning off wifi and doing a full power cycle, I was no longer locked out of my games. Phew.
 
  • Like
Reactions: peteruk
I'm sticking with 2.0.0 for the time being. Until there are features or decent games that require an update to use I see no point in updating.

I got a switch for couch co-op and portability not online play so atm there's zero incentive for me to update.

Give me a browser, some apps, a few more decent games and some system improvements Nintendo and then we'll talk, or give me some homebrew and emulation so this thing is actually usefull and I'll stay with 2.0.0. Whichever comes first.
 
  • Like
Reactions: retrofan_k
Uhh i have some 5.3.2 | 5.5.1 flashbacks uhh.

Just update. Mostly Wifi Fix and smaller crash fixes people had. Maybe 1-2 Exploits people reported trough the bounty system.
 
Uhh i have some 5.3.2 | 5.5.1 flashbacks uhh.

Just update. Mostly Wifi Fix and smaller crash fixes people had. Maybe 1-2 Exploits people reported trough the bounty system.
^This
Guys, update unless there's a kernel hax/hax entrypoint.
Right now we only have a browser hijacking method (The browser will be added soon™, like on 3DS)
 
Last edited by AxlSt00pid, , Reason: Derpy derp, I fixed what I meant to say

Site & Scene News

Popular threads in this forum