吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 13755|回复: 228

[原创] 红警2秒杀原理剖析干货级讲解和专用修改器实现

    [复制链接]
JuncoJet 发表于 2019-4-23 13:31
本帖最后由 JuncoJet 于 2019-4-26 09:33 编辑

前言

什么红警95 98,VR特警……没有这些游戏的网吧还能叫网吧?老板换台机,这机子什么都没有玩毛啊!
红警作为一代经典,深入人心,带给我们许多快乐的时光。但如今,3D游戏横行的年代,一款平面游戏所能给的激情,似乎少了那么一点。
那么我们就对游戏做一点小小的修改,玩出不一样的花样,呵呵哒。本帖主体内容如下:
ra2.jpg
ra2.gif

原理剖析


在红警的规则里有一条潜规则,也是第一大定律,那就是所有建筑爆了无论你有多少兵都立即判输。我们根据此规则下手,进行研究,看能不能在游戏的任何时间秒对手个措手不及,噗。
虽然有点小邪恶,但是想想还是挺激动的。我们接下来使出我们的游戏分析利器CE(Cheat Engine)和GE(Game Expert),两款修改器各有优缺,CE的专业地位无可动摇,但是部分游戏下切换窗口很不方便,并且有崩溃游戏的可能,很不幸红警就是其中之一…… GE作为第二候选,由于使用注入游戏,在游戏内部打开搜索窗口,有众多优势,所以本帖就由两款编辑器同时开工。
给GE设置好一个适合自己的热键,开始一场遭遇战,然后试试看能不能呼出编辑器窗口,然后我们根据自己的建筑数量搜索单字节整数。下面我就不一一截图了,切换窗口很容易崩溃游戏。
Image 342.jpg
大概4次左右,我们就能找出约4个地址,然后我们卖掉点房子,或者再建造房子,不要搜索值,看值的变化。
由于GE使用注入的方法,所以内存数据会被输入的内容污染,我们使用这个技巧来排除掉污染数据。然后我们可以确定有效数据两个,如下图,再接下来我们逐个验证下。
Image 344.jpg

也许有人问为什么这里使用单字节搜索,那么我们说说单字节整数,双字节(字)以及四字节(双字)的区别
单字节整数,汇编中我们叫做BYTE,C语言中的char是一样的
我们画一个图,来讲解下BYTE(字节)、WORD(字)、DWORD(双字)、QWORD(四字)的区别和内存分布
rect1481.png
可以看到8字节共用了两个4字节,4字节又共用了两个2字节,2字节又又共用了两个单字节,下面的例子就是展示4个字节组成一个4字节整形
[C] 纯文本查看 复制代码
char b[4]={1,0,0,0};
int *d=(int*)b;
printf("%d",*d);

[Asm] 纯文本查看 复制代码
bb db 1,0,0,0
_main:
mov eax,DWORD ptr[bb];MASM
;mov eax,[bb];NASM/FASM 使用BIT32修饰
ret

所以,我们在搜索游戏数值的时候用单字节搜索,是一个保守的搜索方式,确保能搜索出来,同时兼容双字节4字节的一种搜索方式。附一个ASM、C、VB类型对照表
Image 343.jpg

前面的例子使用到了指针,指针是什么,指针就是个地址引用比如说b是一个4字节数组,d是个整形指针他引用地址是b,d就是b的内存地址。在32位程序中,指针的大小是32位也就是4字节,64位程序的指针是64位8字节。有些人可能会涉及到8位单片机,比如51、AVR和STM8之类的,里面如果使用指针,那么指针大小就是8位1个字节。(此处说法不确切,经过考究猜测应该是16位2字节,因为还需要段地址)
也许你们中学电脑课是这么上的,构成数据的最小单位是比特(bit),一个字节(BYTE)是8个比特,一个英文字母占一个字节,一个汉字占一个字(WORD)。没错的,但是老湿没说有UTF8,UNICODE的存在?略略略…… 跑偏了,回来回来

我们验证完地址之后,怎么验证?输入0,然后爆炸,游戏结束的就是。然后,我们用CE这三个很好用的功能,我们就用第二个吧。
Image 345.jpg
之后会有一个统计,统计出访问次数最多的,点开他,看一下这个代码的所在位置
Image 347.jpg
代码访问时的值,ECX+0x78相当于一个指针,读取0AB0E818地址中的值。
Image 348.jpg
CE能够很方便的找出偏移
Image 349.jpg
下面又到了科普环节,啥是佩奇,不对啥是基址,啥是偏移?
Image 346.jpg
对于EXE来说,基址基本是固定的,DLL的话基址会由系统分配,一般DLL建议使用动态获取
[C] 纯文本查看 复制代码
GetModuleHandle("DLL名");
//或者
LoadLibrary('DLL名');

