关于外挂(50分)

  • 主题发起人 主题发起人 lsaturn
  • 开始时间 开始时间
L

lsaturn

Unregistered / Unconfirmed
GUEST, unregistred user!
我想知道传奇外挂是怎么把血条画上去的啊!
我想在cs里面画个准星方便我盲狙啊!
 
没有人知道吗?
高手你在哪里?
 
谁能讨论一下啊!
 
在这个坛子里面c是不是没有地位啊?
 
现在在玩金山的剑侠,有人在用外挂,想了解外挂的原理,请高手指示!!!
 
哎,应该到delphi去问的!
 
大家看看吧!
怎么没有人理我啊!
 
是画上去的!!,找到人物的位置,就可以用Directx函数画了
如果是传奇的话,传奇本身就有这个功能,它本来是用来传奇的测试的,但后来正式运作时只是客户端把血条给关了,外挂作者知道后,把打重新开起来而以
还有,传奇的物品显示也是这样的
 
就是说只要找到那个函数就可以了!
btw,那些做外挂的是怎么知道的啊!
 
我对外挂也不清楚,大家多多指教!
 
有更多的人讨论就好了
现成的别人是不会告诉的啊!
 
很大部分的外挂作者是买了游戏的源代码的,或者是和游戏公司的人很熟,甚至是和游戏达成了协议,游戏公司提示一些帮助,然后外挂作者收到钱后,一部分钱给游戏公司,因为现在外挂是玩游戏的必要物品,没有外挂的游戏是没有很多人玩的,有了外挂可以刺激玩家,让他们从一种欣喜中去玩游戏,这种做会很阴的!!!!!
像传奇的游戏。刚开始是极风从国外买了源码来开发外挂,后来大家通过Dede和反汇编外挂等很多方法也知道了传奇的外挂制作方法,所以像简单,极差外挂这类就是这样的,其实像简单,极差的外挂制作水平还是不行的,比如,它们吃药是发键盘消息的,而不是用游戏内部指令,你可以试一下,在用这些外挂时,有时还会听到钉钉声,那是因为外挂不停的发键盘消息给游戏,使得游戏的键盘缓冲区懑了,系统所以会发出这种声音!!
 
我也觉得比较奇怪!
我反汇编了几个外挂!
他们的代码都是差不多的,只有界面不一样!
当时我就很奇怪,问了一个做外挂的,他说要用里面的类,我就奇怪他是怎么知道的类的!
他说是公司的机密,难道他是通过源码的方式?
难道我也要走反编译这条路?
 
当然。有这方面的倾向!!!
要看用什么语言编的,如用Delphi就用DeDe
其它的话用W32asm
当然,很多语言有专门的反编译器,如Foxpro用Unfoxall等
W32Asm适用于VB,当然用反其它的语言,这个软件也是很好的,
其它常用的工具还有mDeJava v1.0b,Windows Installshield Decompiler V1.00,Anakrino.Net,AssemblyView1.0,WINPACK v3.0,isDcc v2.10,HWUN v0.50a,hiew,
ollydbg,Softice,trw2000等
你在反编译时请用如FI等工具查出用什么软件加的壳,再用软件解壳,再用FI查,是什么语言编的,再用专用的反编译工具反编译,,但反编译出来的,往往是些内部函数名
系统API,一些窗口类,窗口名,边程名,如果想进一步了解,你要32位汇编很精才行
,把程序的内部结构搞清楚,还要把封包的加密算法分析清楚,内存中的数据格式分析好,
以后你编外挂时想调用一些功能,你只要调用内部的函数就成了,如果游戏内部的封包是用一个函数加密的,那你边解密都不用了,直接调用,以后他们游戏的加密方式改了你都不怕!!
建议,你先把破解程序的基本功打好,要会破学常见的加密方式(对于一些如Aspack的加密
因为都有现成的,你不用了,但对于一个程序内部注册时的加密算法等等你要会分析,并找出他的算法)!!!!!!!!!!!!!!!!!!!!!!!!!
做外挂时你把一些基本的系统API要会用,还有一些Directx的函数,如捕捉一个对象(如一个人,或一把刀)的名柄,还会输出,即在不同的游戏环境下(GDI,DirectX,OpenGL三种方式)下基本的文本输出,TextOut,画个框,如果游戏没有地图,或地图功能不好,
你要会在屏幕的一个地方画一个透明的地图等等

你还要会做Hook,这是基础的基础!!!
 
呵呵,现在我迈出了几步,hook进去了,地图格式分析出来了,封包分析有一定的结果了!
没想到以后要做的更多!
现在我先把地图编辑器做出来,再搞directX那块吧!
真的只是一小步啊!
真的现在对怎么找出传奇的内部函数很疑惑啊!
哎,反汇编真的很郁闷啊!
非常感谢你的指点,你能说这么多已经是出乎我的意料的了,一般的都不会开口的!
 
编传奇类的还是简单的谁叫我们有DeDe呢,何况Borland公司的编译不太好垃圾太多,代码部分很多都保存在了Exe文件中,这虽然要以使我们对于程序出错能更好的找到问题但更为严重的是把代码部分的不因让客户知道的秘密公开化了!!!!
 
都说borland的编译器效率最高了啊!
用dede编译出来的都是些内部名,怎么调用内部名呢?
 
而且传奇3是用vc做的了啊!
 
vc我不知道有什么的反编译器,可能是因为它是通过编译成OBJ的汇编码再链接成WinExe文件,不过也好像常用的反编译器通通用于VC的程序的,当然所谓的通用,要建立在你的汇编水平上!!!!

对于内部函数名
因为你是用Hook方式的,所以游戏的内存你可以任意访问,
只要在你的程序中声名一个函数原型,然后把这个函数的地址指向游戏内的一个函数地址,你就可以用标准的方式Fun(x,y,z)方式调用的,不过地址很难找,弄不好,这个地址是不固定的
 
对啊,你这么一说,我心里有点谱了!
非常感谢你的知道!
另外你知道如何把传奇退到窗口模式下面来运行吗?
我做出地图浏览功能了,真是,连这个都花了我这么久的时间!
我的qq:152766
可以加我吗?
 
后退
顶部