Login Gblog  
简单点~~~
 
查看文章
Goberl 发表于 2008-10-29 0:23:24

下载最新版
     古惑仔挂机外挂

引言
前些日子,看见宿舍有同学在玩校内网的web游戏——古惑仔之横行天下。发现其操作比较简单,无非就是点击不同页面的不同按钮来做任务、攻击、存/取钱。由于其升级主要靠做任务,遂写了一个不是外挂的外挂——帮助玩家自动做任务。我之所以说它不是外挂,是由于到目前为止我还未见过如此简单的外挂。同时我在给它取名时,谓之“FightIng”。以下将把古惑仔之横行天下简称为“古惑仔”。

FightIng工作原理

1.正如我上面提到的,古惑仔游戏升级主要靠做任务,此外挂的目标就是帮助玩家做任务。而帮助玩家做任务的具体方法和步骤就是模拟点击(click)web页面中相应任务的按钮(input,type="sumit")。System.Windows.Forms.WebBrowser控件的InvokeMember方法能够帮助我们模拟点击该按钮。

2.由于页面中任务众多,但我们需要程序点击特定任务的按钮。如何到达到这一目标呢?.WebBrowser的Document为我们提供一个html文档树,它可以让我们轻而易举的获取某一任务的按钮并模拟点击(click)。

3.具体如何获取特定任务的按钮。经分析任务页面(job.do)的源码,发现所有任务的源码都被放在一个独立的<form>元素内。如下:

办假证
<form name="" action="./djob.do" method="post">
<input name="id" value="1" type="hidden">
<input class="sub_btn" name="" value="立刻行动" type="submit">
</form>

注意上面的棕色字体部分。无论什么任务,唯一区别就在value的值不同,此处的value=“1”表示的任务为“办假证”。下面列出了1~20级的任务列表,前面的数字表示value的值。

  • 1:办假证
  • 2:夜总会看场子
  • 3:替人追债
  • 4:抢地盘
  • 5:放高利贷
  • 6:砸赌场
  • 7:走私洋酒
  • 8:酿酒
  • 9:抢地下钱庄

我们就可以通过WebBrowser.Document.GetElementsByTagName("form")来获取任务页面(job.do)所有的form元素。(此处要注意,由于页面中存在不是任务的form,如搜索框。为了比避免出错,我们可以把循环form获取按钮的代码放在try……catch中,也可以先获取任务列表的父元素<table id="job_list" class="item_table" cellspacing="3" cellpadding="0">,再用父元素的GetElementsByTagName("form")来获取所有任务。 )同时获取form元素的第一(<input name="id" value="N" type="hidden"> )、第二个子元素(<input class="sub_btn" name="" value="立刻行动" type="submit"> )。通过第一个元素的value判断当前任务的名称,通过InvokeMember第二个元素,来达到模拟点击(click)特定任务的按钮。

复制代码

 try

            {

                HtmlDocument htmlDoc = _wb.Document;

                HtmlElementCollection formCollHtmlEle = htmlDoc.GetElementsByTagName("form");

                for (int i = 1; i < formCollHtmlEle.Count; i++)

                {

                    if (formCollHtmlEle[i].Children[0].GetAttribute("value") == id.ToString())

                    {

                        formCollHtmlEle[i].Children[1].InvokeMember("click");

                        _wb.Refresh();

                        break;

                    }

                }

            }

            catch { }



 

4.注意个别任务,如“走私洋酒”。走私洋酒需要酿酒,本来可以通过执行任务返回的信息里获取是否需要酿酒,可事实发现InvokeMember激活的click事件没有返回“……酒水不足……”。无奈,只好通过获取当前精力来判断是否该酿酒了。由于走私洋酒的精力要求点数为18点,如果程序发现当前的精力点数大于19(避免误差)了,则说明没有正常执行走私洋酒,可能原因是酒水不足,遂酿酒一次。

复制代码

if (id == 7)//如果任务有其他准备条件,在此添加

{//如果是走私洋酒,则检查酒水是否满足。判断条件:精力大于19(避免误差),则说明酒水不足,此次执行酿酒


if (GetCurrentSprit() > 19) { ExecuteByID(8); return; } }

 

5.接下来就是需要排除Bug了。如,在WebBrowser下载文档和加载文档时获取Document是错误的,获取Document不存在的子元素是错误的。


说的不够清楚,还请谅解。如有问题,可留言、Email。源码下载

类别:网络编程      标签: 浏览器 , Web游戏      浏览(2731)
相关主题:
chrome 关于网页加速器
评论列表:
kaid123     发表于 2008-10-28 23:51:00
很好,怎么没有人看呢?我收藏了,我就是用163和你通讯的。谢谢你的分享!
MoHock     发表于 2008-10-29 9:14:00
游戏看起来很爽~~可惜不喜欢~~
小弟     发表于 2008-10-30 20:20:00
大哥 你能给个古惑仔的火拼外挂不?小弟谢谢了!邮箱:dandan_1516@126.com
兄弟     发表于 2008-10-30 22:00:00
大哥给个外挂吧wangbobreath@yahoo.com.cn
UglyTroLL     发表于 2008-10-31 1:46:00
it looks cool
but it can do nothing now
djob.do add a referer verifier,html with js cannot fake that unless u make a proxy by ur own

