漆黑的魅影吧 关注:243,793贴子:8,055,229

写了一个用来找6V闪光神兽SID的C代码

只看楼主收藏回复

1楼防吞


IP属地:上海1楼2023-03-21 21:29回复
    看到 @一氮化一钙 大佬发的乱6V神兽帖子,里面虽然有特定的6V闪神兽的成果,以及ID、SID和PID与闪光的计算方式但是没有具体计算闪6V神兽需要的SID的方法,同时帖子下面也有挺多吧友问的。今天开完组会没啥事,心血来潮想写个脚本看看。


    IP属地:上海2楼2023-03-21 21:35
    收起回复
      先贴个代码,有编译器的可以自己复制了编译运行,等下我会把编译好的可执行文件传上来
      #include<stdio.h>
      #include<stdlib.h>
      #define PID_HIGH 0xB886
      #define PID_LOW 0x2C85
      int main(){
      int id = 0;
      printf("输入表ID:");
      scanf("%d", &id);
      int cnt = 0;
      int a[20000];
      int x = 0;
      freopen("C:\\PATH\\TO\\sid.txt", "r", stdin);//这里改成自己的文件路径
      while(cnt < 20000){
      scanf("%d", &x);
      a[++cnt] = x;
      }
      cnt = 0;
      while(cnt < 20000){
      int sid = a[cnt];
      int a = PID_HIGH ^ PID_LOW;
      int b = a ^ id;
      int c = b ^ sid;
      if(c < 8) printf("%d, %d\n", cnt, sid);
      cnt++;
      }
      return 0;
      }


      IP属地:上海4楼2023-03-21 21:51
      回复
        先看个结果

        根据我的表ID36600和随机数种子,一共有两个SID满足要求,每一行前一个是帧数,后一个是SID。这里选第一个4034帧的6904。


        IP属地:上海5楼2023-03-21 21:56
        回复
          具体流程参考 @一氮化一钙 大佬的帖子 tieba.baidu.com/p/8317747670 和 @Bruce乂 大佬 的帖子 tieba.baidu.com/p/8172051882 ,获得ID和一系列SID后,把SID单独保存到一个txt文档,然后修改上面C代码的文档路径,编译成可执行文件。运行后输入自己的ID,就会算出能出闪6V的SID和所在帧数了。


          IP属地:上海8楼2023-03-21 22:09
          收起回复
            介绍完毕,希望能对大家有所帮助。


            IP属地:上海9楼2023-03-21 22:11
            回复
              楼主编译好的可执行文件别人应该用不了吧,毕竟txt文件的路径是不一样的。


              IP属地:上海来自Android客户端10楼2023-03-21 22:14
              收起回复
                还没有实测,用RNG reporter算了一下,是可以找到目标6v闪的


                IP属地:上海11楼2023-03-22 09:55
                回复
                  宏定义的PID两项可以根据要闪的对象改,我这里目标时6v保守/胆小超梦


                  IP属地:上海12楼2023-03-22 09:56
                  回复
                    想问一下,这样找到的sid对一个/多个还是全部神兽有效?


                    IP属地:俄罗斯来自iPhone客户端13楼2023-03-22 15:03
                    收起回复
                      github.com/josemam/IV-PID 找到了一个介绍PID算法的,明天有空再看吧,今天忙正事已经看了太多代码了,眼睛都要花了话说国内研究这个的好少,资料都找不到。


                      IP属地:上海14楼2023-03-22 16:14
                      回复
                        刚才试了一下,没有问题。


                        IP属地:上海15楼2023-03-22 20:00
                        回复

                          一个还不错的闪钢虫。钢虫是method2,我的id是method4的闪,所以肯定不能6v闪。然后rng的timer有些问题,最后我选的这个和他算的差了1帧,导致我一开始一直撞不到。


                          IP属地:上海16楼2023-03-23 20:52
                          收起回复
                            优化了一下代码,现在生成的exe文件分享在2楼了。用的时候把自己的sid表按照我分享的文件里sid.txt的格式导出,然后放在和exe相同的路径下,运行sid.exe就可以了。注意输入pid的时候要加上0x开头。


                            IP属地:上海17楼2023-03-24 20:25
                            回复
                              效果图。输出的4034是帧数,6904是sid值,下面一行同理,眼缘选一个就行。


                              IP属地:上海18楼2023-03-24 20:28
                              回复