我在Nintendo 3DS上执行PID溢出操作,我认为可能存在一些可以更快执行此操作的方法。
Nintendo 3DS有一个漏洞(一个愚蠢的漏洞),您可以使PID等于0溢出以获得“ adm权限”。这些漏洞通常会降级固件并安装自定义漏洞。 3dbrew.org/wiki/Main_Page您可以找到有关此的更多信息。限制为0xFFFFFFFF,但是要花费大量时间才能获得该地址(因此下一个将是PID = 0)。

我的代码:

 u64 titleid=0x0004001000024000; //promo video, US old3ds. your mileage may vary. it's good to experiment as not all title relaunch spamming works well or at all.

u32 procid;
u32 launch_flags=0;
u32 target=0xFFFFFFFF;
 for(u32 i=0 ; i<0x80000000 ; i++){
            NS_LaunchTitle(titleid, launch_flags, &procid);  //loop until pid is right up next to the u32 wrap-around.
            printf("%08X\n",(int)procid);
            NS_TerminateProcessTID(titleid);
            if(procid>=target)break;
}

最佳答案

为了使循环执行得更快,最快的方法就是删除printf语句。

如果您确实需要监视进度,为什么不每100个迭代左右打印一次?

例如:

if((i%100)==0)
    printf("%08X\n",(int)procid);

10-06 15:08