关于编写网页游戏外挂的一些技术问题,高分咨询!
怎么用DELPHI或者VB写个网页游戏的外挂?
主要实现自动提交数据包的功能,网上找不到资料看。
我用WINSOCK EXPERT抓取我点击一个按钮后发送的数据包,然后用DELPHI写程序模拟出这个动作,就达到了代替人工点游戏的目的。
但是不知道怎么搜索资料,搜索过"delphi 发送数据包""delphi 提交数据包""delphi 提交表单"等等,都不行。
请高手赐教怎么才可以找到相关资料,或者直接给我提供相关资料,小弟感激不尽!!!!!!!!!!!!!
[解决办法]
综合楼主的问题,看来楼主离开发外挂的能力还有相当的差距。不要一开始就想着要修改数据包,可以先从鼠标和键盘操作入手。也就是用程序代替人为地发送鼠标或键盘事件。比如Kyebd_event\mouse_event之类的。对于修改封包,首先需要具备封包拦载、协议分析、封包分析、封包解密等等。
[解决办法]
网页游戏的外挂比较简单,就是http协议。
给你一个登录163邮箱,提交用户名密码的例子:
var Param: TStringList; ret: string;begin IdHttp1.Request.Accept := 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*'; IdHttp1.Request.AcceptEncoding := 'gzip, deflate'; IdHttp1.Request.AcceptLanguage := 'zh-cn'; IdHttp1.Request.CacheControl := 'no-cache'; IdHttp1.Request.Connection := 'Keep-Alive'; IdHttp1.Request.ContentType := 'application/x-www-form-urlencoded'; IdHttp1.Request.Host := 'reg.163.com'; IdHttp1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)'; IdHttp1.Request.Referer := 'https://reg.163.com/logins.jsp?url=http://fm163.163.com/coremail/fcg/ntesdoor2?lightweight=1&&'; Param := TStringList.Create; Param.Add('url=http://fm163.163.com/coremail/fcg/ntesdoor2?lightweight=1'); Param.Add('type=1'); Param.Add('product=163'); Param.Add('savelogin='); Param.Add('outfoxer='); Param.Add('username=liangqingzhi1984'); Param.Add('password=******'); UniCode2Gb(IdHttp1.Post('http://reg.163.com/logins.jsp', Param), ret); Memo1.Lines.Add(ret);end;
[解决办法]
var UserEdt,LogBtn: IHTMLELEMENT;begin UserEdt := (WebBrowser1.Document as IHTMLDOCUMENT2).all.item('ctl00$CPH_Content$tb_LoginNameOrLoginEmail',emptyParam) as IHTMLELEMENT; UserEdt.setAttribute('value','test',0);//这里就设置了test到输入用户名的编辑框中了 。 //依此一样,输入密码,验证码 //然后找那个登录按钮,通过他的HTML源代码,可以知道,那个按钮其实是个图片,元素的名字叫 “ctl00$CPH_Content$Image_Login” //同样的方法 LogBtn := (WebBrowser1.Document as IHTMLDOCUMENT2).all.item('ctl00$CPH_Content$Image_Login',emptyParam) as IHTMLELEMENT; LogBtn.Click;//调用按钮的点击事件开始登录。end;