内存中找怪物之代码注入篇.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
内存中找怪物之代码注入篇 ? ?? ???网上看了N多的文章,对内存中找怪极少有详细介绍,大多数人搞定人物内存中的有关参数后,止步于内存中的找怪。人物只有一个,而怪有各种各样的,数量又同时出现多个,比在内存中找人物坐标难度要大得多。 ? ?? ?下面我将尽可能详细的讲讲内存中找怪之代码注入篇,抛砖引玉,望高人指点。这里的代码注入是直接把代码注入到游戏文件中,学个破解的人都知道,哪怕游戏原文件加了壳,在游戏原文件中加入自己的代码也是完全可以的。 ? ?? ?由于本人水平有限,有的地方可能表达不清,请耐心慢慢看。有的地方采取的方法也许对高手来说好低劣,见笑了。 一、把周围的怪物名称起始地址集中写到内存中一固定区域。 游戏中,玩家周围有许多怪物,所有怪物的名称、坐标、血量等参数不可能会固定在某一内存位置,但对于每一个怪物而言,它的名称、坐标、血量等在内存中的地址之间有着相对固定的差值,只要知道怪物的名称地址就能知道这个怪物的坐标、血量等地址。因此,只要把周围每个怪物的名称地址固定在内存中一定区域,就可知道这些怪物的其他参数。 ? ?? ?1、先把游戏中我们需要打的怪物名称(不是所有怪物,因为有的怪物不爆东西等不值得打)固定放到内存地址为004d2a60起的一块区域,制做一张需要打的怪物名称列表。每个怪名称占12字节,不够12字节的后面用00填充。 ? ? 内存地址:004d2a60是怎样来的呢? ? ? 我们用PEditor打开游戏原文件,可以看到PE文件分了好多块,有的块是可以改写的(属性为E0000020或C0000040的可以改写),块里并不全部写满了数据,还有大块连续为00的空闲区域。用UltraEdit等软件打开游戏文件,看到文件物理地址为000d2a60起有一大块为00的空闲区域。映射到内存中就是地址为004d2a60起一块为00的空闲区域,我们先把怪物名称写到这块地方。 ? ? 具体操做是用UltraEdit打开游戏文件,修改文件物理地址为000d2a60起的数据。原文件中这里全部为00,我们把下面数据填进去(部分怪物名称列表)。 000D2A60??B0 EB CA DE D5 BD CA BF 00 00 00 00 B0 EB CA DE??半兽战士....半兽 000D2A70??D3 C2 CA BF 00 00 00 00 BB A2 C9 DF 00 00 00 00??勇士....虎蛇.... 000D2A80??00 00 00 00 B6 BE D6 A9 D6 EB 00 00 00 00 00 00??....毒蜘蛛...... 000D2A90??C9 AD C1 D6 D1 A9 C8 CB 00 00 00 00 CD FE CB BC??森林雪人....威思 000D2AA0??B6 F8 D0 A1 B3 E6 00 00 B6 E0 BD C7 B3 E6 00 00??而小虫..多角虫.. 000D2AB0??00 00 00 00 BF F8 BC D7 B3 E6 00 00 00 00 00 00??....盔甲虫...... 000D2AC0??B8 AF CA B4 C8 CB B9 ED 00 00 00 00 C0 CB D7 D3??腐蚀人鬼....浪子 000D2AD0??C8 CB B9 ED 00 00 00 00 C0 D7 B5 E7 BD A9 CA AC??人鬼....雷电僵尸 000D2AE0??00 00 00 00 BD A9 CA AC 00 00 00 00 00 00 00 00??....僵尸........ 000D2AF0??C9 AE C2 C2 BD A9 CA AC 00 00 00 00 B6 B4 C7 F9??僧侣僵尸....洞蛆 000D2B00??00 00 00 00 00 00 00 00 F7 BC F7 C3 BE AB C1 E9??........骷髅精灵 000D2B10??00 00 00 00 CA AC CD F5 00 00 00 00 00 00 00 00??....尸王........ 这样,当游戏运行时,从内存地址004d2a60起的一段区域有了我们需要打的怪物列表。 ? ???2、再把玩家周围实际刷的怪物名称的起始地址(注意是名称的起始地址)固定在内存为004D3000起的长为100(16进制)的地方。 内存地址:004D3000是游戏运行时我们查到的空闲内存地址,我们利用它们来放周围怪物名称的起始地址,每个怪物名称的起始地址占4个字节,长为100(16进制)可以放64个怪物,玩家周围不会超过64个怪物吧,长为100应足够了。 ? ? ? ???3、怎么写入这些怪物名称的起始地址

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档