标题: [特效代码] [分享]百度抢红包BAT代码 [打印本页]
作者: caruko 时间: 2013-2-15 15:35 标题: [分享]百度抢红包BAT代码
本人刷了2万多次,只抢到20个中粮我买网的10元券,灰心了...
各位谁运气好的不妨试试,今天最后一天。
奖品信息存储在prize.txt中,拿奖需要自己设置个WEB服务器返回中奖的JSON,或者通过fidder调试来更改网页响应。
prizeid:215 就是中粮券,中这个的就不用麻烦了。
请注意 :main 之前的设置说明,否者奖品刷给别人了。
如果不想充值,通过第三方验证码输入,可以将 call :yzm 这一行注释掉,把call :inyzm 注释去掉- @echo off
- setlocal ENABLEDELAYEDEXPANSION
- ::本机代理,测试用 set "daili=-x 127.0.0.1:8888"
-
- md log >nul 2>nul
-
- set ag=-A "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9;ZHCN)"
-
- ::填入www.yambuy.com注册的账号,密码
- set yzmuser=user
- set yzmpass=pass
- ::填入手机号码
- set phone=13712345678
- ::起始日期
- if EXIST log.log (
- set /p Bday=<log.log
- ) else (
- set Bday=1980-01-20
- )
- ::循环多少次日期,数字越大,持续时间越长。每增加1,大约刷红包55次。
- set max=1000
- :loop
- set /a k+=1
- for /f "skip=2 tokens=1-3 delims=年月日 " %%a in ('Calendar /A !Bday! 00:00:00 1 00:00:00') do (
- set /a yy=%%a,mm=%%b+100,dd=%%c+100
- set "Bday=%%a-%%b-%%c"
- set "nday=!yy!!mm:~-2!!dd:~-2!"
- )
- echo,!Bday!>log.log
- if !k! geq !max! exit
-
- :main
- conset /d @ >nul
- conset /d _ >nul
- set "@phone=!phone!"
- set "@birth=!nday!"
- call :putUser
- ::call :search
- call :topic
- call :lottery
- echo,!nday!
- call :拿奖 && goto :loop
- echo,!@wish!
- echo,剩余抽奖次数:!@count!
- if !@count! geq 1 (
- goto :main
- ) else (
- goto :loop
- )
- goto :eof
-
-
- :putUser
- echo,验证用户...
- 2>nul curl !ag! !daili! -b cookies.txt -c cookies.txt -d "phone=!@phone!&birth=!@birth!&validcode=!@validcode!&valid=!@valid!&_r=0.7948380977831662" -e http://www.baidu.com/chunjie/show/welcome http://www.baidu.com/chunjie/submit/checkusr |iconv -f utf-8 -c|conset _rjson=
- for /f "tokens=2-7 delims={}:," %%a in ('conset /v _rjson') do (
- if %%b=="4001" echo,"生日错误!"
- if %%b=="4002" echo,"手机号错误!"
- if %%b=="4003" (
- echo,"验证码错误!";
- if DEFINED @valid call :codeerr
- call :getCoed
- call :putUser
- )
- if %%b=="5001" echo,"unable"
- if %%b=="6001" echo,"系统繁忙,请稍后再试^_^"
- if %%b=="0" (
- set /a auto=0
- echo,验证成功,得到搜索字串..
- call :stv %%c %%d
- call :stv %%e %%f
- )
- )
- set "@cookie=CJKEY=!@key!;CJEGG=1;CJPHONE=!@phone!;CJBIRTH=!@birth!"
- goto :eof
-
-
-
- :getCoed
- echo,获取验证码...
- 2>nul curl !ag! !daili! --cookie "!@cookie!" -b cookies.txt "http://www.baidu.com/chunjie/data/valid?phone=!@phone!&birth=!@birth!&_r=0.2951152564330317" |conset _rjson=
- for /f "tokens=1-3 delims={}," %%a in ('conset /v _rjson') do (
- for /f "tokens=1,2 delims=:" %%A in ("%%a") do (
- call :stv %%A %%B
- )
- for /f "tokens=1,2 delims=:" %%A in ("%%b") do (
- call :stv %%A %%B
- )
- for /f "tokens=1* delims=:" %%A in ("%%c") do (
- call :stv %%A %%B
- )
- )
- 2>nul curl !ag! !daili! "!@validUrl!" >code.jpg
- ::call :inyzm 这里是手动输入验证码,启用去掉该行::注释即可,把下一行前加上::
- call :yzm || echo,自动验证失败!
- goto :eof
-
-
- :search 该段代码已经可以省略 ,仅供参考
- echo,开始搜索,取得cookie...
- for /f "delims=" %%a in ('echo,!@query!^|urlencode.bat') do set "@query_URL=%%a"
- 2>nul curl !ag! !daili! -I -c cookies.txt -e "http://www.baidu.com/chunjie/show/welcome" "http://www.baidu.com/s?bhjc=zl&wd=!@query_URL!" |findstr "Set-Cookie"|conset @Set-Cookie=
- for /f "tokens=1* delims=:" %%a in ('conset /v @Set-Cookie') do (
- for /f "tokens=1 delims=; " %%A in ("%%b") do (
- set @%%A
- set "@cookie=!@cookie!;%%A"
- )
- )
- goto :eof
-
- :topic 获取礼品用的key
- echo,获取KEY...
- 2>nul curl !daili! -H "Cookie: !@cookie!" --cookie "!@cookie!" -c cookies.txt -e "http://www.baidu.com/s?bhjc=zl&wd=!@query!" http://www.baidu.com/chunjie/show/topic >topic.txt
- cut topic.txt {errNo });|conset @top=
- set @top=errNo!@top!
- for %%a in (!@top!) do (
- for /f "tokens=1,2 delims=:" %%A in ("%%a") do (
- call :stv top_%%A %%B
- )
- )
- goto :eof
-
-
- :lottery
- echo,获取礼品...
- set /a ff=0
- 2>nul curl !daili! -H "Cookie: !@cookie!" --cookie "!@cookie!" -c cookies.txt -d "key=!@top_nextKey!&key1=areyoucheating&_r=0.8628629175014569" -e http://www.baidu.com/chunjie/show/topic http://www.baidu.com/chunjie/submit/lottery|iconv -f utf-8 -c|conset @prize=
- set @prize=!@prize::{=!
- set @prize=!@prize:{=!
- set @prize=!@prize:}=!
- set @prize=!@prize: =!
- for %%D in (!@prize!) do (
- for /f "tokens=1,2 delims=:" %%a in ("%%D") do (
- call :stv %%a %%b
- )
- )
- goto :eof
-
- :拿奖
- if not "!@prizeid!"=="" (
- msg * "你中奖了!注意拿奖!"
- echo,================================>>prize.txt
- set @>>prize.txt
- echo,================================>>prize.txt
- exit /b 0
- )
- exit /b 1
-
-
- :stv 解析JSON,创建变量
- set "@%~1=%~2"
- goto :eof
-
-
- :yzm 自动验证码识别,这里调用了 www.yzmbuy.com 的第三方验证码输入平台。
- echo,正在上传验证码...
- 2>nul curl -F "info[lz_user]=!yzmuser!" -F "info[lz_pass]=!yzmpass!" -F "imagepath=@code.jpg;type=image/pjpeg" -F "pesubmit=" http://api.yzmbuy.com/index.php/demo |conset _rjson=
- for /f "tokens=9 delims==<'/" %%a in ("!_rjson!") do (
- set "@cdid=%%a"
- )
- set /a cs=0
- :getyzm 取得验证码结果
- set /a cs+=1
- 2>nul curl "http://api.yzmbuy.com/index.php?mod=demo&act=result&id=!@cdid!" |conset _rjson=
- for %%A in (!_rjson!) do (
- set _rjj=%%A
- set _rjj=!_rjj::= !
- call :stv !_rjj!
- )
- ping -n 2 127.1 >nul
- if !cs! geq 10 exit /b 1
- if "!@result!"=="null" goto :getyzm
- if "!@result!"=="" goto :getyzm
- set "@valid=!@result!"
- copy code.jpg "log\!@result!_!@damaworker:~0,-2!.jpg" >nul
- echo,自动识别验证码结果:!@result!
- exit /b 0
-
- :codeerr 验证码错误则记录。
- ren "log\!@result!_!@damaworker:~0,-2!.jpg" "!fail_@result!_!@damaworker:~0,-2!.jpg"
- goto :eof
-
- :inyzm
- set /p @valid=请输入验证码:
- goto :eof
复制代码
作者: caruko 时间: 2013-2-15 15:41
本帖最后由 caruko 于 2013-2-15 15:52 编辑
因为使用了很多第三方命令行工具,附上网盘地址
网盘中没有 手动输 验证码的代码,将1楼的代码复制到QHB.BAT中即可。
http://pan.baidu.com/share/link?shareid=277021&uk=3003494867
作者: lateol 时间: 2013-2-27 02:49
呵呵 果然强悍啊 支持!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |