找回密碼
 立即注册

网游加速修改方法简介

[複製鏈接]
czy 發表於 2006-7-19 02:33:43 | 顯示全部樓層

不会啊 我是初级玩家

回復

使用道具 舉報

448317396 發表於 2006-7-19 05:02:00 | 顯示全部樓層
[s:04]
回復

使用道具 舉報

风雨悟心 發表於 2006-7-19 05:36:28 | 顯示全部樓層
以下是引用云中岳在2006-5-22 13:11:26的发言:
每个游戏都有自己的计时器,作计时器不外乎下面这几个函数
SetTimer(),TimeSetEvent(),GettickCount(),TimeGetTime();另外一个就是用VxD驱动来利用系统提供给驱动程序的计时器接口实现计时器
现在的网游都是通过调用ApI函数来实现计时器功能的
一、对于用SetTimer函数和TimeSetEvent函数做计时器的游戏非常容易搞定
直接修改delay参数,方法有很多,如HOOK;或直接反汇编修改主文件
(不过一般的网游都有自检验功能,如何去除自检验功能不在本主题内)
二、对于GetTickCount()和TimeGetTime()就比较难一点,一般要动态跟踪调试(如果你现在不会汇编,也不会动态跟踪调试,那就先回去学吧)
才能有个大致的了解,下面是我分析奇迹(MU)的过程:
进入游戏,带稳定后Ctrl+D,呼出SI,bpx GetTickCount,G
马上就会断下来,因为计时器函数调用非常频繁,F12,返回到了main.exe领空, loop: 记住这次调用的地址。继续 G,
又断了下来,记地址,继续 G
jmp loop
好了,跳出死循环,让我们回头看看刚才赶碌牡刂罚?呛牵?涫狄簿湍敲醇复β铮。浚浚。『昧耍?俅蜧.夷???是不是发现吊线了?
退出游戏再来一次就好了(这里我有个想法,有时候进游戏是不是没发现一个怪,也没看见一个NPC,就自己一个人孤零零的在里面跑,所以如果我们可以让他永远不掉线,这样我们动态调试起来就方便多了,具体方法我还没搞定,知道的兄弟不要忘了告诉我哦)
好了,我们继续分析,呼出SI,bpx GetTickCount,G
不过这次我们要注意的不是调用的地址了,而是寄存器的变化,通过仔细观察我们会发现,GettickCount的返回值放在了eax,edi
eax里面是最新的,而edx里面是上次调用时的返回值,然后就会有一个
sub eax ,edx的动作,接着就不用想了,肯定是
cmp eax,xxx
jl Label
这样的比较了
好了,到这里我们眼前是不是柳暗花明又一村了??既然edi里面放的是上一次调用GettickCount的返回值,那我们就仔细再跟踪一次,看看他在哪个地方执行存放动作的,呵呵,非常容易吧?(这里我不说出地址,免得害了那些拿来主义者),接下来该怎么办?如果你还想不到那我也没办法了。。。。(该行吧)
当然是修改edx里面存放的值啦,好,下一步的工作就是修改代码了,这里你可以用内存不定技术,也可以直接修改main.exe文件,我是个懒人,懒人当然是直接修改了。
好,退出右下,打开OD(千万不要问我OD是什么,我会晕倒的),加载
main.exe,还记得是在哪个地方存放GettickCount返回值到edi里面的吗?
先假设这个地址是00401111。好,ctrl+G,来到那个地方,我们在.text段里面找一块干净的地方干坏事吧(干净的地方在哪里?当然是这个段的尾巴上面啦)好,我们选择从00408888(你可别真选这个地址哦,这是我随便写的)我们把00401111出的代码mov edi,eax修改一下,改成jmp 00408888
(----哎呀,下面那就也nop掉了,-----没关系啦,下面我们在不上来就是)
好了,ctrl+G,来到00408888处,添加代码
mov edi,eax(不上刚才在00401111处被修改的那句)
sub edi,xx(这个值就是加速的关键,我用的是28,好快啊,秒杀怪^_^)
MOV EAX,DWORD PTR DS:[xxxx](不上刚才给我们nop的那句)
jmp 00401116(现在当然要跳回去啦)
好了,在OD中右键,复制到可执行文件,保存刚被我们修改的main.exe
将我们修改的main.exe替换以前那个main.exe
运行游戏,哈哈,是不是一阵狂飙啊!!!
好了,给你一点忠告,不要在里面太嚣张,低调一点的好.

& ^9 ?# A9 S. ]

谢谢老云了

回復

使用道具 舉報

350599633 發表於 2006-7-22 08:58:16 | 顯示全部樓層

杂那么麻烦.. 其实也不用那嘛麻烦的..

- w/ O% j, i ~) s# I A

你去做个加速器不就得了

/ t* H, v0 l# w3 @/ D' W7 d

但要最个只有加速功能的..其他的什么都不用了..不然会影响游戏平衡的..

[s:01]
回復

使用道具 舉報

6812520 發表於 2006-7-28 15:51:56 | 顯示全部樓層

怎么样才能单机复制啊

[s:01]
回復

使用道具 舉報

min5077 發表於 2006-9-6 23:45:29 | 顯示全部樓層
还是看不懂
回復

使用道具 舉報

火舞残阳 發表於 2006-9-14 21:16:53 | 顯示全部樓層

各路高手发各加速也好啊

回復

使用道具 舉報

害人精 發表於 2006-12-30 14:17:13 | 顯示全部樓層
[s:01]
回復

使用道具 舉報

hyc74hyc 發表於 2006-12-31 16:54:23 | 顯示全部樓層
不知道天下能不能用?
回復

使用道具 舉報

明天明天 發表於 2007-1-4 16:49:40 | 顯示全部樓層
[s:01]
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

QQ|Archiver|Mobile|Disable|About|Facebook|Discord|叛逆家族論壇

GMT+8, 2025-5-24 07:02

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回復 返回頂部 返回列表