网游加速修改方法简介

[複製鏈接]
bossman 發表於 2006-5-24 18:10:52 | 顯示全部樓層

老云很牛啊

& M. e3 H1 c. X0 f G

一个对编程一点不懂的人想学怎么办?是不是先要学习编程语言,如C++什么的.

6 b9 ]- ?* @& |# k

要自学是不是更难.

回覆 赞 踩

使用道具 舉報

xyWH2 發表於 2006-5-24 19:45:49 | 顯示全部樓層

版主直接做好一个程序发给大家 不就行了吗?

, z& U. A- i- D

不懂编程呀,老岳做好一个的发给大家

[s:01][s:01][s:01]
回覆 赞 踩

使用道具 舉報

小毛孩儿 發表於 2006-6-2 15:00:29 | 顯示全部樓層
[s:07]好晕~
回覆 赞 踩

使用道具 舉報

930216 發表於 2006-6-5 16:24:25 | 顯示全部樓層
[s:02]WHAT jiba ???
回覆 赞 踩

使用道具 舉報

ddb73 發表於 2006-6-10 00:19:37 | 顯示全部樓層
风轻狂,你的外挂还能用吗?我下载了,没试!
回覆 赞 踩

使用道具 舉報

45387139ben 發表於 2006-6-10 04:16:09 | 顯示全部樓層
......[s:01][s:02][s:03][s:04]
回覆 赞 踩

使用道具 舉報

w665433 發表於 2006-6-21 16:37:30 | 顯示全部樓層
看不懂
回覆 赞 踩

使用道具 舉報

影 發表於 2006-7-8 17:35:15 | 顯示全部樓層
以下是引用云中岳在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
运行游戏,哈哈,是不是一阵狂飙啊!!!
好了,给你一点忠告,不要在里面太嚣张,低调一点的好.
/ S$ y( j! q1 T* o
" v! P+ z' P8 M4 h# n1 Z3 n& e& m y# [) e+ q) x6 `% ^# Q, q# d1 e: g5 q$ {& {: b9 Y! @8 z% s2 u
主题最新回顾(发布时间:2006-5-23 5:01:41)
% T3 [ C0 y& G, M( n6 N: z3 D& Y: {& W0 J. p( d4 s& y% ~; P7 L! n& H: x& f' Y
-- 作者:风轻狂
--
" h& ^( |+ A- t# t9 j

天下无双情况比较特殊,一般的方法都不灵

4 L4 L0 v1 F& a* Q; q

现在天下的时钟加速程序是对NtQueryPerformanceCounter下的手

, z: M+ M' x' t1 \* ]: n

Windows的服务运行于驱动层,做起来确实比较麻烦

9 s* s# N; l3 H/ m
学习学习。。。。
- R& R5 ]4 p% m6 ^2 S; r

回覆 赞 踩

使用道具 舉報

悔海阁 發表於 2006-7-9 16:31:51 | 顯示全部樓層
[s:01]
回覆 赞 踩

使用道具 舉報

qiuxu 發表於 2006-7-15 05:20:55 | 顯示全部樓層
ytyuuyy
回覆 赞 踩

使用道具 舉報

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

本版積分規則

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版發帖QQ客服返回頂部