魔兽争霸3冰封王座 出错

【启明解说】魔兽争霸3兽族错误教学_土豆_高清视频在线观看网站位置: >
《魔兽争霸3:冰封王座》无法***解决办法
作者:未知
文章来源:互联网
更新时间:13-08-24 09:41
  如果你的《魔兽III》是没有注册讯息的硬盘版,那么将无法***《冰封王座》。需要先修复了wc3以后,才能***资料篇。点击这里下载修复工具,运行wc3fixer,按照软件的提示进行操作,修复后就可以直接***游戏了。
魔兽争霸3《魔兽争霸3:冰封王座》无法***解决办法相关新闻9638人阅读
以前在网上找过一些魔兽外挂的代码,都是很简单的读魔兽进程,修改内存。但是修改那里的内存,修改为什么,为什么这样修改,那些外挂文章完全没有提及。
其实那分析过程才是做外挂最重要的,也是最难的。
今天我也自己试着分析,想自己从头到底分析,怎么做个魔兽外挂。
当然我也有参考网上的唯一提及分析魔兽争霸的文章:
果子林的:(由于果子林的文章链接年久失修,这个是国内一位魔兽外挂作者转的)
首先本次制作这个外挂的目的是在大地图上显示所有单位。我会把所有分析过程记录下来。
我的魔兽版本是 1.24E,系统是XP(最好用xp,win7下很多DLL都重定位到别的地址,分析起来不方便)
我按照果子林的文章所讲作基础,猜测当单位能显示为1,不显示为0.(这个只能由经验判断吧)
打开war3 ,现在盯上一个野怪。猜测存在这么一个内存地址,当我能看见它,为1,当不能看见时为0.
用cheat engine 打开war3,将Value值设为1,Value Type值设为Byte,点击First Scan开始搜索。
1,搜索完毕后,切换到WC3,拉开小兵使那个野怪不可见,返回CE,将Value值改为0,点击Next Scan。
2,搜索完毕后,再回到游戏,移动小兵,使那个野怪可见,返回CE,搜索1
从复1,2步操作最后可以找到一个代表这个小兵是否可见的内存地址:
果断打开OD,附加上去。
在CE搜索得到的内存0x95206c8加上内存访问断点,运行
发现有两处地方对该地址进行读写:
6F2846F3 & &0 &
mov dword ptr ds:[esi+0x264],edx & & & & ; 赋值给该地址
6F284748 & &83BE &cmp dword ptr ds:[esi+0x264],0x0 & &&
通过观察,这个赋值操作后,也没看出干了什么有用的东西,而最重要的决定该单位是否显示的edx的值,通过观察原来是通过函数第一个参数传过去的,野怪内存地址的值为第一个参数的值。
那样就只能往回找。看哪个函数调用它的。查看调用栈可很容易知道谁调用的。

参考资料

 

随机推荐