关于编写网页游戏外挂的一些技术问题,高分咨询!
怎么用DELPHI或者VB写个网页游戏的外挂?
主要实现自动提交数据包的功能,网上找不到资料看。
我用WINSOCK EXPERT抓取我点击一个按钮后发送的数据包,然后用DELPHI写程序模拟出这个动作,就达到了代替人工点游戏的目的。
但是不知道怎么搜索资料,搜索过"delphi 发送数据包""delphi 提交数据包""delphi 提交表单"等等,都不行。
请高手赐教怎么才可以找到相关资料,或者直接给我提供相关资料,小弟感激不尽!!!!!!!!!!!!!
[解决办法]
综合楼主的问题,看来楼主离开发外挂的能力还有相当的差距。不要一开始就想着要修改数据包,可以先从鼠标和键盘操作入手。也就是用程序代替人为地发送鼠标或键盘事件。比如Kyebd_event\mouse_event之类的。对于修改封包,首先需要具备封包拦载、协议分析、封包分析、封包解密等等。
[解决办法]
网页游戏的外挂比较简单,就是http协议。
给你一个登录163邮箱,提交用户名密码的例子:
- Delphi(Pascal) code
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;
[解决办法]
[解决办法]
期待高手
聆听教诲
[解决办法]
如果是纯http协议,并且报文不加密的话,那就 get/post 就行了,具体内容需要根据游戏来分析。如果加密...那就麻烦了
[解决办法]
网页外挂的写法种类很多,你没有具体的问题。所以无法给你相应代码。用Delphi控制网页我还是比较擅长的。
[解决办法]
要不到外挂网站看看去?
bbs.wghai.com
www.wgum.net
[解决办法]
你的问题描述不清楚,在QQ上说吧,你QQ多少?
[解决办法]
就是用TWebBrowser来操作吧
提取其中的元素,然后通过操作元素来达到操作网页的目的
比如说有一个按钮
你先在 IE打开,查看他的HTML源代码,然后找到那个按钮是个什么元素
找到元素后,使用MSHTML中的接口来对其操作就可以了。
[解决办法]
比如操作
CSDN的登录
先用WebBrowser定位到登录页面
WebBrowser1.Navigate('http://passport.csdn.net/UserLogin.aspx?from=http://community.csdn.net/');
然后,看其HTML源代码,发现
名字为 ctl00$CPH_Content$tb_LoginNameOrLoginEmail的元素就是 其用户名的输入框了。
此时
使用
(WebBrowser1.Document as IHTMLDOCUMENT2).all.item('ctl00$CPH_Content$tb_LoginNameOrLoginEmail',emptyParam)来得到这个元素了。
- Delphi(Pascal) code
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;