check my blog(http://uglytroll.ycool.com),there is a workable programming can use(http://uglytroll.ycool.com/post.3075586.html) it can also save ur money automatically

enjoy it~
ganlanRU     发表于 2008-10-31 2:23:00
哥们,一直听说有外挂这么个说法,能否让我见识一下。谢谢。我的邮箱WANGZHI100@126.COM
Goberl     发表于 2008-10-31 4:23:00
TO@UglyTroLL:
此外挂根本不用担心“djob.do add a referer verifier”,原理不是建立在网络层的,而是应用层。
TO@小弟:
TO@兄弟:
TO@ganlanRU:
邮件已发出……
Goberl     发表于 2008-10-31 4:46:00
TO@各位:

由于时间原因,暂时不会增加火拼、存钱功能,但更高等级的任务会随即推出。
⑨街区の篼     发表于 2008-10-31 14:48:00
你好~你的工具能不能分享下呢~!光看代码还不不太懂
⑨街区の篼     发表于 2008-10-31 14:49:00
我的邮箱是markmayun@qq.com

麻烦分享下
哈还紫四块石     发表于 2008-10-31 16:20:00
我的邮箱是haiyang6822650@163.com

谢谢了 !! 我上来就被杀忍不了 给发下
猩猩     发表于 2008-10-31 17:00:00
pengp_manutd@sina.com

给个吧

被砍伤心了
Goberl     发表于 2008-10-31 17:08:00
各位,我在这篇文章的顶端加了一个到下载地址的链接(http://www.goberl.com/archive/item23.aspx)啊。你们去那下载吧。再说,有新版本了也不能一个一个的发给你们啊。
cloud     发表于 2008-11-1 13:27:00
这怎么用啊??邮箱shliyc0808@yahoo.com.cn 

麻烦解释一下。谢谢
gaohaoxiang1987@163.com     发表于 2008-11-1 16:18:00
大哥,我的邮箱gaohaoxiang1987@163.com  麻烦给发一个!!!

兄弟,先谢了!
gaohaoxiang1987@163.com     发表于 2008-11-1 16:56:00
兄弟,下了,谢了!!!!



我想提点修改方案,让它成为真正方便的无敌外挂!!!

我想在我妈办公室的电脑上挂(相信许多朋友也想选台几乎每天都开机的电脑上挂吧),所以…………

1,可以自动“打开古惑仔”,不用每次都点“打开古惑仔”,如果怕不方便可以增加个选项,自己选择!

2,可以自动“自动执行任务”“自动存钱”不用每次都打上“勾”!

3,执行的任务可以保存!而不需要每次都选择!

4,最小化后在下面的任务栏没有,自动最小化在右下角(就是时间那,像迅雷,QQ那种)!



这样的话,我们只需要放在自动启动里,开机什么都不点了,不用每天早上都点了,方便快捷,即使放在他人电脑也可以!
gaohaoxiang1987@163.com     发表于 2008-11-1 19:22:00
兄弟,下了,谢了!!!!







我想提点修改方案,让它成为真正方便的无敌外挂!!!



我想在我妈办公室的电脑上挂(相信许多朋友也想选台几乎每天都开机的电脑上挂吧),所以…………



1,可以自动“打开古惑仔”,不用每次都点“打开古惑仔”,如果怕不方便可以增加个选项,自己选择!



2,可以自动“自动执行任务”“自动存钱”不用每次都打上“勾”!



3,执行的任务可以保存!而不需要每次都选择!



4,最小化后在下面的任务栏没有,自动最小化在右下角(就是时间那,像迅雷,QQ那种)!







这样的话,我们只需要放在自动启动里,开机什么都不点了,不用每天早上都点了,方便快捷,即使放在他人电脑也可以!
小楠     发表于 2008-11-1 21:03:00
哥们 帮忙给我发个外挂 让人欺负的不行了 呵呵 sun5219875@yahoo.cn 谢谢
1233232     发表于 2008-11-2 9:08:00
帮忙写个刷追杀令或者火拼的程序行吗?wangzheziao@sina.com
你小弟     发表于 2008-11-2 19:16:00
大哥。。小弟也要这个挂机的。。congqq4444@163.com
lianban     发表于 2008-11-2 21:24:00
大哥  发个外挂给我吧!!

地址 592111914@qq.com
onyx     发表于 2008-11-3 10:17:00
onyxz1@126.com 

谢谢~~~~
想看一下源码     发表于 2008-11-3 12:07:00
你好 小弟想学习一下你的代码

如方便请发yangjia5257@163.com 万分感谢

bono     发表于 2008-11-5 10:58:00
binbingok@163.com



谢谢
gaohaoxiang1987@163.om     发表于 2008-11-7 22:48:00
好人啊!!!我说的全都做进去了,完美!!!

我还想提一个小小的建议,就是:

增加“能够设置自动最小化”的选项!!!呼出的时候可用快捷键!!!



哈哈,还是万分感谢哈!!!支持你!!!!!!!
farmer111@163.com     发表于 2008-11-16 10:42:00
这个外挂有问题啊

真的

时间长了就直接进监狱



好像服务器端改算法了



4个小时进了两次监狱



不用就没有问题
牛BBBB     发表于 2008-12-15 14:58:00
     给我发个外挂吧  841402@qq.
牛BBBB     发表于 2008-12-15 14:59:00
841402@qq.com   
郭宇     发表于 2008-12-18 11:52:00
大哥给咱个挂北



277472621@qq.com
嘻哈无敌     发表于 2008-12-23 15:24:00
帮忙写个刷追杀令或者火拼的程序行吗???????????

还有 有没有加快生命精力恢复的脚本啊

谢谢;额地神
嘻哈无敌     发表于 2008-12-23 15:25:00
帮忙写个刷追杀令或者火拼的程序行吗???????????



还有 有没有加快生命精力恢复的脚本啊



谢谢;额地神 

xiaoliangacuiwei@163.com
    发表于 2009-1-2 14:58:00
看了你发表的东西~很不错,谢谢~

厄~能帮我一个忙么?

我想要一个自动帮我加好友为兄弟的程序~谢谢~

yhspy0729@163.com
发表评论
大名: ( *必填)
Email: (填写后,将收到Goberl对你的回复)
网址: (可选,仅博客或者网站)
正文:
      记住信息?