建立一个delphi游戏外挂群,欢迎加入交流(0分)

  • 主题发起人 主题发起人 16cy
  • 开始时间 开始时间
1

16cy

Unregistered / Unconfirmed
GUEST, unregistred user!
群号31513457<br><br>探讨如下内容:<br>1。游戏文字输出原理<br>2。游戏鼠标光标原理<br>3。游戏内存数据查找<br>4。游戏封包分析<br>5。游戏外挂加解密<br>6。游戏外挂注册充值机制<br>7。游戏外挂用户数据验证原理(数据库)<br>8。游戏外挂破解与加密<br>。。。。。。。。。。<br>我是菜鸟,想学习的内容还有很多,欢迎高手参加指导
 
顶,我加
 
外挂违法!
 
我们去破解外挂!!呵呵
 
不赚钱的外挂就不违法了吧, 不过不知道外挂的定义是什么样的....
 
对于外挂,国家还没有一个明确的定义,国家法律也是一片空白。何来犯法之说?<br>只有信产部有一个“关于打击外挂、私服等行为的通知”,连外挂是何物都弄不明白,竟然把外挂和私服放在一起,还认为这是一种“行为”。<br>通知也不能视同法律法规。
 
游戏外挂不作<br>应用软件外挂有兴趣
 
我就做游戏外挂怎么了?我做了自己用不行么?
 
外掛的定義很難定下..<br>不過<br>都是以下的解釋多..<br>&quot;執行非本程式以外的程式就是外掛&quot;<br>&quot;使用不公平方法去進行遊戲&quot;
 
感兴趣,游戏和软件外挂都可以,多多交流
 
顶!!!我加!!!
 
不挣钱也违法,因为你研究的工具改变了他人正常游戏的数据,导致游戏运营公司受到损失,这样就是违法了。
 
to 懒虫007:<br>请问违了哪条法?<br><br>另“因为你研究的工具改变了他人正常游戏的数据” 是错误的。外挂很多种,只有那种改封包的外挂才会修改游戏数据。<br><br>另“导致游戏运营公司受到损失”,也是错误的。 外挂只会大量增加玩家在线时间,极大刺激游戏公司点卡消费,但是由于玩家使用外挂,练级过快,以及极品装备出现较多,会给游戏公司带来开发压力,缩短游戏生命,换一句话说,游戏公司要2年赚回来的钱现在只用1年就赚回来了,相应地,游戏的生命也由2年变成了一年,这就要求游戏公司加大开发投入,增强技术含量。<br><br>为什么大部分游戏开始时总是容忍外挂的存在?因为外挂可以极大刺激在线时间,增强该游戏的人气,只有到了外挂已导致游戏开发进度跟不上时才会猛烈打击外挂。<br><br>一个游戏的外挂越多,说明这个游戏越活跃,人气越旺。反之,这个游戏也快走到尽头了。<br><br>外挂与游戏是相辅相成的,从促进技术进步角度来讲,外挂正是游戏技术进步的促进剂。<br><br>矛利则盾不得不坚。无矛则无盾。这个矛就是外挂,这个盾就是游戏技术。
 
LZ分析的蛮深入,口才也貌似不错。。<br>路过,顶下
 
to 16cy:<br>另“导致游戏运营公司受到损失”,也是错误的。 外挂只会大量增加玩家在线时间,极大刺激游戏公司点卡消费,但是由于玩家使用外挂,练级过快,以及极品装备出现较多,会给游戏公司带来开发压力,缩短游戏生命,换一句话说,游戏公司要2年赚回来的钱现在只用1年就赚回来了,相应地,游戏的生命也由2年变成了一年,这就要求游戏公司加大开发投入,增强技术含量。<br>外挂只会大量增加玩家在线时间是錯...server能否可以接收那麼多人...<br>缩短游戏生命這是對...但好像和你第一句导致游戏运营公司受到损失有矛盾..
 
