吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 34074|回复: 97
收起左侧

[原创] 红警2尤里的复仇 单位全三星、控制对方单位

  [复制链接]
KaQqi 发表于 2019-6-1 12:28
本帖最后由 KaQqi 于 2019-6-2 10:05 编辑

本期的主题是单位三星,而不是题目里面后面那两个。。
后面那两个是因为研究三星时候顺便就搞出来了。。
首先,祝大家六一儿童节快乐!视频版本地址:https://www.bilibili.com/video/av54231226/



开始正题:

一.捡箱子全捡到升级
对于单位三星的问题,我的思路是找出各个单位的基地址,然后对比数据结构。
那么问题来了,你怎么让他升级三星呢?
a自己坦克升级不了。。
a电脑坦克,搞着搞着你家被电脑拆了。。

于是第一步,想起了捡箱子模式,先去实现捡箱子全捡到升级
有了上一期捡箱子全捡到基地,相信大家自己就会实现了。
首先还是字符串搜索crate at,定位到捡箱子
TIM截图20190601115226.png
通过百度翻译的支持和本人高中词汇量的支持,查到了veterancy是老兵的意思
然后再看捡箱子的开头,是一个标准的switch结构
直接把switch的jmp跳到定点——veterancy这里,完事

TIM截图20190601115352.png


二.单位无限血
有了三星箱子的支持,再也不怕家被电脑拆了。。

调试的时候只需要开一个人的游戏,就可以放心的开ce干了。
这里还要感谢战网的捡箱子模式。。
(以下内容很写的很brief,不懂CE的建议先去学下ce再来看帖子)
通过搜索犀牛坦克的血量变化——一开始是400,然后a自己一炮,变成310,分别得到编号为1、2 坦克的血量地址
TIM截图20190601115859.png
注意能搜到2个地址,有一个是血条条的,那个没用,我们要的是血量的地址,不是显示的血条的地址。
然后分别f6,得到单位基地址和血量偏移+6c
TIM截图20190601120121.png
单位无限血很简单,就是把这里nop了,然后处理下共用代码即可。
公用代码的处理下一部分会讲到



三.单位三星
因为单位肯定是一个类或者结构体,不管各个变量是private类型还是protective public,我们的大ce都能搜到
然后我们把一个单位搞三星,另一个单位不三星,对比一下数据结构就知道三星的偏移是哪一个了。。
TIM截图20190601120332.png
这是都是0星的的数据结构对比,这时候的红色肯定不是三星。
差异的颜色可以设置的,我设置成红色,比较显眼。
然后用刚刚的成果,一个坦克去捡箱子,升级为三星,再次对比数据结构
TIM截图20190601120443.png
在像羊毛一般的双线操作后,终于单位2变成了三星
TIM截图20190601120635.png
也就是说数据结构对比窗口里右边那个是三星。

看看哪有不同吧
指针不同的地方肯定不是三星。。
我一开始猜想没星的话变量肯定是0,然后1星是1,三星是2或者3
这时候我突然发现,为什么红警没有2星。。。

然后我发现,竟然没有一个地方是这种0,1,2,3的。。
TIM图片20190601120921.png
那只能暴力了
把单位1与单位2不同的地方修改掉,全变成单位2的
指针啊这一类的就不用改了,还有+6c那个地方也不需要改了,那是血量。。
TIM截图20190601121046.png
改到+150时,终于发现一个可疑的地址了。立马修改,发现:
TIM截图20190601121132.png
成功了。
那作者为什么要把这么一个奇怪的数值定义为三星呢?
换算成16进制看看他是什么
TIM截图20190601121229.png
竟然是0x40000000!!!!
因此,单位三星只需要把+150 改成0x40000000


四、应用
那这个东西怎么应用呢?总不能拿个时钟时时刻刻变量玩家所有单位吧。。
我用过红警修改大师,可惜只能修改原版,不能修改yr和战网。但是至少给我了一个思路——选中单位三星
这里感谢一下JSAMA的RA2Dbg out
在里面可以发现很多输出信息,比如lose mouse什么的,后面还跟一个地址。
那就可以证明选中单位有一个指针,指向的是选中单位的基地址。
先选中单位1,ce搜索单位1基地址,再选中单位2,ce搜索单位2基地址,得到:
TIM截图20190601121656.png
这时候你就会发现编队的好处,不编队你现在都不知道哪个是单位1单位2了。。
搜索到之后就有实现思路了。
当指针改变时,修改0C8C07C0+150 为0x40000000
所以我们对着这个地址f6,看是谁修改了他。
TIM截图20190601121839.png
005F469A - 89 31  - mov [ecx],esi
TIM截图20190601121927.png

然后从od里跟过去。
其实从这里可以看到选中单位的基地址是【00a8ecbc 】
我们可以先用一个跳转跳到一个空地,然后mov [ecx+150],0x4000000,然后再跳回去

就像这样
TIM截图20190601122135.png


这样,我们就把单位三星成功写到程序里了。
我是这么改的:
TIM截图20190601162257.png
TIM截图20190601162849.png
只要选中一个单位,就会变成三星
完美
不过要注意上面的图要写esi而不是ecx,因为选中单位基地址存在esi里了,ecx存的是个指针。。


然后还要说一下,上面的代码只适用于坦克,步兵的偏移不一样。这就说明的步兵和坦克是两个类
所以想做到点步兵升级请自行找偏移,如果我有空,也会在找出来之后把偏移告诉大家




