C语言 如何优化PID溢出



我在我的任天堂3DS上做了一个PID溢出,我认为可能存在一些更快的方法。任天堂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("%08Xn",(int)procid);
            NS_TerminateProcessTID(titleid);
            if(procid>=target)break;
}

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

如果您真的需要监控进度,为什么不每100次迭代打印一次呢?

,

if((i%100)==0)
    printf("%08Xn",(int)procid);

最新更新