看到你们说外挂,希望有人可以帮我解决一个做外挂碰到的问题,<br>我要做一个(热血江湖)会加自动加血加蓝的外挂,<br>具体代码如下:<br>unit Mainf;<br><br>interface<br><br>uses<br> &nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br> &nbsp;Dialogs, ComCtrls,StdCtrls, ExtCtrls;<br><br>type<br> &nbsp;TMainForm = class(TForm)<br> &nbsp; &nbsp;TimerSM: TTimer;<br> &nbsp; &nbsp;TimerNG: TTimer;<br> &nbsp; &nbsp;TimerJN: TTimer;<br> &nbsp; &nbsp;CheckBoxSM: TCheckBox;<br> &nbsp; &nbsp;CheckBoxNG: TCheckBox;<br> &nbsp; &nbsp;EditSM: TEdit;<br> &nbsp; &nbsp;EditNG: TEdit;<br> &nbsp; &nbsp;CheckBoxJN: TCheckBox;<br> &nbsp; &nbsp;Button1: TButton;<br> &nbsp; &nbsp;Button2: TButton;<br> &nbsp; &nbsp;Label1:TLabel;<br> &nbsp; &nbsp;procedure CheckBoxSMClick(Sender: TObject);<br> &nbsp; &nbsp;procedure TimerSMTimer(Sender: TObject);<br> &nbsp; &nbsp;procedure Button2Click(Sender: TObject);<br> &nbsp; &nbsp;procedure Button1Click(Sender: TObject);<br> &nbsp; &nbsp;procedure CheckBoxNGClick(Sender: TObject);<br> &nbsp; &nbsp;procedure TimerNGTimer(Sender: TObject);<br> &nbsp; &nbsp;procedure CheckBoxJNClick(Sender: TObject);<br> &nbsp; &nbsp;procedure TimerJNTimer(Sender: TObject);<br> &nbsp;private<br> &nbsp; &nbsp;{ Private declarations }<br> &nbsp;public<br> &nbsp; &nbsp;{ Public declarations }<br> &nbsp;end;<br>const<br> &nbsp;SHENGMING: dword = $01453318; //红<br> &nbsp;NEIGONG: dword = $0145331C; // 蓝<br><br>var<br> &nbsp;MainForm: TMainForm;<br><br> &nbsp;hw: HWND;<br> &nbsp;pid: dword;//游戏句柄ID<br> &nbsp;h: THandle;//游戏句柄<br> &nbsp;tt: Cardinal;<br> &nbsp;procedure KeyF2;//按键<br> &nbsp;procedure KeyF3;<br> &nbsp;procedure KeyF4;<br><br>implementation<br><br>{$R *.dfm}<br>procedure TMainForm.Button1Click(Sender: TObject);<br>begin<br> &nbsp;if &nbsp;h = 0 then //如果句柄没打开<br> &nbsp; begin<br> &nbsp; &nbsp;hw:=FindWindow(nil,'YB_OnlineClient'); &nbsp; &nbsp;///<br> &nbsp; &nbsp;if hw = 0 then &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/// &nbsp; &nbsp; &nbsp; 获得句柄ID<br> &nbsp; &nbsp; &nbsp;Exit; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;///<br> &nbsp; &nbsp;GetWindowThreadProcessId(hw, @pid); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;///<br> &nbsp; &nbsp;h := OpenProcess(PROCESS_ALL_ACCESS, false, pid); &nbsp; &nbsp;///<br> &nbsp; &nbsp;if h = 0 then &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;///打开句柄<br> &nbsp; &nbsp; &nbsp;Exit;<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;///<br> &nbsp; end;<br> &nbsp;TimerNG.Interval := 1000 div trunc(5);<br> &nbsp;TimerSM.Interval := 1000 div trunc(5);<br> &nbsp;TimerJN.Interval := 1000 div trunc(2);///每秒钟运行次数<br>end;<br>procedure TMainForm.CheckBoxSMClick(Sender: TObject);<br>begin<br> &nbsp; if CheckBoxSM.Checked then &nbsp;//控制Timer是否运行<br> &nbsp; &nbsp;begin<br> &nbsp; &nbsp; EditSM.Enabled := false;<br> &nbsp; &nbsp; TimerSM.Enabled := true;<br> &nbsp; &nbsp;end<br> &nbsp; else<br> &nbsp; &nbsp;begin<br> &nbsp; &nbsp; EditSM.Enabled := true;<br> &nbsp; &nbsp; TimerSM.Enabled := false;<br> &nbsp;end;<br>end;<br><br>procedure TMainForm.TimerSMTimer(Sender: TObject);<br>var<br> &nbsp;Sm: integer;<br> // tt: DWORD;<br>begin<br> &nbsp;ReadProcessMemory(h,pointer( SHENGMING), @Sm,sizeof(Sm), tt);<br>//扫描内存数据<br> &nbsp;<br> &nbsp;if ((Sm &lt;= StrToInt(EditSM.Text))and(Sm&lt;&gt;0)) and (h&lt;&gt;0) then<br>//如果血量值少于设定值并且不等于0<br> &nbsp; &nbsp; begin<br> &nbsp; &nbsp; &nbsp; &nbsp;KeyF3;<br> &nbsp; &nbsp; //按F3键<br> &nbsp; &nbsp; Label1.Caption :='F3运行中';<br> &nbsp; &nbsp; end;<br><br>end;<br><br>procedure KeyF2;<br>begin<br> &nbsp; keybd_event(VK_F2,mapvirtualkey(VK_F2,0),0,0);<br> &nbsp; keybd_event(VK_F2,mapvirtualkey(VK_F2,0),keyeventf_keyup,0);//按F2键<br>end;<br>procedure KeyF3;<br>begin<br> &nbsp; keybd_event(VK_F3,mapvirtualkey(VK_F3,0),0,0);<br> &nbsp; keybd_event(VK_F3,mapvirtualkey(VK_F3,0),keyeventf_keyup,0);//按F3键<br>end;<br>procedure KeyF4;<br>begin<br> &nbsp; keybd_event(VK_F4,mapvirtualkey(VK_F4,0),0,0);<br> &nbsp; keybd_event(VK_F4,mapvirtualkey(VK_F4,0),keyeventf_keyup,0);//按F4键<br>end;<br>procedure TMainForm.Button2Click(Sender: TObject);<br>begin<br> &nbsp;if h &lt;&gt; 0 then<br> &nbsp; begin<br> &nbsp; &nbsp;MessageBeep(0);<br> &nbsp; &nbsp;CloseHandle(h);<br> &nbsp; end;<br> &nbsp; close;<br>end;<br>end.<br><br>没有进游戏时,Label没有反应,<br>进入游戏了,按下按钮,当血量少于设定值时Label改变,说明Timer在运行,<br>可是游戏里不会自动加血,于是我改变了一下按键,把F3改成了F4,<br>游戏里还是没有反应,但我切到外挂窗口,按一下Alt键,外挂窗口关闭,<br>由此证明模拟键盘F4键一直进行中<br>后来我又换了一个模拟键盘的方法,<br>改变如下:<br>procedure KeyF3;<br>begin<br> &nbsp; PostMessage(Application.Handle, WM_KEYDOWN, VK_F4, 0);<br> &nbsp; PostMessage(Application.Handle, WM_KEYUP, VK_F4, 0);<br>end;<br>和<br>procedure KeyF3;<br>begin<br> &nbsp; PostMessage(h, WM_KEYDOWN, VK_F4, 0);<br> &nbsp; PostMessage(h, WM_KEYUP, VK_F4, 0);<br>end;<br>在游戏里还是没有反应,并且外挂窗口也没有反应了,但是Label标签改变<br>由是我再改成<br>procedure KeyF3;<br>begin<br> &nbsp; PostMessage(h, WM_KEYDOWN, VK_F4, 0);<br> &nbsp; PostMessage(h, WM_KEYUP, VK_F4, 0);<br> &nbsp; setcursorpos(500,400);<br> &nbsp; mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);<br> &nbsp; mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);<br>end;<br>这时鼠标在游戏里点击正常,键盘没有反应<br><br>在此麻烦大侠帮下忙,找下问题所在,<br>或再给几个模拟键盘的方法<br>非常感谢!!!!!
 