EXE的话写死了就行,咩哈哈哈(误,如果开启了DEP,那么也可能由系统分配基址,保守做法还是建议动态获取

此处要请出OllyICE/OllyDbg来验证,先打开游戏附加Game
Image 350.jpg
我们先对地址下一个条件记录吧,然后输入监控访问的地址,玩一把游戏看看记录下来的地址有没有变化。
我假设,敌人和我方都使用一个方法(过程)来判断是否死亡,那么对一个地址下断能获取到对方的地址(猜
Image 351.jpg
下断后获取到了地址,我们先改改数字看,看看房子会不会爆 Boom!
Image 352.jpg
改完发现,然而并不能??什么鬼,然后发现好像我们找错了…… 别,别打我
我们重新按照前面步骤,再来一次。找到建筑的数目,然后再找出访问地址,游戏跑起来
Image 355.jpg
如图我们得到了6个地址,一个一个改代码。爆破!当改到第三个代码时建筑爆炸了Boom!哎呀这次终于找对了,有没有惊喜
Image 356.jpg
爆破对了的话建筑会一秒全爆炸。游戏重启了,再开会秒赢画面不怎么美,下面视频仅供参考
链接:https://pan.baidu.com/s/1T2jT_y6ILS_MwdqXiosipw 提取码:n2sl
链接:https://pan.baidu.com/s/1a5kEFsLcwsZ29FpEvjoUFw 提取码:n6l0 (没啥好看的)
基本已完成代码的定位,下面我们就是写修改器了

福利环节,修改此处,只要把出总部收起来,就会爆炸…… 哎,还是忍不住出IDA了,OD实在是太长了没法看。
Image 094.jpg
链接: https://pan.baidu.com/s/1SbSB8cg-8zeowHIvh0uxIg 提取码: bw2v 超帅小视频

制作修改器

CE/GE生成修改器


CE生成修改器
打开CE,添加进程Game.exe,然后我们在地址栏里添加一些我们已经验证过了的4个地址(底部教程里),并且为他们设置热键B,值为0
Image 360.jpg
然后我们在文件菜单中有一个“从列表中生成修改器”的选项
Image 362.jpg
在左侧框里可以看到刚才我们设置好的4个地址,里面的其他信息可以根据自己需要自己修改,确认无误点击1、2按钮生成我们的修改器。
Image 361.jpg
最终我们得到了一个这个样子的修改器,打开游戏按B就能击败一个国家。这边我个人的分析,小地图一般都有4个国家,大地图有8个,大家可以自己尝试添加其他的国家。
Image 363.jpg
ra2cheat.zip (3.32 MB, 下载次数: 50)

免费评分

参与人数 91吾爱币 +88 热心值 +83 收起 理由
陪我去洱海 + 1 + 1 谢谢@Thanks!
GS_小东 + 1 我很赞同!
zhengkai6711 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
zha + 1 + 1 谢谢@Thanks!
biaggi + 1 + 1 我很赞同!
516514164 + 1 + 1 热心回复!
黑的思想 + 1 + 1 用心讨论,共获提升!
zazmr + 1 热心回复!
a517753728 + 1 + 1 用心讨论,共获提升!
喝奶的小马哥 + 1 + 1 热心回复!
SF-10086 + 1 + 1 谢谢@Thanks!
nihao2019 + 1 + 1 谢谢@Thanks!
dl5174887 + 1 我很赞同!
dxxd + 1 + 1 谢谢@Thanks!
99910369 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
feelings + 1 + 1 用心讨论,共获提升!
lph619 + 1 热心回复!
21闲来偶遇 + 1 + 1 用心讨论,共获提升!
qinpan + 1 + 1 我很赞同!
鼠标右键 + 1 + 1 致敬经典!
清风忘尘 + 1 + 1 没想到游戏还能这么玩
jiang3986633 + 1 + 1 用心讨论,共获提升!
八云紫薯 + 1 谢谢@Thanks!
zhizhibest + 1 + 1 我很赞同!
赵越丶 + 1 + 1 进了52论坛后,发现大神好多好多……
JuDei + 1 + 1 用心讨论,共获提升!
nf7800 + 1 童年回忆,谢谢
shixinlan + 1 + 1 我很赞同!
qyh1989324 + 1 谢谢@Thanks!
翁臣岩 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
tutukiki + 1 很少看到的文章,支持
wuai7788 + 1 + 1 我很赞同!
xujiannan + 1 + 1 鼓励转贴优秀软件安全工具和文档!
woshuoxiang + 1 + 1 谢谢@Thanks!
这是追求不是梦 + 1 + 1 我很赞同!
Ganlv + 3 + 1 用心讨论,共获提升!
暗夜无梦 + 1 + 1 谢谢@Thanks!
mengsiyiren + 1 + 1 用心讨论,共获提升!
勿爱魄杰 + 1 + 1 谢谢@Thanks!
000000 + 2 + 1 用心讨论,共获提升!
kontai + 1 + 1 谢谢@Thanks!
xiong_online + 1 + 1 用心讨论,共获提升!
好孩子 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
18615202015 + 1 我很赞同!
hwolf1 + 1 + 1 学习了,虽然还不怎么看得懂!
zzyzgy + 1 + 1 谢谢@Thanks!
wwh8313 + 1 + 1 谢谢@Thanks!
静叶流云 + 1 + 1 谢谢@Thanks!
wy1214385526 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
cctvalo + 1 + 1 用心讨论,共获提升!
cejl123 + 1 + 1 谢谢@Thanks!
韩非文 + 1 嗯,好,很好
在时光的坐标上 + 1 热心回复!
matali + 1 + 1 我很赞同!
tchivs + 3 + 1 用心讨论,共获提升!
一骑当千丶k + 1 + 1 我很赞同!
五河星空 + 1 + 1 谢谢@Thanks!
海东青1013 + 1 用心讨论,共获提升!
yizhiyuji + 1 + 1 热心回复!
f4cku + 1 + 1 谢谢@Thanks!
bakaest + 1 + 1 很棒的教程!
52user + 1 很强势 有些暴力
有意义 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
昆局水段 + 1 + 1 用心讨论,共获提升!
潇洒的过 + 1 + 1 我很赞同!
你的秋裤 + 1 + 1 谢谢@Thanks!
春风十里不如你 + 1 + 1 用心讨论,共获提升!
hahahunqiu + 1 热心回复!
fyk1234 + 1 我很赞同!
天空藍 + 1 + 1 谢谢@Thanks!
大白菜z + 1 + 1 这个真的厉害
lsrh2000 + 1 热心回复!
hybin + 1 + 1 热心回复!
china0008 + 1 + 1 用心讨论,共获提升!
大风车 + 1 + 1 用心讨论,共获提升!
如影随风 + 1 + 1 我很赞同!
crazpro + 1 谢谢@Thanks!
朱朱你堕落了 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
weiwei321 + 1 + 1 我很赞同!
dazhuang + 1 + 1 先评分再说
王不流行 + 1 + 1 谢谢@Thanks!
涛之雨 + 1 + 1 坐等大佬更新
pojieit + 1 + 1 我很赞同!
fifa4836 + 1 + 1 谢谢@Thanks!
椎名牧 + 1 + 1 用心讨论,共获提升!
海天一色001 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
xindelangmaney + 1 + 1 热心回复!
nba082001 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
无痕软件 + 3 + 1 好文,加油
猫吃 + 1 + 1 有的游戏CE附加不了怎么搞
为海尔而战 + 1 + 1 干货,后面必学的部分也来点教程就更好了。

查看全部评分

本帖被以下淘专辑推荐:

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

为海尔而战 发表于 2019-4-23 14:26
hehe5240 发表于 2019-4-23 13:53
“第一大定律,那就是所有建筑爆了无论你有多少兵都立即判输”也只是对快速游戏模式有效 非此模式可以无建 ...

哈哈,干过干过,一不小心就捡个基地车
KaQqi 发表于 2019-4-23 18:33
本帖最后由 KaQqi 于 2019-4-23 18:46 编辑

只有开启快速游戏模式才会建筑全爆掉判断输..其他情况还是要杀掉所有单位的。这样麻烦了,我记得有一个全局变量置1是可以直接胜利的,不过这样的缺点就是双方损失数建造数都是0,而且不能联机实现。准确的说是联机之后我界面显示胜利,对方显示我掉线。。虽然你这方法也不能联机..并且双方都掉线。。。
你分析的应该是原版吧(作为红警忠实粉丝,目测不会出错qwq)原版里那个字节是game.exe+635DB1
主流外挂的秒杀貌似就是靠修改字节胜利的。。

点评

同样是玩红警,你看人家随手就是一篇精华  发表于 2019-4-28 13:25
同样是玩红警,你看人家随手就是一篇精华  详情 回复 发表于 2019-4-25 10:50

免费评分

参与人数 1热心值 +1 收起 理由
涛之雨 + 1 大佬好。。。举报楼主抢你饭碗

查看全部评分

zywindows 发表于 2019-4-23 13:52
外行人 一脸蒙蔽的进来     又一脸蒙蔽的出去了
hehe5240 发表于 2019-4-23 13:53
“第一大定律,那就是所有建筑爆了无论你有多少兵都立即判输”也只是对快速游戏模式有效 非此模式可以无建筑物继续带着小兵逛 尤其是拖着矿车到处逛找箱子也是种玩法
 楼主| JuncoJet 发表于 2019-4-23 13:55
hehe5240 发表于 2019-4-23 13:53
“第一大定律,那就是所有建筑爆了无论你有多少兵都立即判输”也只是对快速游戏模式有效 非此模式可以无建 ...

蛤,是么
ludechaoren 发表于 2019-4-23 14:10
外行人 一脸蒙蔽的进来     又一脸蒙蔽的出去了
绯月幻蝶 发表于 2019-4-23 14:22
一脸懵逼的进来 一脸懵逼的走,虽然看了教程但还是不懂
wjh2471 发表于 2019-4-23 14:23
高大上    一脸蒙蔽
wadsq1081 发表于 2019-4-23 14:24
懵逼的又进来了,感觉懂了一点
wingmancn 发表于 2019-4-23 14:30
先收藏,毕竟我是行外人
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:禁止回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2019-6-17 11:46

Powered by Discuz!

© 2001-2017 Comsenz Inc.

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