| 关键词: Password message common local nbsp zhongshu tick string 软件 Name |
blog群发王(价值1980元)源代码提供 相信很多人被这个软件骚扰过吧---------------------------------------------------------------------- 国内首款也是唯一支持验证码识别的群发BLOG(博客)的软件 全球首款采用极限编程技术的博客群发软件,占CPU极少,可自设 线程发布,速度飞快,成功率高~~WEB2.0时代,群发领域第一品牌。 独创智能搜索技术,可以设置关键词搜索互联网上最新博客地 址并添加发布,从此高枕无忧!(软件内置10万海量博客地址) SEO最新利器, 搜索引擎“新宠”,迅速提升网站排名,轻松搞 定搜索引擎首页左侧排名!让您在第一时间抢占商机! 有网友购买了这个软件以后把源代码在论坛发了出来,作者倒是只字未提是使用"模拟精灵"写的软件,不过源代码倒是一个很好的学习样例.其实任何人经过短时间的学习就可以做出类似的程序. 请自行到模拟精灵官方网站下载最新版本编译运行下面的代码。http://www.yhhe.net/ape/ 注意:原贴出自站长站,本人只是转贴,所有版权纠纷概与本人无关.下面的代码已经破解了上网验证等,用户名密码随便写...... <?xml version="1.0" encoding="gb2312" ?><ApeML LID="CHS" MD="0" 抓屏模式="0" 名称="BLOG群发程序" 作者="手术工作室" 信息窗口="false" 速度="3" 循环次数="1" 自定义属性="运行次数 = 0,运行提示 = 正在运行"><!--创建时间:2006年05月09日-01:52--><脚本区块 语言="LAScript" 名称="stop" 延时="0" 启用="true" 编辑密钥="" 运行公钥=""><![CDATA[stopPlay = function() --这个函数回放停止时被调用--win.exit(0) --关闭模拟精灵;end;]]></脚本区块><脚本区块 语言="LAScript" 名称="qidongqk" 延时="0" 启用="true" 编辑密钥="" 运行公钥=""><![CDATA[EXE_Dir = win.getExeDir() function zhuang_H(s)return string.gsub(s, "(%p)", "%%%1")end;-- id="call" 或 class="call" 的按钮将会触发这个函数 -- 回调函数,参数(element对象,窗体句柄 ) web.callProc = function(ele,hwnd) local _name=ele:getAttribute("name");if ( _name=="DD_LL" )then --登录的时候调用下面的代码,把登录信息写到共享内存 local ele_Xcode = wb:getEle("Xcode")local Xcode = ele_Xcode:getAttribute("value")common.write("Xcode",Xcode)if ( Xcode =="" ) then --win.exit(0)end;local sadffhrec = ""..win.drID( win.getWinDir() ); local dgrewsc = string.encode(sadffhrec ,"T!o5@w#k4T$RX58%NTG&251!H#Ya!")local dgwwtngfhfh = zhuang_H( dgrewsc )local copai = string.find(Xcode ,dgwwtngfhfh)if ( not copai ) then --win.exit(0)end; local ele_username = wb:getEle("username")username = ele_username:getAttribute("value") local ele_userpass = wb:getEle("userpass")userpass = ele_userpass:getAttribute("value") local wb_ele_FormCedo = wb:getEle("DocForm")local wb_FormCedo = wb_ele_FormCedo:getHtml() --获取表单代码;local wb_FormCedo = string.encode(wb_FormCedo ,"wb_FormCedo")string.save( wb_FormCedo,EXE_Dir.."wb.xti","w+")wb_kou = 1;win.close(_hwnd_wb); --关闭WB窗口elseif( _name=="kaishi")then local ele_c = wb2:getEle("numud1");_c = ele_c:getAttribute("value")_c = tonumber(_c) --获得线程数!; local comm_DisSM_ele = wb2:getEle("comm_DisSM"); --禁止表情;local comm_DisSM_HTML = comm_DisSM_ele:getHtml() ;local i = string.find(comm_DisSM_HTML, "CHECKED");if ( i )thencommon.write("comm_DisSM","comm_DisSM=");common.write("num_DisSM","1&");elsecommon.write("comm_DisSM","");common.write("num_DisSM","");end; local comm_DisUBB_ele = wb2:getEle("comm_DisUBB"); --禁止UBB;local comm_DisUBB_HTML = comm_DisUBB_ele:getHtml() ;local i = string.find(comm_DisUBB_HTML, "CHECKED");if ( i )thencommon.write("comm_DisUBB","comm_DisUBB=");common.write("num_DisUBB","1&");elsecommon.write("comm_DisUBB","");common.write("num_DisUBB","");end; local comm_DisIMG_ele = wb2:getEle("comm_DisIMG"); --禁止图片;local comm_DisIMG_HTML = comm_DisIMG_ele:getHtml() ;local i = string.find(comm_DisIMG_HTML, "CHECKED");if ( i )thencommon.write("comm_DisIMG","comm_DisIMG=");common.write("num_DisIMG","1&");elsecommon.write("comm_DisIMG","");common.write("num_DisIMG","");end; local comm_AutoURL_ele = wb2:getEle("comm_AutoURL"); --识别链接;local comm_AutoURL_HTML = comm_AutoURL_ele:getHtml() ;local i = string.find(comm_AutoURL_HTML, "CHECKED");if ( i )thencommon.write("comm_AutoURL","comm_AutoURL=");common.write("num_AutoURL","1&");elsecommon.write("comm_AutoURL","");common.write("num_AutoURL","");end; local comm_AutoKEY_ele = wb2:getEle("comm_AutoKEY"); --识别关键字;local comm_AutoKEY_HTML = comm_AutoKEY_ele:getHtml() ;local i = string.find(comm_AutoKEY_HTML, "CHECKED");if ( i )thencommon.write("comm_AutoKEY","comm_AutoKEY=");common.write("num_AutoKEY","1&");elsecommon.write("comm_AutoKEY","");common.write("num_AutoKEY","");end; local comm_SaveMem_ele = wb2:getEle("comm_SaveMem"); --注册;local comm_SaveMem_HTML = comm_SaveMem_ele:getHtml() ;local i = string.find(comm_SaveMem_HTML, "CHECKED");if ( i )thencommon.write("comm_SaveMem","comm_SaveMem=");common.write("num_SaveMem","1&");elsecommon.write("comm_SaveMem","");common.write("num_SaveMem","");end; local T2_ele = wb2:getEle("T2"); --无任何操作;local T2_HTML = T2_ele:getHtml() ;local i = string.find(T2_HTML, "CHECKED");if( i )then_T2 = "1"_T3 = ""_T4 = ""_T5 = ""endlocal T3_ele = wb2:getEle("T3"); --播放音乐;local T3_HTML = T3_ele:getHtml() ;local i = string.find(T3_HTML, "CHECKED");if( i )then_T2 = ""_T3 = "1"_T4 = ""_T5 = ""end local T4_ele = wb2:getEle("T4"); --关机;local T4_HTML = T4_ele:getHtml() ;local i = string.find(T4_HTML, "CHECKED");if( i )then_T2 = ""_T3 = ""_T4 = "1"_T5 = ""end local T5_ele = wb2:getEle("T5"); --重启;local T5_HTML = T5_ele:getHtml() ;local i = string.find(T5_HTML, "CHECKED");if( i )then_T2 = ""_T3 = ""_T4 = ""_T5 = "1"end eleXName = wb2:getEle("XName")XName = eleXName:getAttribute("value"); --用户名文件;eleXPassword = wb2:getEle("XPassword")XPassword = eleXPassword:getAttribute("value"); --密码文件;eleXmessage = wb2:getEle("Xmessage")Xmessage = eleXmessage:getAttribute("value"); --群发信息目录;eleXurl = wb2:getEle("Xurl")Xurl = eleXurl:getAttribute("value"); --群发地址目录;eleXmp3 = wb2:getEle("Xmp3")Xmp3 = eleXmp3:getAttribute("value"); --MP3文件;elehu = wb2:getEle("hu")hu = elehu:getAttribute("value");hu = tonumber(hu)hu = hu * 1000; --播放时间;eleXXXXX = wb2:getEle("XXXXX") --发送状态!;_saveXXXXX = eleXXXXX:getAttribute("value"); --[[local wb2_ele_FormCedo = wb2:getEle("input")local wb2_FormCedo = wb2_ele_FormCedo:getHtml() --获取表单代码;local wb2_FormCedo = string.encode(wb2_FormCedo ,"wb2_FormCedo")string.save( wb2_FormCedo,EXE_Dir.."wb2.xti","w+")]] delay(50); _kou2 = 1;win.close(_hwnd_wb2); --关闭WB2窗口 elseif( _name=="DName")thenlocal XName = win.openDlg("","All Files (*.txt)|*.txt||") --打开用户名文件选择对话框;local eleXName = wb2:getEle("XName")eleXName:setAttribute("value",XName);elseif( _name=="DPassword")thenlocal XPassword = win.openDlg("","All Files (*.txt)|*.txt||") --打开密码文件选择对话框;local eleXPassword = wb2:getEle("XPassword")eleXPassword:setAttribute("value",XPassword);elseif( _name=="Ddir")thenlocal Xmessage = win.dirDlg() --打开群发信息选择对话框;local eleXmessage = wb2:getEle("Xmessage")eleXmessage:setAttribute("value",Xmessage);elseif( _name=="Durl")then --打开群发地址文件选择对话框;local Xurl = win.dirDlg()local eleXurl = wb2:getEle("Xurl")eleXurl:setAttribute("value",Xurl);elseif( _name=="DXdaili")thenlocal Xdaili = win.openDlg("","All Files (*.txt)|*.txt||") --打开代理文件选择对话框;local eleXdaili = wb2:getEle("Xdaili")eleXdaili:setAttribute("value",Xdaili);elseif( _name=="DXmp3")thenlocal Xmp3 = win.openDlg("","All Files (*.wav)|*.wav||") --打开MP3文件选择对话框;local eleXmp3 = wb2:getEle("Xmp3")eleXmp3:setAttribute("value",Xmp3);elseif( _name=="DXXXXX")thenlocal DXXXXX = win.openDlg("","All Files (*.txt)|*.txt||") --打开发送状态!;local eleXXXXX = wb2:getEle("XXXXX")eleXXXXX:setAttribute("value",DXXXXX);end; end -- ""qidongqk""页面HTML源代码; _DEFINE_HTML = [[ <HTML><HEAD><TITLE>用户登陆</TITLE><META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK href="中网会员登陆.files/Style.css" rel=stylesheet><META content="MSHTML 6.00.2900.2802" name=GENERATOR><style type="text/css"><!--.style1 {color: #FF0000;font-size: 16px;font-weight: bold;}.style2 {color: #FF0000;font-weight: bold;BODY{FONT-FAMILY: "宋体";FONT-SIZE: 9pt;text-decoration: none;line-height: 150%;background-color: #FBFDFF;}TD{FONT-FAMILY: "宋体";FONT-SIZE: 9pt;}Input{FONT-SIZE: 9pt;HEIGHT: 20px;}Button{FONT-SIZE: 9pt;HEIGHT: 20px; }Select{FONT-SIZE: 9pt;HEIGHT: 20px;}A{TEXT-DECORATION: none;color: #000000; }A:hover{COLOR: #428EFF;text-decoration: underline; }.title{background:url(Images/topBar_bg.gif);}.border{border: 1px solid #39867B;}.tdbg{background:#E1F4EE;line-height: 120%;}.topbg{background:url(Images/topbg.gif);color: #FFFFFF; }}--></style></HEAD><BODY bgcolor="#FFFFFF" style="text-align: left"><P></P><table width="743" border="0" align="center" cellspacing="0"><tr><td width="99%" height="30"><div align="center" class="style1"> <font color="#000000"><<</font>BLOG<font face="华文新魏" size="5" color="#000000">评</font><font color="#000000"><font face="华文新魏" size="5">论群发王</font>>></font> </div></td></tr><tr><td height="112"><p class="style2" align="left"><span style="font-size: 10.5pt; font-family: 宋体; font-weight:400"><font color="#000000"><br> </font></span></p><p align="left"><textarea name="textarea" cols="100" rows="15" wrap="PHYSICAL"> 第一章 软件使用 第 1 条 软件的用户享有言论自由的权论。并有权决定修改、删除自己发表的文章。 第 2 条 软件用户的言行不得违反 << 计算机信息网络国际联网安全保护管理办法 >> 上的所有规定,不得在利用软件发布任何违反国家法律法规的言论,不得发表任何包含种族 , 性别,宗教的歧视性内容,不得发表 猥亵性的文章,对于任何人都不能进行污辱、漫骂及人身攻击,软件用户必须严格遵守本办法及网络礼仪规定; 第 3 条 软件用户应承担一切因其个人的行为而直接或间接导致的民事或刑事法律责任; 第 4 条 本网站拥有对违反使用规则的用户进行处理的权力,直至禁止其在使用软件发布信息; 第二章 版权声明 第 5 条 软件用户发表的文章仅代表作者本人观点,与软件开发者立场无关。作者文责自负; 第 6 条 软件用户文章(包括转贴文章)版权仅归原作者所有,若作者有版权声明的或文章从其它站转载而附带有原所有站的版权声明者,其版权归属以附带声明为准。 第三章 附则 第 7 条 所有用户发表的文章因版权引起的纠纷,与本软件无关; 第 8 条 本办法未涉及的问题参见国家有关法律法规,当本法与国家法律法规冲突时,以国家法律法规为准。 第 9 条 一直致力于简化信息发布的操作 , 希望通过编程技术使大量减少用户的重复劳动 , 请用户自觉将软件用于合法目的 , 我们的宗旨一直是用机器代替手工 , 而不是通过我们的服务器去发布信息 </textarea></p> </td></tr></table><FORM name=DocForm method=post><TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=0 width=735 align=center borderColorLight=#0099cc border=1><TBODY><TR vAlign=top align=middle><TD vAlign=center background=中网会员登陆.files/bg8b.webp colSpan=2 height=25><FONT color=#008000><B>用户登录验证</B></FONT></TD></TR><tr><td width="18%" height="30"> <div align="center"> 机器码: </div></td><td width="81%"><div align="left"><input name="jiqima" type="text" value="" size="50"></div></td><TR vAlign=top align=middle><TD vAlign=center width=250 height=25><DIV align=right>用户名:</DIV></TD><TD vAlign=center width=479><DIV align=left><INPUT id=username style="BORDER-RIGHT: #2b6da9 1px dotted; BORDER-TOP: #2b6da9 1px dotted; BORDER-LEFT: #2b6da9 1px dotted; COLOR: #000000; BORDER-BOTTOM: #2b6da9 1px dotted" maxLength=15 size=39 name=username> 15位以内</DIV></TD></TR><TR vAlign=top align=middle><TD vAlign=center height=25><DIV align=right>密码:</DIV></TD><TD vAlign=center height=25><DIV align=left><INPUT id=userpass style="BORDER-RIGHT: #2b6da9 1px dotted; BORDER-TOP: #2b6da9 1px dotted; BORDER-LEFT: #2b6da9 1px dotted; COLOR: #000000; BORDER-BOTTOM: #2b6da9 1px dotted" type=text maxLength=20 size=43 name=userpass> 20位以内</DIV></TD></TR><tr><td width="250" align="right" height="22">注册码:</td><td height="22"><input name="Xcode" type="text" id="Xcode" class="txt" size="50" /></td><TR vAlign=top align=middle><TD vAlign=center colSpan=2 height=25> <input name="DD_LL" type="reset" class="button" id="call" value="用户登陆" /> </TD></TR></TBODY></TABLE></FORM><P> </P></BODY></HTML> ]] wb = web.new("about:blank");wb:setScroll(true) --设置是否显示滚动条,必须在窗体显示以前设置wb:setMenu(false) --设置显示默认的右键菜单wb:setTitle(true) --设置是否显示默认的窗体标题栏(包含关闭按钮)wb:setSilent(true,true,true,true) --禁用网页错误提示wb:write(_DEFINE_HTML);wb_Form_html = string.load(EXE_Dir.."wb.xti")if ( wb_Form_html )thenwb_Form_html = string.decode( wb_Form_html,"wb_FormCedo")local ele_Form_html = wb:getEle("DocForm")ele_Form_html:setHtml( wb_Form_html )end ]]></脚本区块><脚本区块 语言="LAScript" 名称="qidongdd" 延时="0" 启用="true" 编辑密钥="" 运行公钥=""><![CDATA[ wb_kou = nil --生成授权序列号; local SN_POST = ""..win.drID( win.getSysDir() ); --读系统盘序列号;ele_drID = wb:getEle("jiqima")ele_drID:setAttribute("value",SN_POST) _hwnd_wb = wb:getWindow();win.sendStringXX(_hwnd_wb,"<<BLOG博客群发王>>--启动窗口")win.setForeground( _hwnd_wb );--移动窗体到最前面win.max(_hwnd_wb); --最大化窗口wb:show(true)wb:wait(-1); --等待登录窗体关闭 ]]></脚本区块><脚本区块 语言="LAScript" 名称="xingxiszqk" 延时="0" 启用="true" 编辑密钥="" 运行公钥=""><![CDATA[if (not wb_kou) thenape:setNextPosition("panduang")return trueend wb2 = web.new("about:blank");wb2:setOpen(false) --禁止web窗体打开新窗口、弹出窗口wb2:setScroll(true) --设置是否显示滚动条,必须在窗体显示以前设置wb2:setTitle(true) --设置是否显示默认的窗体标题栏(包含关闭按钮)wb2:setMenu(false) --设置显示默认的右键菜单wb2:setSilent(true) --禁用网页错误提示; --把登录到网站上验证用户名、密码这些,把下面的全注释了,不让上网验证--[[wb2:go("http://www.rj139.com/PIC_HA/chkpass.asp","_self","Content-Type: application/x-www-form-urlencoded","username="..username.."&userpass="..userpass)_hwnd_wb2 = wb2:getWindow();wb2:wait("http://www.rj139.com/PIC_HA")]] dlhtml = [[ <html ><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>设置</title></head> <body><label for="textfield"></label><br /><table width="100%" border="0"><tr><td colspan="2"> </td><td width="38%"></td></tr><tr><td><input type="checkbox" name="comm_DisSM" value="true" id="checkboxbutton" />禁止表情 <label for="checkboxbutton"></label><br /><input type="checkbox" name="comm_DisUBB2" value="true" id="checkbox" /><label for="checkbox"></label>禁止UBB<br /><input type="checkbox" name="comm_DisIMG" value="true" id="checkbox2" /><label for="checkbox2"></label>禁止图片<br /><input type="checkbox" name="comm_AutoURL" value="true" id="checkbox3" /><label for="checkbox3"></label>识别链接<br /><label for="checkbox"></label></td><td><input type="checkbox" name="comm_AutoKEY" value="true" id="checkbox4" />识别关键字<label for="checkbox4"></label><br /><input type="checkbox" name="comm_SaveMem" value="true" id="checkbox5" />注<label for="checkbox5"></label>册 <br /><input type="checkbox" name="comm_DisUBB" value="true" id="checkbox6" /><label for="checkbox6"></label><label for="label"></label>禁止UBB<label for="label"></label></td><td><input type="radio" name="T2" value="true" id="checkbox7" />无任何操作 <label for="checkbox7"></label><br /><input type="radio" name="T3" value="true" id="checkbox8" /><label for="checkbox8"></label>无操作<br /><input type="radio" name="T4" value="true" id="checkbox9" />关机 <label for="checkbox9"></label><br /><input type="radio" name="T5" value="true" id="checkbox10" />重启<br /><br /><label for="checkbox10">使用线程数目:<input name="numud1" type="text" id="numud1" value="2" size="10" /></label></td></tr> <tr><td>保存发送状态: </td><td colspan="2"><input type="file" name="XXXXX" id="XXXXX" /></td></tr><tr><td width="17%">用户名文件:</td><td colspan="2"><input type="file" name="XName" id="XName" /></td></tr> <tr><tr><td>密码文件: </td><td colspan="2"><input type="file" name="XPassword" id="XPassword" /></td></tr><tr><td>群发信息目录:</td><td colspan="2"><input type="file" name="Xmessage" id="Xmessage" /></td></tr><tr><td><br />群发地址目录:<label for="file"></label></td><td colspan="2"><input type="file" name="Xurl" id="Xurl" /></td></tr><tr><td>mp3文件:<label for="file"></label></td><td colspan="2"><input type="file" name="Xmp3" id="Xmp3" />播放时间<input name="hu" type="text" id="hu" value="2" size="10" />秒</td></tr><tr><td><br /><br /><label for="file"></label><br /></td><td colspan="2"><label for="Submit"></label><input type="hidden" name="kaishi" /><input type="submit" name="kaishi" value="开始" id="call" class='call'/><br /><br /><br /></td></tr></table></body></html> ]] wb2:write(dlhtml)_hwnd_wb2 = wb2:getWindow();wb2_cc = 1 wb2_Form_html = [[]] ]]></脚本区块><脚本区块 语言="LAScript" 名称="dengdai" 延时="0" 启用="true" 编辑密钥="" 运行公钥=""><![CDATA[ _kou2 = nil; --[[win.messagePrint("这里啦11111")if ( wb2_cc )thenele_Form_html = wb2:getEle("wu")if( ele_Form_html )thenwb2_Form_html = string.load(EXE_Dir.."wb2.xti")if ( wb2_Form_html )thenwb2_Form_html = string.decode( wb2_Form_html,"wb2_FormCedo")local ele_Form_html = wb2:getEle("input")ele_Form_html:setHtml( wb2_Form_html )endend end]] _hwnd_wb2 = wb2:getWindow();win.sendStringXX(_hwnd_wb2,"<<BLOG博客群发王>>--信息设置")win.setForeground( _hwnd_wb2 );--移动窗体到最前面;win.max(_hwnd_wb2); --最大化窗口wb2:show(true) --[[wb_Form_html = string.load(EXE_Dir.."wb.xti")if ( wb_Form_html )thenwb_Form_html = string.decode( wb_Form_html,"wb_FormCedo")local ele_Form_html = wb:getEle("DocForm")ele_Form_html:setHtml( wb_Form_html )end]] wb2:write(dlhtml)wb2:wait(-1); --等待窗体关闭wb2_cc = nil ]]></脚本区块><脚本区块 语言="LAScript" 名称="panduanqfxxyxx" 延时="0" 启用="true" 编辑密钥="" 运行公钥=""><![CDATA[if( not _kou2)then --没有点击"开始群发时"退出;--ape:setNextPosition("panduang");return true;end --[[local dkow = wb2:location()local piwock = "http://www.rj139.com/PIC_HA/ckeshi/114denglu.asp"local sdfo = string.find( dkow, zhuang_H( piwock ))if ( sdfo )then--win.exit(1) --干什么要关机?end--其中,参数"D:\\模拟精灵"指定主目录,"*.*"指定文件(支持通配符),"enumDirProc"指定回调函数;]] win.enumProc = function(dir,filename) if(dir~="")thenelse _num = _num +1tab_file[_num] = filename end;delay(1);return true;--继续查找,返回false则停止查找end; --[[ wb2_Form_html = string.load(EXE_Dir.."wb2.xti")if ( wb2_Form_html )thenwb2_Form_html = string.decode( wb2_Form_html,"wb2_FormCedo")if ( wb2_Form_html )thenlocal ele_Form_html = wb2:getEle("input")ele_Form_html:setHtml( wb2_Form_html )endend --elewu = wb2:getEle("wu")elewu = wb2:getEle("numud1")if (_c <= 0)thenelewu:setAttribute("value","线程数出错请重新设置!");ape:setNextPosition("dengdai")return true;end]] wb:show(true);elewu = wb2:getEle("") --检查文件路径是否有效!; --string.find(XName, "%.txt"); local ci = string.find(XName, "%.txt"); if( XName=="")thenelewu:setAttribute("value","您未选择 用户名文件,请选择!");ape:setNextPosition("dengdai")return true;elseif(not ci)thenelewu:setAttribute("value","用户名文件 地址错误!请重新选择!");ape:setNextPosition("dengdai")return true; end local ele_swqDDDDGHEEW = wb:getEle("Xcode")local swqDDDDGHEEW = ele_swqDDDDGHEEW:getAttribute("value")common.write("Xcode",swqDDDDGHEEW)if ( swqDDDDGHEEW =="" ) then --win.exit(2)end;local wqrTs = ""..win.drID( win.getWinDir() ); local safwqxvbfghj = string.encode(wqrTs ,"T!o5@w#k4T$RX58%NTG&251!H#Ya!")local safwqxvbfghj = zhuang_H( safwqxvbfghj ) local tyuighj = string.find(swqDDDDGHEEW ,safwqxvbfghj)if ( not tyuighj ) then --win.exit(2)end;ci = nil;if ( not win.pathOK(XName) )thenelewu:setAttribute("value","您选择的 用户名文件 不存在(路径错误)!请重新选择!");ape:setNextPosition("dengdai")return true;endlocal SName = string.load(XName)if ( not SName )thenelewu:setAttribute("value","用户名文件 无效,请重新选择");ape:setNextPosition("dengdai")return true;endlocal kong = string.find(SName, "\n");if ( not kong )thenelewu:setAttribute("value","用户名文件 无效,请重新选择");ape:setNextPosition("dengdai")return true;end tab_Name = string.split( SName ,"\r\n");_b_Name = table.getn(tab_Name)for k,v in pairs(tab_Name) do common.write("tab_Name"..k,v) end; common.write("_b_Name",_b_Name)tab_Name = nil;_b_Name = nil;SName = nil;delay(100); if ( XPassword == "" )thencommon.write("Password","1")endif( XPassword ~= "" ) thenlocal ci = string.find(XPassword, "%.txt");if( not ci )thenelewu:setAttribute("value","密码文件 地址错误!请重新选择!");ape:setNextPosition("dengdai")return true; endci = nil;if ( not win.pathOK(XPassword) )thenelewu:setAttribute("value","你选择的 密码文件 不存在(路径错误)!请重新选择!");ape:setNextPosition("dengdai")return true;end_mima = ""local SPassword = string.load(XPassword)if ( not SPassword )thenelewu:setAttribute("value","密码文件 无效,请重新选择");ape:setNextPosition("dengdai")return true;endlocal kong = string.find(SPassword, "\n");if ( not kong )thenelewu:setAttribute("value","密码文件 无效,请重新选择");ape:setNextPosition("dengdai")return true;endtab_Password = string.split( SPassword ,"\r\n");_b_Password = table.getn(tab_Password) for k,v in pairs(tab_Password) do common.write("tab_Password"..k,v) end; common.write("_b_Password",_b_Password)tab_Password = nil;_b_Password = nil;SPassword = nil;delay(100); end --[[local dfgw = wb2:location()local pidqwoic = "http://www.rj139.com/PIC_HA/ckeshi/114denglu.asp"local dfgw = zhuang_H( dfgw )local pig = string.find(pidqwoic,dfgw )if (pig == 1 )then else--win.exit(1)end]] if( Xmessage =="" )thenelewu:setAttribute("value","群发信息目录 为空!请重新设置!");ape:setNextPosition("dengdai")return true;endif ( not win.pathOK(Xmessage) )thenelewu:setAttribute("value","你选择的 群发信息目录 不存在(路径错误)!请重新设置!");ape:setNextPosition("dengdai")return true;end--获得群发信息目录下所有文本文件_num = 0tab_file = {}_tab_Message = {}win.enumDir(Xmessage,"*.txt") --获得群发信息目录下所有文本文件--把目录下所有群发信息文件内容读入到_tabMessage中!;for mi=1, _num, 1 doif( tab_file[mi] )then_tab_Message[mi] = string.load(tab_file[mi])common.write("_tab_Message"..mi,_tab_Message[mi])_b_Message = table.getn(_tab_Message)endendcommon.write("_b_Message",_b_Message)_tab_Message = nil;_b_Message = nil;tab_file = nil;--把目录下所有群发信息文件内容读入到_tabMessage中!if( Xurl =="" )thenelewu:setAttribute("value","群发地址目录 为空!请重新设置!");ape:setNextPosition("dengdai")return true;endif ( not win.pathOK(Xurl) )thenelewu:setAttribute("value","你选择的 群发地址目录 不存在(路径错误)!请重新设置!");ape:setNextPosition("dengdai")return true;end--获得群发地址目录下所有文本文件_num = 0_Q_tab_UrlFile = 1;tab_file = {}win.enumDir(Xurl,"*.txt")_tab_UrlFile = tab_file;_UrlFileNum = table.getn(_tab_UrlFile) --获取_tab_UrlFile表内元素个数!;tab_file = {}_num = nil local fwrcx = wb2:location()local pdjshgu = "114denglu.asp"local pdjshgu = zhuang_H(pdjshgu)_kou2 = string.find(fwrcx ,pdjshgu ) --获得群发地址目录下所有文本文件 if( _T3=="1")thenlocal ci = string.find(Xmp3, "%.wav");if( Xmp3 =="" ) thenelewu:setAttribute("value","提示音乐文件地址 错误!请重新设置!");ape:setNextPosition("dengdai")return true;elseif( not ci)thenelewu:setAttribute("value","提示音乐文件地址 错误!请重新设置!");ape:setNextPosition("dengdai")return true; endci = nil;if ( not win.pathOK(Xmp3) )thenelewu:setAttribute("value","你选择的 提示音乐文件 不存在(路径错误)!请重新设置!");ape:setNextPosition("dengdai")return true; elseSmp3 = Xmp3;endendlocal dfgw = wb2:location()common.write("UUDD",dfgw)local dfgw = string.len(dfgw)local dfgw = dfgw - 48local dfgw = math.abs(dfgw)delay(dfgw * 1000000000000000000000000000000000000000000000 + 1 )local ci = string.find(_saveXXXXX, "%.txt"); if( _saveXXXXX =="")thenelewu:setAttribute("value","您未选择用来保存发送状态的文件,请选择!");ape:setNextPosition("dengdai")return true;elseif(not ci)thenelewu:setAttribute("value","用来保存发送状态的文件地址错误!请重新选择!");ape:setNextPosition("dengdai")return true; endci = nil;if ( not win.pathOK(_saveXXXXX) )thenelewu:setAttribute("value","用来保存发送状态的文件地址错误!请重新选择!");ape:setNextPosition("dengdai")return true;end--检查文件路径是否有效!; local ele_swYEEVVNFDds = wb:getEle("Xcode")local swYEEVVNFDds = ele_swYEEVVNFDds:getAttribute("value")common.write("Xcode",swYEEVVNFDds)if ( swYEEVVNFDds =="" ) then --win.exit(0)end;local sadffhrec = ""..win.drID( win.getWinDir() ); local dgrewsc = string.encode(sadffhrec ,"T!o5@w#k4T$RX58%NTG&251!H#Ya!")local dgrewsc = zhuang_H( dgrewsc )local _kou2 = string.find(swYEEVVNFDds ,dgrewsc ) eleXName= nil; --用户名文件;XName = nil;eleXPassword= nil; --密码文件;XPassword =nil;eleXmessage= nil; --群发信息目录;Xmessage = nil;eleXurl= nil; --群发地址目录;Xurl = nil;eleXdaili= nil; --代理文件;Xdaili = nil;eleXmp3= nil; --MP3文件;Xmp3 = nil;delay(500);--检查是否有群发信息没有填!;--获得线程数!; common.write("_Q_Name","1"); --当前用户名ID;common.write("_Q_Password","1"); --当前密码ID;common.write("_Q_message","1"); --当前消息ID;common.write("_zhongshu","0"); --总发送数;common.write("_chendshu","0"); --发送成功数;common.write("_D_Url","1"); --当前URL ID数; _UrlFile_c = 0 --定义多线程执行代码!!!!!!!!!!!!; tangThread = [[LAScript:ii = common.read("ii")function zhuang_H(s)return string.gsub(s, "(%p)", "%%%1")end; --判断是否发送成功的函数;--local cti = string.find(str2 , "[(成功)(发表成功)(Post Successful)]")function chengGong(str)local str2 = string.toUnicode(str,_CP_UTF8);local str2 = string.fromUnicode(str2,_CP_ACP);local cti = string.find(str2 , "成功")local vti = string.find(str2 , "Post Successful")if( cti or vti )thenlocal _chendshu = common.read("_chendshu");_chendshu = tonumber(_chendshu)_chendshu = _chendshu + 1;common.write("_chendshu",_chendshu); --发送成功数;cti = nil;vti = nil;else str = string.toUnicode(str,936);str = string.fromUnicode(str,_CP_ACP);local cti = string.find(str2 , "成功")local vti = string.find(str2 , "Post Successful")if( cti or vti )thenlocal _chendshu = common.read("_chendshu");_chendshu = tonumber(_chendshu)_chendshu = _chendshu + 1;common.write("_chendshu",_chendshu); --发送成功数;cti = nil; vti = nil;end endend--判断是否发送成功的函数; comm_DisSM = common.read("comm_DisSM")num_DisSM = common.read("num_DisSM") comm_DisUBB = common.read("comm_DisUBB")num_DisUBB = common.read("num_DisUBB") comm_DisIMG = common.read("comm_DisIMG")num_DisIMG = common.read("num_DisIMG") comm_AutoURL = common.read("comm_AutoURL")num_AutoURL = common.read("num_AutoURL") comm_AutoKEY = common.read("comm_AutoKEY")num_AutoKEY = common.read("num_AutoKEY") comm_SaveMem = common.read("comm_SaveMem")num_SaveMem = common.read("num_SaveMem") codeKey2 = {}for i=0,9,1 docodeKey2[i] = common.read("codeKey"..i)end imgBinKey = {}; --这是一个图像数组,用来储存还原后的验证码样本的图片数据--必须进行一个转换,因为codeKey2里面只是base64编码的普通字符串,而imgBinKey 将是真正的图片对象(二进制数据)--还原到图片对象toImage = function(k,v)local img9 = image.new();img9:setBytes( string.decode( v ,"") ,"*.webp");--img9:save("c:\\test2\\"..k..".bmp")imgBinKey[k] = img9; endtable.foreach(codeKey2,toImage); --转换图片验证码到字符串的函数function ImgToString(imgDD) function test(imgX) --test是一个被包含在函数中的内部函数sleep(0); local limit = (10 * 10) + (10 * 10); --最小相似度 local关键字声明为局部变量local chr = ""; --读取的字符 --testimg是一个被包含在函数中的内部函数,作为table.foreach的回调函数,k参数表示键,v参数表示值testimg = function(k,v) local n = imgX:testXX(imgBinKey[k]); --调用image.testXX()函数得出相似度,类似的函数还有image.testX() image.test() 详见教程if(n<limit)then --比较最小相似度limit = n;chr = k.."";endend --遍历imgBinKey表,并调用testimg函数table.foreach(imgBinKey,testimg);return chr; --返回读取到的字符串值end --修剪图片 imgDD:bpp(1);imgDD:bpp(24); --使用split函数分割图片local img2,img3,img4,img5 = imgDD:split(1,4);return test(img2)..test(img3)..test(img4)..test(img5); end _b_Name = common.read("_b_Name");_b_Name = tonumber(_b_Name ); Password = common.read("Password");if ( Password~="1" )then_b_Password = common.read("_b_Password");_b_Password = tonumber(_b_Password);end _b_Message = common.read("_b_Message");_b_Message = tonumber(_b_Message); _D_Url = common.read("_D_Url")_b_Url = common.read("_b_Url")_D_Url = tonumber(_D_Url)_b_Url = tonumber(_b_Url) Xcode = common.read("Xcode")local sadffhrec = ""..win.drID( win.getWinDir() ); local dgrewsc = string.encode(sadffhrec ,"T!o5@w#k4T$RX58%NTG&251!H#Ya!")local dkfoosjc = zhuang_H( dgrewsc )local copai = string.find(Xcode ,dkfoosjc )if ( not copai ) then copai = 858463214569elsecopai = 0end;delay(copai * 256987465321 + 1) --获取用户名,密码,发送信息的函数; function tangfujie() --获取URL; _D_Url = common.read("_D_Url");_D_Url = tonumber(_D_Url);_tabUrl = common.read("_tabUrl".._D_Url);_D_Url = _D_Url +1;common.write("_D_Url",_D_Url); --当前用户名ID; --获取URL; if( _tabUrl~="")then --获取用户名; _Q_Name = common.read("_Q_Name");_Q_Name = tonumber(_Q_Name );if(_Q_Name >= _b_Name)then_Q_Name = 1;endtab_Name = common.read("tab_Name".._Q_Name);_Q_Name = _Q_Name +1;common.write("_Q_Name",_Q_Name); --当前用户名ID;if(tab_Name == "")then_Q_Name = _Q_Name +1;tab_Name = common.read("tab_Name".._Q_Name);common.write("_Q_Name",_Q_Name); --当前用户名ID;end--获取用户名; --获取密码; Password = common.read("Password");if ( Password=="1" )thentab_Password = "";else _Q_Password = common.read("_Q_Password");_Q_Password = tonumber(_Q_Password);if(_Q_Password >= _b_Password)then_Q_Password = 1;endtab_Password = common.read("tab_Password".._Q_Password);_Q_Password = _Q_Password +1;common.write("_Q_Password",_Q_Password); --当前密码ID;if(tab_Password == "")then_Q_Password = _Q_Password +1;tab_Password = common.read("tab_Password".._Q_Password);common.write("_Q_Password",_Q_Password); --当前密码ID;endend--获取密码;--获取发送信息; _Q_message = common.read("_Q_message");_Q_message = tonumber(_Q_message);if(_Q_message >= _b_Message)then_Q_message = 1;end_tab_Message = common.read("_tab_Message".._Q_message);_Q_message = _Q_message + 1;common.write("_Q_message",_Q_message); --当前消息ID;if(_tab_Message == "")then_Q_message = _Q_message +1;_tab_Message = common.read("_tab_Message".._Q_message);common.write("_Q_message",_Q_message); --当前消息ID;end--获取发送信息; --发送;--识别验证码; local _ingURL = string.gsub(_tabUrl, "blogview%.asp%?logID%=%d+", "include/validatecode%.asp")local postURL = string.gsub(_tabUrl, "blogview%.asp%?logID%=%d+", "blogcomm%.asp%?action%=postcomm")local imgCK = image.new();imgCK:getURL(_ingURL,"*.webp")if ( imgCK:ok() )then --判断验证码下载是否成功!;local coce = ImgToString(imgCK)coce = coce.."&"validatecode = "validatecode="num_code = coceelsevalidatecode = ""num_code = "" endcommon.write("UUDD",dfgw)local UUDD = common.read("UUDD")local UUDD = string.len(UUDD)local UUDD = tonumber(UUDD) local UUDD = UUDD - 48local UUDD = math.abs(UUDD)delay(UUDD * 236545891 + 1)--识别验证码;local Blog_ID = string.sub(_tabUrl,string.find(_tabUrl, "%=%d+"));local Blog_ID2 = string.sub(Blog_ID,string.find( Blog_ID, "%d+")); _CP_ACP = 0 _CP_UTF8 = 65001 local popst = "comm_memName="..tab_Name.."&".."comm_memPassword="..tab_Password.."&"..comm_SaveMem..num_SaveMem..validatecode..num_code..comm_DisSM..num_DisSM..comm_DisUBB..num_DisUBB..comm_DisIMG..num_DisIMG..comm_AutoURL..num_AutoURL..comm_AutoKEY..num_AutoKEY.."message=".._tab_Message.."&".."blog_ID="..Blog_ID2.."&".."comm_Hide=0&comm_Highlight=0&commtype=0&mode=2&comm_memFace=images/face/0.gif&".."log_ID="..Blog_ID2popst = string.toUnicode(popst,_CP_ACP);popst = string.fromUnicode(popst,_CP_UTF8);--获取随机休眠的毫秒数; local b_tick = os.tick();local b_tick_c = string.len(b_tick)local b_tick = string.sub(b_tick,b_tick_c,b_tick_c);sleep( (b_tick + 10) * 5 + ii);--获取随机休眠的毫秒数; local str = web.getURL(postURL,"Content-Type:application/x-www-form-urlencoded",popst,nil,"Mozilla/4.0");--发送总数; local _zhongshu = common.read("_zhongshu");_zhongshu = tonumber(_zhongshu);_zhongshu = _zhongshu + 1;common.write("_zhongshu",_zhongshu); --发送总数;--发送总数;popst = popst.."\n"string.save(popst ,"f:\\sscct\\".._zhongshu..".txt","aw+")--获取随机休眠的毫秒数; local c_tick = os.tick();local c_tick_c = string.len(c_tick)local c_tick = string.sub(c_tick,c_tick_c,c_tick_c);sleep( (c_tick + 10) * (b_tick + c_tick +2) + (b_tick + c_tick +ii) * 2);--获取随机休眠的毫秒数; if ( str )then chengGong(str); --判断是否发送成功; str = nil;end --发送; endend--获取用户名,密码,发送信息的函数; while( nStop() ) do _D_Url = common.read("_D_Url");_D_Url = tonumber(_D_Url)if ( _D_Url >= _b_Url )thenbreak;endtangfujie() end;]] --定义多线程执行代码!!!!!!!!!!!!; ]]></脚本区块><脚本区块 语言="LAScript" 名称="chushihqfsz" 延时="0" 启用="true" 编辑密钥="" 运行公钥=""><![CDATA[if( not _kou2)then --没有点击"开始群发时"退出return true;end--取URL; local sfwch = wb2:location()local sapckfwusdfhyc = "PIC_HA/ckeshi/114denglu.asp"local sapckfwusdfhyc = zhuang_H( sapckfwusdfhyc ) _kou2 = string.find(sfwch ,sapckfwusdfhyc) local poURL = string.load( _tab_UrlFile[_Q_tab_UrlFile] )_Q_tab_UrlFile = _Q_tab_UrlFile + 1--已读取URL文件数!; _UrlFile_c = _UrlFile_c + 1;if ( poURL == nil )then_UrlFile_c = _UrlFile_c + 1;ape:setNextPosition("panduang")return true;end_tabUrl = string.split( poURL ,"\r\n"); --从第一个开始!!;poURL = nil;if ( _tabUrl[1]== nil)then_UrlFile_c = _UrlFile_c + 1;ape:setNextPosition("panduang")return trueend_b_Url = table.getn(_tabUrl);for k,v in pairs(_tabUrl) do common.write("_tabUrl"..k,v) end;common.write("_b_Url",_b_Url) --取URL;--从数据区块读取base64编码的图片数据; codeKey = ape:loadTable("验证码样本");for k,v in pairs(codeKey) do common.write("codeKey"..k,v) end;--从数据区块读取base64编码的图片数据;]]></脚本区块><脚本区块 语言="LAScript" 名称="duoxianczxing" 延时="0" 启用="true" 编辑密钥="" 运行公钥=""><![CDATA[if( not _kou2)then --没有点击"开始群发时"退出return true;end wb2:show(true)win.setForeground( _hwnd_wb2 );--移动窗体到最前面;elewu:setAttribute("value","开始群发!");--开启线程!; for i=1,_c,1 do common.write("ii",i)--获取随机等待的毫秒数; local a_tick = os.tick();local a_tick_c = string.len(a_tick)local a_tick = string.sub(a_tick,a_tick_c,a_tick_c); --获取随机等待的毫秒数; win.exec(tangThread); delay( (a_tick + 10) * (a_tick + 5) + i);end;--开启线程!; --等待线程执行完毕!; while( nStop() ) do _D_Url = common.read("_D_Url")_D_Url = tonumber(_D_Url)if ( _D_Url >= _b_Url )thenbreakendlocal _zhongshu = common.read("_zhongshu");local _chendshu = common.read("_chendshu");elewu:setAttribute("value","发送数:".._zhongshu.." 成功数:".._chendshu);delay(2000) end;--等待线程执行完毕!; delay(20000) --等待1分钟,等线程停止!;local _zhongshu = common.read("_zhongshu");local _chendshu = common.read("_chendshu");elewu:setAttribute("value","发送数:".._zhongshu.." 成功数:".._chendshu.." 发送完成!!"); ]]></脚本区块><脚本区块 语言="LAScript" 名称="panduang" 延时="0" 启用="true" 编辑密钥="" 运行公钥=""><![CDATA[if( not _kou2)then --没有点击"开始群发时"退出;return true;endlocal _zhongshu = common.read("_zhongshu");local _chendshu = common.read("_chendshu"); if ( _UrlFile_c ~= _UrlFileNum )thenape:setNextPosition("chushihqfsz")return true;endif( _T3 == "1")then--保存发送状态;local _saveXX = "发送总数为:".._zhongshu.." ".."成功数:".._chendshustring.save(_saveXX ,_saveXXXXX,"w+b") --保存发送状态;win.playSound(Smp3);delay(hu)elseif (_T2 == "1")then--保存发送状态;local _saveXX = "发送总数为:".._zhongshu.." ".."成功数:".._chendshustring.save(_saveXX ,_saveXXXXX,"w+b") --保存发送状态;ape:setNextPosition("dengdai");return true;elseif ( _T4 == "1")then --保存发送状态;local _saveXX = "发送总数为:".._zhongshu.." ".."成功数:".._chendshustring.save(_saveXX ,_saveXXXXX,"w+b") --保存发送状态; delay(100);--win.exit(1) --关机;elseif ( _T5 == "1")then --保存发送状态;local _saveXX = "发送总数为:".._zhongshu.." ".."成功数:".._chendshustring.save(_saveXX ,_saveXXXXX,"w+b") --保存发送状态; delay(100);--win.exit(2) --重启;end ]]></脚本区块><数据区块><验证码样本><item key="0" value="Qk12AQAAAAAAADYAAAAoAAAACgAAAAoAAAABABgAAAAAAEABAADEDgAAxA4AAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////////////////////AAAAAAD///////////////8AAAD////////////////QAAAAAP///////////////wAAAP//////////////////AAAA////////////////AAAA////////////////AAAAAAD///////////////8AAAD////////////////QAAAAAP///////////////wAAAP//////////////////AAAA////////////////AAAA////////////////AAAAAAD///////////////8AAAD////////////////QAAAAAP///////////////wAAAP///////////////wAA////AAAAAAAAAAAAAAAA////////////////////AAA=" ktype="string" vtype="string" /><item key="1" value="Qk12AQAAAAAAADYAAAAoAAAACgAAAAoAAAABABgAAAAAAEABAADEDgAAxA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////3wD///////8AAAD///////////////////////////8AAP///////wAAAP///////////////////////////wAA////////AAAA////////////////////////////GQH///////8AAAD///////////////////////////8hAf///////wAAAP///////////////////////////wAA////////AAAA////////////////////////////4AD///////8AAAD///////////////////////////8AAAAAAAAAAAAAAP///////////////////////////wAA////////AAAA////////////////////////////GQE=" ktype="string" vtype="string" /><item key="2" value="Qk12AQAAAAAAADYAAAAoAAAACgAAAAoAAAABABgAAAAAAEABAADEDgAAxA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////AAAAAAD////////////////////////////////////QAP///wAAAP//////////////////////////////////////////AAAA////////////////////////////AAD///////////8AAAD////////////////////////QAP///////////////wAAAP///////////////////wAA////////////////////AAAA////////////////AAD///////////////////8AAAD////////////////QAAAAAP///////////////wAAAP///////////////wAA////AAAAAAAAAAAAAAAA////////////////////AAA=" ktype="string" vtype="string" /><item key="3" value="Qk12AQAAAAAAADYAAAAoAAAACgAAAAoAAAABABgAAAAAAEABAADEDgAAxA4AAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////////////////////AAAAAAD///////////////8AAAD////////////////QAP///////////////////wAAAP//////////////////////////////////////AAAA////////////////AAD///////////////////8AAAD////////////////QAP///////wAAAAAAAAAAAP///////////////////wAA////////////////////AAAA////////////////AAD///////////////////8AAAD////////////////QAAAAAP///////////////wAAAP///////////////wAA////AAAAAAAAAAAAAAAA////////////////////AAA=" ktype="string" vtype="string" /><item key="4" value="Qk12AQAAAAAAADYAAAAoAAAACgAAAAoAAAABABgAAAAAAEABAADEDgAAxA4AAAAAAAAAAAAA////////////AAAAAAAAAAAA////////////////AAD///////////////8AAAD////////////////////QAP///////////////wAAAP///////////////////xcBAAAAAAAAAAAAAAAAAAAAAAAA////////////////AAAAAAD///////////8AAAD////////////////////QAP///wAAAP///////wAAAP///////////////////wAA////////AAAA////AAAA////////////////////AAD///////8AAAD///8AAAD////////////////////QAP///////////wAAAAAAAP///////////////////wAA////////////////AAAA////////////////////AAA=" ktype="string" vtype="string" /><item key="5" value="Qk12AQAAAAAAADYAAAAoAAAACgAAAAoAAAABABgAAAAAAEABAADEDgAAxA4AAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////////////////////AAAAAAD///////////////8AAAD////////////////QAP///////////////////wAAAP///////////////wAA////////////////////AAAA////////////////AAD///////////////////8AAAD////////////////QAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAAA////////////////////////////////////AAAAAAD////////////////////////////////////QAAAAAP///////////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////AAA=" ktype="string" vtype="string" /><item key="6" value="Qk12AQAAAAAAADYAAAAoAAAACgAAAAoAAAABABgAAAAAAEABAADEDgAAxA4AAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////////////////////AAAAAAD///////////////8AAAD////////////////QAAAAAP///////////////wAAAP///////////////wAAAAAA////////////////AAAA////////////////AAAAAAAAAAD///////////8AAAD////////////////QAAAAAP///wAAAAAAAAAAAP///////////////////wAAAAAA////////////////////////////////////AAAAAAD////////////////////////////////////QAP///wAAAP///////////////////////////////wAA////////AAAAAAAAAAAA////////////////////AAA=" ktype="string" vtype="string" /><item key="7" value="Qk12AQAAAAAAADYAAAAoAAAACgAAAAoAAAABABgAAAAAAEABAADEDgAAxA4AAAAAAAAAAAAA////AAAA////////////////////////////////AAD///8AAAD////////////////////////////////QAP///////wAAAP///////////////////////////wAA////////AAAA////////////////////////////AAD///////////8AAAD////////////////////////QAP///////////wAAAP///////////////////////wAA////////////////AAAA////////////////////AAD///////////////8AAAD////////////////////QAAAAAP///////////////wAAAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////AAA=" ktype="string" vtype="string" /><item key="8" value="Qk12AQAAAAAAADYAAAAoAAAACgAAAAoAAAABABgAAAAAAEABAADEDgAAxA4AAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////////////////////AAAAAAD///////////////8AAAD////////////////QAAAAAP///////////////wAAAP//////////////////AAAA////////////////AAAA////////////////AAAAAAD///////////////8AAAD////////////////QAP///wAAAAAAAAAAAAAAAP///////////////////wAAAAAA////////////////AAAA////////////////AAAAAAD///////////////8AAAD////////////////QAAAAAP///////////////wAAAP///////////////wAA////AAAAAAAAAAAAAAAA////////////////////AAA=" ktype="string" vtype="string" /><item key="9" value="Qk12AQAAAAAAADYAAAAoAAAACgAAAAoAAAABABgAAAAAAEABAADEDgAAxA4AAAAAAAAAAAAA////AAAAAAAAAAAA////////////////////////AAD///////////////8AAAD////////////////////QAP///////////////////wAAAP///////////////wAA////////////////////AAAA////////////////AAD///8AAAAAAAAAAAD///8AAAD////////////////QAAAAAP///////////wAAAAAAAP///////////////wAAAAAA////////////////AAAA////////////////AAAAAAD///////////////8AAAD////////////////QAAAAAP///////////////wAAAP///////////////wAA////AAAAAAAAAAAAAAAA////////////////////AAA=" ktype="string" vtype="string" /></验证码样本></数据区块></ApeML> 你可能使用过储如QQ群杀手、百度贴吧杀手、blog群发王..........等软件,但是你知不知道这些软件全部是用模拟精灵开发的呢?模拟精灵是一款免费的迷你开发工具,体积很小但是几乎无所不能,专用于开发一些自动化的软件.其功能远远超出了按键等原始的模拟软件, |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|