[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 523066680 于 2017-7-8 17:01 编辑

清零了?

写了一段代码查看赛跑情况
  1. use JSON;
  2. use Encode;
  3. use Try::Tiny;
  4. use Data::Dumper;
  5. use HTTP::Headers;
  6. use Time::HiRes qw/time sleep/;
  7. use IO::Handle;
  8. STDOUT->autoflush(1);
  9. use LWP::Simple;
  10. use LWP::UserAgent;
  11. our $user    = "vic3";
  12. our $website = 'http://bbaass.tk/math/';
  13. our ($user, $website, $headers);
  14. my ( $min, $max ) = (0, 100);
  15. my $test = int(($max + $min) / 2);
  16. my $data;
  17. our $ua = LWP::UserAgent->new( agent => 'Mozilla/5.0', timeout => 5 );
  18. our $res;
  19. my %ever;
  20. my %current;
  21. getData( \%ever );
  22. my $count = 0;
  23. while (1)
  24. {
  25.     getData(\%current);
  26.     $count = 0;
  27.     for my $k (reverse sort { $ever{$a} <=> $ever{$b} } keys %ever)
  28.     {
  29.         printf "%-10s %d + %d\n", $k, $ever{$k}, $current{$k} - $ever{$k};
  30.         last if ($count++ > 3);
  31.     }
  32.     print "\n";
  33.     sleep 10.0;
  34. }
  35. sub getData
  36. {
  37.     our $res;
  38.     my $href = shift;
  39.     my $data;
  40.     while (1)
  41.     {
  42.         $res = $ua->post( $website, [ username => $user, send => 'reg' ] );
  43.         $res = $ua->post( $website, [ username => $user, send => 'user' ] );
  44.         try { $data = decode_json( $res->content ); last; }
  45.         catch { sleep 2.0; printf "repeat\n" }
  46.     }
  47.     for my $e ( @{$data->{'user'}} )
  48.     {
  49.         ( $times, $name, $state ) = @$e;
  50.         $href->{$name} = $times;
  51.     }
  52. }
复制代码
  1. vic3       0 + 0
  2. bbaa       0 + 0
  3. vic        0 + 0
  4. vic2       55 + 10
  5. codegay    75 + 11
  6. vic3       0 + 0
  7. bbaa       0 + 0
  8. vic        0 + 0
  9. vic2       55 + 11
  10. codegay    75 + 11
  11. vic3       0 + 0
  12. bbaa       0 + 0
  13. vic        0 + 0
  14. vic2       55 + 12
  15. codegay    75 + 12
复制代码
1

评分人数

TOP

本帖最后由 523066680 于 2017-7-8 16:37 编辑

我在想能不能在别的网络上运行脚本,假冒 codegay 输入错误的数值来阻击他的刷新频率
(实测然并卵

TOP

本帖最后由 523066680 于 2017-7-8 17:14 编辑

老刘不是发了个 图灵123 API 用来对接这里的问题不知道可否

好了,不赛跑了。代码:
  1. use JSON;
  2. use Encode;
  3. use Try::Tiny;
  4. use Data::Dumper;
  5. use IO::Handle;
  6. STDOUT->autoflush(1);
  7. use LWP::Simple;
  8. use LWP::UserAgent;
  9. our $user = "vic2";
  10. our $website = 'http://bbaass.tk/math/';
  11. our $ua = LWP::UserAgent->new(  agent => 'Mozilla/5.0', timeout => 3 );
  12. our $res;
  13. BEGIN:
  14. $res = $ua->post( $website, [ username => $user, send => 'reg' ] );
  15. $res = $ua->post( $website, [ username => $user, send => 'user' ] );
  16. my $min = 0;
  17. my $max = 100;
  18. my $test = int(($max + $min) / 2);
  19. my $data;
  20. $data = check($test);
  21. my $tokens = $data->{'tokens'};
  22. while ( $data->{re} ne "=" )
  23. {
  24.     $min = $test + 1 if ($data->{re} eq "<");
  25.     $max = $test - 1 if ($data->{re} eq ">");
  26.     $test = int(($max + $min) / 2);
  27.     $data = check( $test );
  28.     printf "min: %d max: %d, test: %d  %s, token: %s\n",
  29.         $min, $max, $test, $data->{re}, $data->{tokens};
  30.     if ( ($data->{tokens} ne $tokens) and $data->{re} ne "=" )
  31.     {
  32.         print "Tokens different, go back\n";
  33.         goto BEGIN;
  34.     }
  35. }
  36. print "Again\n";
  37. goto BEGIN;
  38. sub check
  39. {
  40.     my $data;
  41.     my $res;
  42.     while (1)
  43.     {
  44.         $res = $ua->post(
  45.             $website,
  46.             [ username => $user, send => 'Answer', math => $_[0] ],
  47.         );
  48.         try   { $data = decode_json( $res->content() ); last; }
  49.         catch { sleep 3.0; print "Content error, try again.\n" }
  50.     }
  51.     return $data;
  52. }
复制代码
1

评分人数

TOP

what? 现在的content没有 Math 了?

TOP

本帖最后由 523066680 于 2017-7-19 11:14 编辑

不懂网络

咨询:
在之前如果想要作弊,如何知道有:bbaass.tk/math/server.json 这个文件?

tokens 是用 SHA1 加密吗?该字串和猜数字是否无关?

二分跑法基础上,改了算法,看到一线曙光
  1. codegay    18011 + 10
  2. vic2       413 + 15
  3. vic        0 + 0
  4. bbaa       0 + 0
  5. vic3       0 + 0
  6. codegay    18011 + 11
  7. vic2       413 + 17
  8. vic        0 + 0
  9. bbaa       0 + 0
  10. vic3       0 + 0
  11. codegay    18011 + 12
  12. vic2       413 + 21
  13. vic        0 + 0
  14. bbaa       0 + 0
  15. vic3       0 + 0
复制代码

TOP

本帖最后由 523066680 于 2017-7-19 11:40 编辑

回复 50# bbaa

    按照 demon 的一篇文章猜测一下:如果 tokens 是和时间有关的信息加密,并且[猜的数字]的生成也和时间有关的话,也许可以找出关联(大雾

http://demon.tw/reverse/cmd-internal-random.html
Demon
分析上面的代码可知,如果知道调用srand函数的时间,那么就可以知道每次调用rand函数生成的随机数是多少。也就是说,如果知道CMD的启动时间(从CMD启动到CMD调用srand的时间通常不会超过1秒),那么就可以推算出%RANDOM%的值是多少。


其实相关的说法我记得在 Matrix67 还是哪个书上看过,说可以通过时间反推计算出系统给出的随机数

这条路子很渺茫,就是想想而已。只会简单粗暴无脑刷

TOP

本帖最后由 523066680 于 2017-7-19 14:44 编辑

才午休一下,又出幺蛾子
  1. codegay    18804 + 0
  2. vic2       1554 + 0
  3. 老刘       810 + 1
  4. codeplay   1 + 0
  5. bbbbaa     0 + 0
  6. repeat
  7. repeat
  8. repeat
  9. repeat
  10. repeat
复制代码
先别解释,我刚午休完毕,也改改代码看看能不能PK

网站又做修改了?

TOP

回复 63# codegay


    codegay大大开始SQL注入了?

TOP

本帖最后由 523066680 于 2017-7-19 15:18 编辑

Codegay 发力了
  1. codegay    18809 + 7
  2. vic2       1557 + 4
  3. 老刘       917 + 3
  4. codeplay   1 + 0
  5. bbaa       0 + 0
  6. codegay    18809 + 9
  7. vic2       1557 + 4
  8. 老刘       917 + 3
  9. codeplay   1 + 0
  10. bbaa       0 + 0
  11. codegay    18809 + 12
  12. vic2       1557 + 4
  13. 老刘       917 + 3
  14. codeplay   1 + 0
  15. bbaa       0 + 0
  16. codegay    18809 + 15
  17. vic2       1557 + 4
  18. 老刘       917 + 3
  19. codeplay   1 + 0
  20. bbaa       0 + 0
复制代码
我在上班,给点思考空间,有啥干货明天再发……

TOP

回复 75# 老刘1号


    说明他用多进程或者多线程跑啊。(其中之一)

TOP

本帖最后由 523066680 于 2017-7-19 15:40 编辑

回复 77# 老刘1号


    不是的,我说说中午之前我的方案吧,
两个进程同时跑,一个随机数做划分,一个是取中值做划分。发现确实比codegay快了。
现在范围变了发现两个进程都慢,还是有优化方向

以及刚才我的后台在跑迅雷,下载 KOF14

现在看来主要还是网络因素,两个进程对比Codegay,勉强持平
  1. codegay    19038 + 11
  2. vic2       1569 + 7
  3. 老刘       920 + 0
  4. vic3       0 + 0
  5. e          0 + 0
  6. repeat
  7. codegay    19038 + 11
  8. vic2       1569 + 9
  9. 老刘       920 + 0
  10. vic3       0 + 0
  11. e          0 + 0
  12. repeat
  13. codegay    19038 + 11
  14. vic2       1569 + 11
  15. 老刘       920 + 0
  16. vic3       0 + 0
  17. e          0 + 0
复制代码

TOP

  1. codegay    25859 + 4
  2. 老刘       1792 + 50
  3. vic2       1730 + 4
  4. bbaa       59 + 0
  5. racket     9 + 0
  6. codegay    25859 + 4
  7. 老刘       1792 + 52
  8. vic2       1730 + 4
  9. bbaa       59 + 0
  10. racket     9 + 0
  11. codegay    25859 + 4
  12. 老刘       1792 + 54
  13. vic2       1730 + 4
  14. bbaa       59 + 0
  15. racket     9 + 0
复制代码

TOP

本帖最后由 523066680 于 2017-7-20 15:46 编辑

回复 96# 老刘1号


    以前没正式用过线程,现在被自己写的 bug 搞得抓狂 ……

好像有点效果 (让我再观察观察
  1. codegay    27522 + 0
  2. 老刘       3753 + 4
  3. vic2       1745 + 3
  4. bbaa       59 + 0
  5. racket     28 + 0
  6. codegay    27522 + 0
  7. 老刘       3753 + 4
  8. vic2       1745 + 5
  9. bbaa       59 + 0
  10. racket     28 + 0
  11. codegay    27522 + 0
  12. 老刘       3753 + 4
  13. vic2       1745 + 8
  14. bbaa       59 + 0
  15. racket     28 + 0
复制代码
有 bug, 在调

TOP

本帖最后由 523066680 于 2017-7-20 17:03 编辑

你猜我用了多少线程
  1. ......min:    0 max:10000  1000<N, 2000>N, 3000>N, 4000>N, 5000>N, 6000>N, 7000>N, 8000>N, 9000>N,
  2. ......min: 1000 max: 2000  1100<N, 1200<N, 1300<N, 1400<N, 1500<N, 1600<N, 1700>N, 1800>N, 1900>N,
  3. ......min: 1600 max: 1700  1610<N, 1620<N, 1630<N, 1640<N, 1650<N, 1660<N, 1670<N, 1680>N, 1690>N,
  4. ....Content error, try again.
  5. ..34tokens diff
  6. ......min:    0 max:10000  1000<N, 2000<N, 3000<N, 4000<N, 5000<N, 6000<N, 7000<N, 8000>N, 9000>N,
  7. ......min: 7000 max: 8000  7100<N, 7200<N, 7300N, 7400>N, 7500>N, 7600>N, 7700>N, 7800>N, 7900>N,
  8. ......min: 7200 max: 7400  7220<N, 7240<N, 7260N, 7280<N, 7300<N, 7320<N, 7340>N, 7360>N, 7380>N,
  9. Content error, try again.
  10. ......min: 7320 max: 7340  7322N, 7324<N, 7326<N, 7328N, 7330<N, 7332<N, 7334<N, 7336<N, 7338<N,
复制代码
刷结果的效率比之前是高很多,但还是勉强追上老刘的速度
  1. codegay    27555 + 0
  2. 老刘       4514 + 4
  3. vic2       1805 + 4
  4. bbaa       74 + 0
  5. racket     28 + 0
  6. codegay    27555 + 0
  7. 老刘       4514 + 8
  8. vic2       1805 + 6
  9. bbaa       74 + 0
  10. racket     28 + 0
复制代码
一段时间后
  1. codegay    27555 + 1
  2. 老刘       4514 + 38
  3. vic2       1805 + 38
  4. bbaa       74 + 0
  5. racket     28 + 0
复制代码

TOP

回复 99# bbaa


    喇就省得我单独跑一个脚本看跑步差距了。

TOP

返回列表