keybd_event<br>需要把窗口前置
 
To 16cy<br><br>建议你在网上详细的阅读一下《中华人民共和国著作权法》,并且仔细研究一下他的实施细则,如果还有不清楚的问题可以到律师事务所咨询一下,法律并不会同情不懂法的人,也即是说,不懂法的人杀了人,同样要负法律责任。<br>“因为你研究的工具改变了他人正常游戏的数据”这个在法律上是要讲究字眼的,改变正常数据不完全等于改动数据,事实在于玩家可以通过外挂获得正常游戏途径所无法获得的经验、金钱、角色能力即可以认定是由于外挂的原因造成的,不会有人跟人讲外挂原理这些东西了。这有点像黑客入侵系统,并没有改动任何数据,但导致的后果是破坏了数据的安全性,也即必需被惩罚。<br>如果确实对于游戏外挂制作感兴趣的话,必需保证的前提是,在学习、研究的目的之下,有限度地进行,并且必需要保证不可以进行学习交流之外的传播,也即是说,你研究出来的外挂不可以用于实际游戏当中去这样才不会违法。目前在好多网站上为了免责声明:<br>根据中华人民共和国著作权法XX条,以学习、交流为目的的。。。。<br>大意为了澄清自己的动机,并说明所作的一切是合法的,但这并不是完全的保护伞。所有以此为乐的同志应该注意,007外挂的前车之鉴还不太远,而法律也从来没有定义过,不以赢利为目的进行的侵权活动可以不受追究。<br>至于那些带动游戏、搞活经济、提升人气等等的说法更是一厢情愿了,在没有得到版权人授权的情况下私自进行这些活动根本就是违法的。
 
后退
顶部