五.控制对方单位
单位肯定有很多属性。我们目前知道了+6c是血量,+150是等级。那么我看很多辅助都有直接控制对方单位的操作,比如红警修改大师
那我猜想单位类里面肯定有一个指针指向所属玩家。
那这个指针是多少呢?
我们知道游戏有一个数据基址,这个基地址在这篇帖子里提到过

对红色警戒2及尤里的复仇的逆向总结
https://www.52pojie.cn/thread-878171-1-1.html
(出处: 吾爱破解论坛)
数据基址指向的就是玩家数据了。
我们以16进制的形式显示,可以得到
TIM截图20190601204500.png
然后再用数据分析工具,ctrl+f搜索这个地址可以发现
+21c和+14c都存了这个地址。
TIM截图20190601204811.png
分别修改21c、14c的数值,改为我方的[00a83d4c]
可以发现,修改14c的时候没用,而修改21c的时候敌方的单位转移为了我。


TIM截图20190601204950.png

灰熊坦克:?????我们的基地怎么回事


因此,转移单位所属就是这样
TIM截图20190601204933.png

我们只需要再在刚刚选中单位三星那里加一行
mov dword [00a83d4c],[[a8ecbc]+21c],就可以了
这指针嵌套,看着就难受。

只可惜,连指针嵌套都不让你写
还要写个中转变量

TIM图片20190601213146.png



七.让我成为我的对手
修改单位所属的指针为我的数据地址,单位会转移为我的。修改我的数据地址为单位所属者呢?
奇葩的事情发生了,我居然成为了对手,游戏界面全是对手的操作和数据
73296e242430f04e.jpg
红警2 冷酷的电脑vs冷酷的电脑 冷酷的电脑第一视角
https://www.bilibili.com/video/av54330483/


写贴不易,求加分点赞投币。。
视频版本我也会传
最后,再祝大家六一儿童节快乐!
视频版本地址:https://www.bilibili.com/video/av54231226/
视频版本只有三星部分哦,后面两个部分没有

免费评分

参与人数 37威望 +1 吾爱币 +47 热心值 +35 收起 理由
tangjiashiertui + 1 谢谢@Thanks!
六成新 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
taotie2017 + 1 + 1 我很赞同!
自由之心 + 1 + 1 谢谢@Thanks!
smWSQ7788 + 1 + 1 我很赞同!
小麋鹿 + 1 + 1 请勿灌水,提高回帖质量是每位会员应尽的义务!
Hmily + 1 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
讲扔 + 1 + 1 热心回复!
a8429427 + 1 + 1 谢谢@Thanks!
fgylh + 1 谢谢@Thanks!
傲娇当当 + 1 + 1 我很赞同!
摔杯为号 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
JuncoJet + 2 + 1 我搞定0冷却了爽一P
发小七 + 1 + 1 热心回复!
like钱 + 1 + 1 虽然看不懂 只想一句卧槽
moranyuyan + 1 + 1 我很赞同!
Puritanese + 1 + 1 谢谢@Thanks!
zzzain46 + 5 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
asxh + 1 + 1 热心回复!
sniper9527 + 1 + 1 谢谢@Thanks!
CheakDC52 + 1 + 1 谢谢@Thanks!
18252590140 + 1 不知道楼主有没有Win10能运行的红警
苏紫方璇 + 2 + 1 tql
BoatJ + 1 + 1 谢谢@Thanks!
Cailgun + 1 + 1 热心回复!
hl3389 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
陈世界 + 1 + 1 谢谢@Thanks!
qiyou + 1 + 1 我很赞同!
x34178148 + 1 + 1 楼主节日快乐
笙若 + 1 + 1 谢谢@Thanks!
海天一色001 + 1 + 1 谢谢@Thanks!
独行风云 + 1 + 1 我很赞同!
溜玩音乐 + 1 + 1 我很赞同!
zedong + 1 + 1 我很赞同!
长大以后 + 1 + 1 谢谢@Thanks!
小生是书痴 + 1 热心回复!
gxlly + 1 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

qq5030789 发表于 2019-6-3 10:41
厉害了,很少有时间再玩了,纯支持一下吧
 楼主| KaQqi 发表于 2019-6-1 14:48
本帖最后由 KaQqi 于 2019-6-1 14:55 编辑
JuncoJet 发表于 2019-6-1 13:21
我还在研究0冷却时间建造

感谢大佬的ra2dbg out
如果能把default和focus之类的过滤掉就更好了
就是过滤的那一句改成这样
[C++] 纯文本查看 复制代码
if(!strstr(d[1],"Theme")&&!strstr(d[1],"Mouse")&&!strstr(d[1],"Focus")&&!strstr(d[1],"Default"))

0冷却建造有了思路实现就非常简单
我一开始也是因为没有思路而无从下手
我的帖子如果不嫌弃的话可以参考一下哦
论红色警戒2尤里的复仇如何实现秒建
https://www.52pojie.cn/thread-846492-1-1.html
(出处: 吾爱破解论坛)
小生是书痴 发表于 2019-6-1 12:37
猫南北爱上狗东西 发表于 2019-6-1 12:55
儿童节哈哈哈
芯王宇 发表于 2019-6-1 13:12
那个红警对战平台可以用吗
bbvbvbbv 发表于 2019-6-1 13:14
红警已经被你们玩坏了
JuncoJet 发表于 2019-6-1 13:20
楼主6666
JuncoJet 发表于 2019-6-1 13:21
我还在研究0冷却时间建造
zedong 发表于 2019-6-1 13:27
有木有局域网联机可以改的东西!?
xdn19910206 发表于 2019-6-1 13:34
收下了,刚好最近要用上这个软件
xdn19910206 发表于 2019-6-1 13:35
收下了,刚好最近要用上这个软件
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 19:20

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表