吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 117221|回复: 841
收起左侧

[原创] 红色警戒2尤里的复仇科技全开

    [复制链接]
KaQqi 发表于 2019-5-19 11:17
本帖最后由 KaQqi 于 2019-5-21 18:02 编辑

我都不知道我这个东西写了多少期了,所以就不写期号了。。
本来这个内容在这篇帖子

对红色警戒2及尤里的复仇的逆向总结
https://www.52pojie.cn/thread-878171-1-1.html
(出处: 吾爱破解论坛)
已经有所提及,可是写的太不详细。。鉴于私信一堆人让我详细写这个,以及上次科技全开没成功写到程序里的尴尬,于是就写了这篇文章。

先做一下免责声明:
科技全开在红色警戒战网对战可用,所以请不要用于商业用途(上次发的居然有人用于商业用途,一个外挂100块钱,是谁我就不点名说了)。用于商业用途请自己承担所有责任。

从本论坛下载的内容仅供交流学习,请在下载后24小时内删除,请勿用于商业用途,否则后果自负
相关视频:https://space.bilibili.com/251535501



前情回顾:
上一次我们讲到了无限核弹。
红色警戒实现无限核弹的艰辛之路
https://www.52pojie.cn/thread-935581-1-1.html
(出处: 吾爱破解论坛)
[C++] 纯文本查看 复制代码
pushad
mov ecx,0x14
call 006ceeb0
mov ebx,eax
mov eax,[ebx+98]
 
mov edx,[00a83d4c]
mov ecx,[edx+258]
 
 
push 0
push 0
mov ecx,[ecx+eax*4]
push 1
call 006CB560
mov eax,[ebx+98]
mov ecx,0087f7e8
push eax
push 1f
call 006a6300
popad
ret

在逆向总结那一节里,我们提到了NewConstructionOptions的那个call。进去之后可以发现一个大大的switch结构。
[Asm] 纯文本查看 复制代码
006CC103  |> \6A FF         push -0x1                                ;  Case 0 of switch 006CC0F3
006CC105  |.  83CA FF       or edx,-0x1
006CC108  |.  B9 D4248400   mov ecx,gamemd.008424D4                  ;  EVA_NuclearMissileReady
006CC10D  |.  EB 6A         jmp short gamemd.006CC179
006CC10F  |>  6A FF         push -0x1                                ;  Case 1 of switch 006CC0F3
006CC111  |.  83CA FF       or edx,-0x1
006CC114  |.  B9 BC248400   mov ecx,gamemd.008424BC                  ;  EVA_IronCurtainReady
006CC119  |.  EB 5E         jmp short gamemd.006CC179
006CC11B  |>  6A FF         push -0x1                                ;  Case A of switch 006CC0F3
006CC11D  |.  83CA FF       or edx,-0x1
006CC120  |.  B9 A4248400   mov ecx,gamemd.008424A4                  ;  EVA_ForceShieldReady
006CC125  |.  EB 52         jmp short gamemd.006CC179
006CC127  |>  6A FF         push -0x1                                ;  Case 2 of switch 006CC0F3
006CC129  |.  83CA FF       or edx,-0x1
006CC12C  |.  B9 8C248400   mov ecx,gamemd.0084248C                  ;  EVA_LightningStormReady
006CC131  |.  EB 46         jmp short gamemd.006CC179
006CC133  |>  6A FF         push -0x1                                ;  Case 7 of switch 006CC0F3
006CC135  |.  83CA FF       or edx,-0x1
006CC138  |.  B9 70248400   mov ecx,gamemd.00842470                  ;  EVA_PsychicDominatorReady
006CC13D  |.  EB 3A         jmp short gamemd.006CC179
006CC13F  |>  6A FF         push -0x1                                ;  Case 3 of switch 006CC0F3
006CC141  |.  83CA FF       or edx,-0x1
006CC144  |.  B9 58248400   mov ecx,gamemd.00842458                  ;  EVA_ChronosphereReady
006CC149  |.  EB 2E         jmp short gamemd.006CC179
006CC14B  |>  6A FF         push -0x1                                ;  Cases 5,6 of switch 006CC0F3
006CC14D  |.  83CA FF       or edx,-0x1
006CC150  |.  B9 40248400   mov ecx,gamemd.00842440                  ;  EVA_ReinforcementsReady
006CC155  |.  EB 22         jmp short gamemd.006CC179
006CC157  |>  6A FF         push -0x1                                ;  Case 8 of switch 006CC0F3
006CC159  |.  83CA FF       or edx,-0x1
006CC15C  |.  B9 2C248400   mov ecx,gamemd.0084242C                  ;  EVA_SpyPlaneReady
006CC161  |.  EB 16         jmp short gamemd.006CC179
006CC163  |>  6A FF         push -0x1                                ;  Case 9 of switch 006CC0F3
006CC165  |.  83CA FF       or edx,-0x1
006CC168  |.  B9 14248400   mov ecx,gamemd.00842414                  ;  EVA_GeneticMutatorReady
006CC16D  |.  EB 0A         jmp short gamemd.006CC179
006CC16F  |>  6A FF         push -0x1                                ;  Case B of switch 006CC0F3
006CC171  |.  83CA FF       or edx,-0x1
006CC174  |.  B9 FC238400   mov ecx,gamemd.008423FC                  ;  EVA_PsychicRevealReady
006CC179  |>  E8 82650800   call gamemd.00752700
006CC17E  |>  8B0D 84EDA800 mov ecx,dword ptr ds:[0xA8ED84]          ;  Default case of switch 006CC0F3


根据各种case,我们可以获得超级武器的编号:
0 Nuclear Missle(核弹)
1 Iron Curtan(铁幕,也就是台湾人翻译的无敌)
A force shield(立场护盾,你造了高科之后的那个蓝蓝的东西,跟铁幕差不多,但是只能套建筑)
2 Lightning storm(闪电风暴,盟军的无污染超武,符合科学发展观)
7 PsychicDominator(心灵控制,尤里的无污染超武)
…………
剩下我就不说了,大家都识字。。自己去上面的代码里翻。。

有了这些编号,我们是不是可以调用这些超武呢?
[Asm] 纯文本查看 复制代码
pushad
mov ecx,0x14
call 006ceeb0
mov ebx,eax
mov eax,[ebx+98]

mov edx,[00a83d4c]
mov ecx,[edx+258]


push 0
push 0
mov ecx,[ecx+eax*4]
push 1
call 006CB560
mov eax,[ebx+98]
mov ecx,0087f7e8
push eax
push 1f
call 006a6300
popad
ret

这些参数的哪些表示超级武器呢?
根据上一节的提示,第一个call是获取eax的。而eax就是超级武器编号,那么我们直接修改eax行不行呢?
我们发现,修改eax的只有mov eax,[ebx+98]。那我们把ebx+98变成1,得到:
[Asm] 纯文本查看 复制代码
pushad
mov ecx,0x14
call 006ceeb0
mov ebx,eax
mov eax,[ebx+98]

mov edx,[00a83d4c]
mov ecx,[edx+258]


push 0
push 0
mov ecx,[ecx+eax*4]
push 1
call 006CB560
mov eax,1
mov ecx,0087f7e8
push eax
push 1f
call 006a6300
popad
ret

立刻注入,发现:
TIM截图20190519104433.png
此时发现:
TIM图片20190519104612.jpg
又是那个不能用的超级武器。。
那说明没有调整cd
而出现了核弹0:00说明调整的是核弹的cd。。
那肯定是调整cd那个call参数错了。。
上面那个参数忘记改了。。
重写代码,得到:
[Asm] 纯文本查看 复制代码
pushad
mov ecx,0x14
call 006ceeb0
mov ebx,eax
mov eax,1

mov edx,[00a83d4c]
mov ecx,[edx+258]


push 0
push 0
mov ecx,[ecx+eax*4]
push 1
call 006CB560
mov eax,1
mov ecx,0087f7e8
push eax
push 1f
call 006a6300
popad
ret

再次注入:
TIM截图20190519104813.png

TIM截图20190519104858.png
不过我们发现一个尴尬的事情,用完之后那个铁幕选项不会消失。。
管它呢,反正我也不追求完美2333
同理,可以得到其他超级武器
TIM截图20190519105030.png
因此,我们得到超级武器的注入代码为:
[Asm] 纯文本查看 复制代码
pushad
mov ecx,0x14
call 006ceeb0
mov ebx,eax
mov eax,2//此处为超级武器编号

mov edx,[00a83d4c]
mov ecx,[edx+258]


push 0
push 0
mov ecx,[ecx+eax*4]
push 1
call 006CB560
mov eax,2//此处为超级武器编号
mov ecx,0087f7e8
push eax
push 1f
call 006a6300
popad
ret



到了这里,还有几个人记得住我们的题目?
对,没错,科技全开。。
顾名思义,添加所有能够添加的建造选项。
那肯定是最后一个call的事情了。
mov ecx,0087f7e8
push eax
push 1f
call 006a6300
popad
ret
我们知道eax是超级武器编号,那么1f是否为类型呢?


我们跟进最后一个增加建造选项的call,发现又是一个大大的switch。
TIM截图20190519103939.png
在这里下断点,然后窗口化运行程序,动态调试,当建造选项增加的时候会断下来。
依次造步兵、建筑、坦克,得到:

再看刚刚的代码,1f表示的就是超级武器。




因此,假如我们想要科技全开,首先要做到建筑全开。
然后有个猜想,建筑就不用调cd了吧,都是54下。。
建筑cd相关帖子:

论红色警戒2尤里的复仇如何实现秒建
https://www.52pojie.cn/thread-846492-1-1.html
(出处: 吾爱破解论坛)
那我们直接调用最后一个call

先改个7
[Asm] 纯文本查看 复制代码
pushad
mov ecx,0087f7e8
mov edx,[00a83d4c]
mov eax,0
push eax  
push 7 
call 006a6300
popad
retn

提醒一句,前面基地址啊还有字符串的参数该传还要传。。
eax我们先改成0,看看注入后会出现什么。(因为下标一般都从0开始)
TIM截图20190519105649.png
TIM图片20190519105732.png
然并卵。。
猜想原因:0这个建筑就是盟军电场,因为游戏是美国人做的,美国的建筑 的下标肯定靠前2333
那改成A
[Asm] 纯文本查看 复制代码
pushad
mov ecx,0087f7e8
mov edx,[00a83d4c]
mov eax,A
push eax 
push 7 
call 006a6300
popad
retn

TIM图片20190519105907.jpg
TIM图片20190519105955.jpg
精彩!
然后我们把自己的国家换成苏军,依次得到:
0=发电厂
1=盟军矿石精炼厂
2=盟军建造厂
3=盟军兵营
4=沙袋
5=盟军维修厂
6=盟军作
[url=]5[/url]战实验室
7=盟军战车工厂
9=磁能反应炉
A=苏联作战实验室



TIM图片20190519110131.jpg
这要试试到什么年份。。
我怎么知道所有建筑的编号。。
接下来是翻车时间:
——肯定不能这么试试,那我们看看有没有能找到建筑编号的地方,最好就像刚刚那种switch一样
跳转跟过来,得到:
TIM截图20190519110309.png
跟进本switch每一个call,得到

TIM截图20190519110406.png
TIM截图20190519110415.png

最后问了一个红警ini大佬,得到了答案:
TIM截图20190519110707.png
TIM截图20190519110735.png
TIM图片20190519110810.jpg
TIM图片20190519110835.jpg
因此,可以得到一个简单粗暴的办法:用一个循环来搞定。
TIM截图20190519111230.png
2019-5-19:纠正一个错误,上图的je应该写成jnz
这里给出红警大佬所给的全部代码
0=GAPOWR;盟军发电厂
1=GAREFN ;盟军矿厂
2=GAPILE ;盟军兵营
3=GAWEAP ;盟军兵工厂
4=GAAIRC ;盟军空军指挥部
5=AMRADR ;美国空军指挥部--AmericanParaDropSpecial
6=GADEPT ;盟军维修厂
7=GAYARD ;盟军船厂
8=GATECH ;盟军实验室
9=GAROBO; 控制中心 ---
10=GAOREP; 矿石精鍊器
11=GAWALL; 盟军围墙
12=GAPILL; 机枪碉堡---Vulcan2
13=NASAM ;爱国者飞弹 --RedEye2
14=GAGAP ;裂缝产生器
15=ATESLA ;光棱塔----PrismShot / PrismSupport
16=GASPYSAT; 间谍卫星
17=GACNST ;盟军建造场
18=GTGCAN ;法国巨炮  GrandCannonWeapon
19=GACSPH ;超时空传送仪 --- ChronoSphereSpecial
20=GAWEAT ;天气控制器 --- LightningStormSpecial
21=GASAND ;沙袋
22=GAGATE_A; 闸门
23=;===苏军======;
24=NAPOWR; 磁能反应炉
25=NAREFN ;苏军矿厂
26=NAHAND; 苏军兵营
27=NAWEAP; 苏军兵工厂
28=NARADR ;苏军雷达 --- SpyPlaneSpecial
29=NADEPT ;苏军维修厂
30=NAYARD ;苏军造船厂
31=NATECH ;苏军实验室
32=NANRCT ;核子反应堆 --- NukePayload
33=NAINDP ;工业工厂
34=NAWALL ;苏军围墙
35=NABNKR ;战斗碉堡
36=NALASR ;哨戒炮--Vulcan
37=NAFLAK ;防空炮--FlakWeapon
38=TESLA ;磁暴线圈 -- CoilBolt / OPCoilBolt
39=NACNST ;苏军建造厂
40=NAIRON ;铁幕 --- IronCurtainSpecial
41=NAMISL ;核弹发射井 -- NukeSpecial
42=NAPSYB ;心灵信标
43=;===尤里======;
44=YAPOWR ;生化反应炉
45=YAREFN ;奴隶矿厂
46=YABRCK ;尤里兵营
47=YAWEAP ;尤里兵工厂
48=NAPSIS ;心灵感应器 --- PsychicRevealSpecial
49=YAYARD ;尤里船厂
50=YAGRND ;部队回收厂
51=YATECH ;尤里实验室
52=GAFWLL ;尤里围墙
53=NATBNK ;坦克碉堡
54=YAGGUN ;盖特机炮
55=YAPSYT ;心灵控制塔----MultipleMindControlTower
56=NACLON ;复制中心
57=YAGNTC ;基因突变器 --- GeneticConverterSpecial
58=YAPPET ;心灵控制器 --- PsychicDominatorSpecial
59=YACNST ;尤里建造场
60=YAROCK ;不明建筑物
61=YACOMD ;尤里指挥中心
62=;===平======;
63=GASAND;沙墙
64=CAAIRP;科技机场---ParaDropSpecial
65=CAOILD;=科技钻油厂
66=CAPARS01;=艾菲尔铁塔
67=CAEAST02;=尤里雕像----PrismShot
68=CATRAN03;=尤里要塞
69=CAEAST01;=复活岛石像
[步兵类代码]
0=E1;美国大兵
1=E2;苏联动员兵
2=SHK;磁爆步兵
3=ENGINEER;盟军工程师
4=JUMPJET;火箭飞行兵
5=GHOST;海豹部队
6=YURI;尤里
7=IVAN;疯狂伊万
8=DESO;生化步兵
9=DOG;苏联军犬
10=CIV1;平民1
11=CIV2;平民2
12=CIV3;平民3
13=CTECH;技师
14=WEEDGUY;防IE挂载(没用)
15=CLEG;超时空兵团
16=SPY;间谍
17=CCOMAND;超时空突击队
18=PTROOP;伞兵
19=CIVAN;超时空伊万
20=YURIPR;尤里改
21=SNIPE;狙击手
22=COW;奶牛
23=ALL ;鳄鱼
24=TANY;谭雅
25=FLAKT;防空步兵
26=TERROR;恐怖分子
27=SENGINEER;苏联工程师
28=ADOG;盟军军犬
29=VLADIMIR;VLADIMIR
30=PENTGEN;PENTGEN
31=PRES;总统
32=SSRV;终级保镖
33=CIVA;德克萨斯平民A
34=CIVB;德克萨斯平民B
35=CIVC;德克萨斯平民C
36=CIVBBP;棒员运动员
37=CIVBFM;海滩肥男
38=CIVBF;海滩女
39=CIVBTM;海滩瘦男
40=CIVSFM;雪中肥男
41=CIVSF;雪中肥女
42=CIVSTM;雪中瘦男
43=POLARB;北极熊
44=JOSH;猴子
45=YENGINEER;尤里工程师
46=GGI;重装大兵
47=INIT;尤里新兵
48=BORIS;鲍裏斯
49=BRUTE;狂兽人
50=VIRUS;病毒狙击手
51=CLNT;快枪手
52=ARND;终结者
53=STLN;蓝波
54=CAML;骆驼
55=EINS;爱因斯坦
56=MUMY;木乃伊
57=RMNV;洛马诺夫总理
58=LUNR;登月火箭兵
59=DNOA;暴龙
60=DNOB;暴龙
61=SLAV;奴隶矿工
62=WWLF;(木乃伊)
63=YDOG;尤里军犬
64=YADOG;尤里军犬
65=CIVFM;海滩肥女
[战车类代码]
0=AMCV;盟军移动基地车
1=HARV;尤里奴隶采矿车
2=APOC;天启坦克
3=HTNK;犀牛坦克
4=SAPC;装甲运输船
5=CAR;汽车
6=BUS;校车
7=WINI;wini
8=PICK;小货车
9=MTNK;灰熊坦克
10=HORV;武装采矿车
11=TRUCKA;货车A
12=TRUCKB;货车B
13=CARRIER;航空母舰
14=V3;V3火箭车
15=ZEP;基洛夫空艇
16=DRON;恐怖机器人
17=HTK;防空履带车
18=DEST;驱逐舰
19=SUB;飓风级战舰
20=AEGIS;宙斯盾战舰
21=LCRF;盟军运输船
22=DRED;无畏级战舰
23=SHAD;夜鹰直升机
24=SQD;乌贼
25=DLPH;海豚
26=SMCV;苏联移动机基车
27=TNKD;坦克杀手
28=HOWI;榴弹炮
29=TTNK;磁爆坦克
30=LTNK;轻坦克
31=CMON;超时空采矿车(不回)
32=CMIN;超时空采矿车
33=SREF;光棱坦克
34=XCOMET;位置标定器
35=HYD;海蝎
36=MGTK;幻影坦克
37=FV;多功能步兵车
38=VLAD;维拉迪摩指挥舰
39=DTRUCK;自爆卡车
40=PROPA;宣传车
41=CONA;挖掘机
42=COP;cop
43=EUROC;欧洲汽车
44=LIMO;豪华轿车
45=STANG;小轿车
46=SUVB;小汽车A
47=SUVW;小汽车B
48=TAXI;出租车
49=PTRUCK;货车C
50=CRUISE;巡游船
51=TUG;拖船
52=CDEST;海岸巡逻船
53=YHVR;尤里气垫船
54=PCV;尤里机动基地车
55=SMIN;尤里奴隶矿厂
56=SMON;超时空采矿车
57=YCAB;黄色计程车
58=YTNK;盖特炮坦克
59=BFRT;战斗要塞
60=TELE;磁电坦克
61=CAOS;神经突袭车
62=DDBX;巴士
63=BCAB;黑色计程车
64=BSUB;雷鸣潜艇
65=SCHP;武装直升机
66=JEEP;卡车
67=MIND;精神控制车
68=DISK;镭射幽浮
69=UTNK;激光坦克
70=ROBO;遥控坦克
71=SCHD;武装直升机
72=DOLY;摄影车
73=CBLC;电车
74=FTRK;救火车
75=AMBU;救护车
76=CIVP;民航机
77=V3V3;V3火箭车
78=TURCKB;货车B
[飞机类代码]
0=APACHE;阿帕奇
1=ORCA;入侵者战机
2=HORNET;大黄蜂
3=V3ROCKET;V3火箭
4=ASW;舰载反潜机
5=DMISL;无畏级导弹
6=PDPLANE;运输机
7=BEAG;黑鹰战机
8=BPLN;米格战机(鲍里斯的飞机)
9=SPYP;侦察机
10=CMISL;雷鸣导弹

他怎么搞的我就不知道了。。我只在ini里翻出来了建筑编号。。
再提醒一句,这个是10进制,代码注入的时候是16进制

如果你担心不够保险,怕eax=f的时候没跳出去,然后就无线循环了,还可以把je改成ja。。
同理,对于小兵、坦克车的科技全开也是如此。。
我没去翻小兵,坦克车的ini,不知道从0循环到几。。大家自己写就行了


这个代码的好处就是,不会像地图全开那样注入两次程序就堆栈爆炸gg了。。所以可以随便找个地方写下来。
然后要注意的是,千万千万不能写在NewConstructionOptions里面,否则会无限递归。
效果图:


TIM截图20190519112016.png
奇葩的事情出现了:小兵和坦克出现了一堆我不认识的什么乱七八糟的东西。。



写文章不容易求加分点赞..

科技全开在红色警戒战网对战可用,所以请不要用于商业用途(上次发的居然有人用于商业用途,一个外挂100块钱,是谁我就不点名说了)。用于商业用途请自己承担所有责任。
从本论坛下载的内容仅供交流学习,请在下载后24小时内删除,请勿用于商业用途,否则后果自负





等等,你以为这样就结束了吗?
你以为这种暴力循环就能完美解决科技全开问题了吗?
不!真正的实现方式在下面:


调用添加建造函数的实现方式只是一种。那调用添加建造函数的函数是谁呢?
我们下断点,建造任意能提升科技等级的建筑,断点断下,回到上一层,得到:

TIM截图20190520183816.png

我们发现无论是28号车船,还是10号小兵,还是7号建筑,都有着相似的结构——判断建筑是否可用,添加建造选项,删除建造选项
(5-20添加:28号,10号,7号指的是16进制)


那我们是否可以修改判断建筑是否可用的返回值来实现科技全开呢?
我们下断点,动态跟踪,然后ctrl+f9到段尾,发现是retn c,而eax返回值是0.也就相当于c语言里面的return 0。那是不是无法建造就返回0呢?
我们把他修改成0,试试


[Asm] 纯文本查看 复制代码
004F7870      B8 00000000   mov eax,0x0                              ;  判断建造选项是否可用call
004F7875      C2 0C00       retn 0xC
004F7878  |.  55            push ebp
004F7879  |.  8BE9          mov ebp,ecx
004F787B  |.  56            push esi


TIM截图20190520184339.png

那添加建造选项肯定就是-1或者1咯哈哈哈
当x=-1时(啊呸,什么x,是eax)
TIM截图20190520184429.png
当x=+1时
TIM截图20190520184520.png
发现建筑可用,但是造车场之后车造不出来了。。
同理,x=2时防御建筑可用,但是兵造不出来了。
难道不同的返回值对应不同的建造类别??
IDA f5看一下,发现好像确实是有不同返回值
[Asm] 纯文本查看 复制代码
       return 0;
      if ( v61 <= 0 )
        return 1;
LABEL_189:
      v63 = (*(int (__thiscall **)(_DWORD))(*(_DWORD *)a2 + 64))(a2);
      if ( sub_49FAE0(v63) < *(_DWORD *)(a2 + 952) )
        return 1;
      if ( !a4 )
        return -1;
      v42 = 0;
      if ( vA83E40 <= 0 )
        return -1;
      v64 = vA83E34;
      break;
  }
  while ( *(void **)(*(_DWORD *)(v64 + 4 * v42) + 108) != v4 )
  {
LABEL_197:
    ++v42;
    if ( v42 >= vA83E40 )
      return -1;
  }
  if ( !((int (*)(void))sub_4CA160)()
    || (v65 = sub_4CA160(*(_DWORD *)(vA83E34 + 4 * v42)), (*(int (__thiscall **)(int))(*(_DWORD *)v65 + 132))(v65) != a2) )
  {
    v64 = vA83E34;
    goto LABEL_197;
  }
LABEL_199:
  if ( *(_DWORD *)(vA83E34 + 4 * v42) )
    return 1;
  return -1;
}

那这么搞的话修改起来又有2种思路,一种是造不同的类型,然后看看他是从哪个return出去的,在return 之前把返回值eax修改了。。
我没采用这个方法,因为他的retn和下面的case都连在一起了,修改起来很麻烦,还要写跳转。。
TIM截图20190520185141.png
如上图,retn下面就是下一个case。直接改会把下面内容覆盖掉,所以要写跳转。那光返回0的情况就2重,这要写多少个跳转。。太麻烦了


第二种办法是在call外面直接mov eax,对应值。。
还是比较麻烦,一是因为
TIM截图20190520185309.png
这也太多了吧。。。
二是因为涉及到一个堆栈平衡的问题,还要把堆栈pop出去,寄存器参数改回去
不过我选的第二种。。




你以为又结束了?
没错,我也觉得结束了。我修改了10个调用这个函数的地址,基本可以科技全开了
但是修改到第十几个的时候,发现了游戏消息循环的下一层call也调用了这个(这个位置我之前做过标记,所以一眼就能看出来)这是一个令人振奋的消息,因为修改这里很可能就相当于修改了全部
TIM截图20190520190645.png
这是一个很大的jnz,直接跳过了很多内容,这些内容通过分析,发现居然是循环删除不可建造的!!
[Asm] 纯文本查看 复制代码
006AA790  |> \8B0D 4C3DA800 |mov ecx,dword ptr ds:[0xA83D4C]
006AA796  |.  8B06          |mov eax,dword ptr ds:[esi]
006AA798  |.  3B81 64020000 |cmp eax,dword ptr ds:[ecx+0x264]
006AA79E  |.  73 16         |jnb short gamemd.006AA7B6
006AA7A0  |.  8B89 58020000 |mov ecx,dword ptr ds:[ecx+0x258]
006AA7A6  |.  8B1481        |mov edx,dword ptr ds:[ecx+eax*4]
006AA7A9  |.  33C0          |xor eax,eax                             ;  kernel32.BaseThreadInitThunk
006AA7AB  |.  8A42 6D       |mov al,byte ptr ds:[edx+0x6D]
006AA7AE  |.  3BC7          |cmp eax,edi
006AA7B0  |.  0F85 B2020000 |jnz gamemd.006AAA68
006AA7B6  |>  8B4424 2C     |mov eax,dword ptr ss:[esp+0x2C]
006AA7BA  |.  3938          |cmp dword ptr ds:[eax],edi
006AA7BC  |.  0F84 BA000000 |je gamemd.006AA87C
006AA7C2  |.  8B4C24 18     |mov ecx,dword ptr ss:[esp+0x18]
006AA7C6  |.  33D2          |xor edx,edx                             ;  gamemd.<ModuleEntryPoint>
006AA7C8  |.  8A93 CE0C0000 |mov dl,byte ptr ds:[ebx+0xCCE]
006AA7CE  |.  8B01          |mov eax,dword ptr ds:[ecx]
006AA7D0  |.  8B0E          |mov ecx,dword ptr ds:[esi]
006AA7D2  |.  52            |push edx                                ;  gamemd.<ModuleEntryPoint>
006AA7D3  |.  51            |push ecx
006AA7D4  |.  50            |push eax                                ;  kernel32.BaseThreadInitThunk
006AA7D5  |.  A1 4C3DA800   |mov eax,dword ptr ds:[0xA83D4C]
006AA7DA  |.  6A 10         |push 0x10
006AA7DC  |.  8B48 30       |mov ecx,dword ptr ds:[eax+0x30]
006AA7DF  |.  51            |push ecx
006AA7E0  |.  8D8C24 880000>|lea ecx,dword ptr ss:[esp+0x88]
006AA7E7  |.  E8 84C1E1FF   |call gamemd.004C6970
006AA7EC  |.  813D C802A800>|cmp dword ptr ds:[0xA802C8],0x80
006AA7F6  |.  7D 53         |jge short gamemd.006AA84B
006AA7F8  |.  8B0D D002A800 |mov ecx,dword ptr ds:[0xA802D0]
006AA7FE  |.  8BF0          |mov esi,eax                             ;  kernel32.BaseThreadInitThunk
006AA800  |.  8D14C9        |lea edx,dword ptr ds:[ecx+ecx*8]
006AA803  |.  8D0C91        |lea ecx,dword ptr ds:[ecx+edx*4]
006AA806  |.  8DBC49 D402A8>|lea edi,dword ptr ds:[ecx+ecx*2+0xA802D>
006AA80D  |.  B9 1B000000   |mov ecx,0x1B
006AA812  |.  F3:A5         |rep movs dword ptr es:[edi],dword ptr d>
006AA814  |.  66:A5         |movs word ptr es:[edi],word ptr ds:[esi>
006AA816  |.  A4            |movs byte ptr es:[edi],byte ptr ds:[esi>
006AA817  |.  FF15 30157E00 |call dword ptr ds:[<&WINMM.timeGetTime>>;  winmm.timeGetTime
006AA81D  |.  8B0D D002A800 |mov ecx,dword ptr ds:[0xA802D0]
006AA823  |.  8B7424 10     |mov esi,dword ptr ss:[esp+0x10]
006AA827  |.  89048D 543AA8>|mov dword ptr ds:[ecx*4+0xA83A54],eax   ;  kernel32.BaseThreadInitThunk
006AA82E  |.  8B15 D002A800 |mov edx,dword ptr ds:[0xA802D0]
006AA834  |.  A1 C802A800   |mov eax,dword ptr ds:[0xA802C8]
006AA839  |.  42            |inc edx                                 ;  gamemd.<ModuleEntryPoint>
006AA83A  |.  83E2 7F       |and edx,0x7F
006AA83D  |.  40            |inc eax                                 ;  kernel32.BaseThreadInitThunk
006AA83E  |.  8915 D002A800 |mov dword ptr ds:[0xA802D0],edx         ;  gamemd.<ModuleEntryPoint>
006AA844  |.  A3 C802A800   |mov dword ptr ds:[0xA802C8],eax         ;  kernel32.BaseThreadInitThunk
006AA849  |.  33FF          |xor edi,edi
006AA84B  |>  8B4424 18     |mov eax,dword ptr ss:[esp+0x18]
006AA84F  |.  8B00          |mov eax,dword ptr ds:[eax]
006AA851  |.  83F8 07       |cmp eax,0x7
006AA854  |.  74 05         |je short gamemd.006AA85B
006AA856  |.  83F8 06       |cmp eax,0x6
006AA859  |.  75 21         |jnz short gamemd.006AA87C
006AA85B  |>  57            |push edi
006AA85C  |.  B9 E8F78700   |mov ecx,gamemd.0087F7E8
006AA861  |.  893D 8C098800 |mov dword ptr ds:[0x88098C],edi
006AA867  |.  893D 90098800 |mov dword ptr ds:[0x880990],edi
006AA86D  |.  C705 94098800>|mov dword ptr ds:[0x880994],-0x1
006AA877  |.  E8 74E3DFFF   |call gamemd.004A8BF0
006AA87C  |>  3BDF          |cmp ebx,edi
006AA87E  |.  0F84 AD000000 |je gamemd.006AA931
006AA884  |.  8A8B CE0C0000 |mov cl,byte ptr ds:[ebx+0xCCE]
006AA88A  |.  8B13          |mov edx,dword ptr ds:[ebx]
006AA88C  |.  57            |push edi
006AA88D  |.  51            |push ecx
006AA88E  |.  8BCB          |mov ecx,ebx
006AA890  |.  FF52 2C       |call dword ptr ds:[edx+0x2C]
006AA893  |.  8B0D 4C3DA800 |mov ecx,dword ptr ds:[0xA83D4C]
006AA899  |.  50            |push eax                                ;  kernel32.BaseThreadInitThunk
006AA89A  |.  E8 715CE5FF   |call gamemd.00500510
006AA89F  |.  85C0          |test eax,eax                            ;  kernel32.BaseThreadInitThunk
006AA8A1  |.  0F84 8A000000 |je gamemd.006AA931
006AA8A7  |.  8B0E          |mov ecx,dword ptr ds:[esi]
006AA8A9  |.  8B5424 18     |mov edx,dword ptr ss:[esp+0x18]
006AA8AD  |.  33C0          |xor eax,eax                             ;  kernel32.BaseThreadInitThunk
006AA8AF  |.  8A83 CE0C0000 |mov al,byte ptr ds:[ebx+0xCCE]
006AA8B5  |.  50            |push eax                                ;  kernel32.BaseThreadInitThunk
006AA8B6  |.  8B02          |mov eax,dword ptr ds:[edx]
006AA8B8  |.  51            |push ecx
006AA8B9  |.  8B0D 4C3DA800 |mov ecx,dword ptr ds:[0xA83D4C]
006AA8BF  |.  50            |push eax                                ;  kernel32.BaseThreadInitThunk
006AA8C0  |.  6A 2E         |push 0x2E
006AA8C2  |.  8B51 30       |mov edx,dword ptr ds:[ecx+0x30]
006AA8C5  |.  8D8C24 F40000>|lea ecx,dword ptr ss:[esp+0xF4]
006AA8CC  |.  52            |push edx                                ;  gamemd.<ModuleEntryPoint>
006AA8CD  |.  E8 9EC0E1FF   |call gamemd.004C6970
006AA8D2  |.  813D C802A800>|cmp dword ptr ds:[0xA802C8],0x80
006AA8DC  |.  7D 53         |jge short gamemd.006AA931
006AA8DE  |.  8B0D D002A800 |mov ecx,dword ptr ds:[0xA802D0]
006AA8E4  |.  8BF0          |mov esi,eax                             ;  kernel32.BaseThreadInitThunk
006AA8E6  |.  8D14C9        |lea edx,dword ptr ds:[ecx+ecx*8]
006AA8E9  |.  8D0C91        |lea ecx,dword ptr ds:[ecx+edx*4]
006AA8EC  |.  8DBC49 D402A8>|lea edi,dword ptr ds:[ecx+ecx*2+0xA802D>
006AA8F3  |.  B9 1B000000   |mov ecx,0x1B
006AA8F8  |.  F3:A5         |rep movs dword ptr es:[edi],dword ptr d>
006AA8FA  |.  66:A5         |movs word ptr es:[edi],word ptr ds:[esi>
006AA8FC  |.  A4            |movs byte ptr es:[edi],byte ptr ds:[esi>
006AA8FD  |.  FF15 30157E00 |call dword ptr ds:[<&WINMM.timeGetTime>>;  winmm.timeGetTime
006AA903  |.  8B0D D002A800 |mov ecx,dword ptr ds:[0xA802D0]
006AA909  |.  8B7424 10     |mov esi,dword ptr ss:[esp+0x10]
006AA90D  |.  89048D 543AA8>|mov dword ptr ds:[ecx*4+0xA83A54],eax   ;  kernel32.BaseThreadInitThunk
006AA914  |.  8B15 D002A800 |mov edx,dword ptr ds:[0xA802D0]
006AA91A  |.  A1 C802A800   |mov eax,dword ptr ds:[0xA802C8]
006AA91F  |.  42            |inc edx                                 ;  gamemd.<ModuleEntryPoint>
006AA920  |.  83E2 7F       |and edx,0x7F
006AA923  |.  40            |inc eax                                 ;  kernel32.BaseThreadInitThunk
006AA924  |.  8915 D002A800 |mov dword ptr ds:[0xA802D0],edx         ;  gamemd.<ModuleEntryPoint>
006AA92A  |.  A3 C802A800   |mov dword ptr ds:[0xA802C8],eax         ;  kernel32.BaseThreadInitThunk
006AA92F  |.  33FF          |xor edi,edi
006AA931  |>  8B4C24 30     |mov ecx,dword ptr ss:[esp+0x30]
006AA935  |.  3BCF          |cmp ecx,edi
006AA937  |.  7E 64         |jle short gamemd.006AA99D
006AA939  |.  8B4424 1C     |mov eax,dword ptr ss:[esp+0x1C]
006AA93D  |.  8BD1          |mov edx,ecx
006AA93F  |>  8B08          |/mov ecx,dword ptr ds:[eax]
006AA941  |.  8B1E          ||mov ebx,dword ptr ds:[esi]
006AA943  |.  3BCB          ||cmp ecx,ebx
006AA945  |.  75 50         ||jnz short gamemd.006AA997
006AA947  |.  8B48 04       ||mov ecx,dword ptr ds:[eax+0x4]
006AA94A  |.  8B5E 04       ||mov ebx,dword ptr ds:[esi+0x4]
006AA94D  |.  3BCB          ||cmp ecx,ebx
006AA94F  |.  75 46         ||jnz short gamemd.006AA997
006AA951  |.  8B0D 84EDA800 ||mov ecx,dword ptr ds:[0xA8ED84]
006AA957  |.  897C24 34     ||mov dword ptr ss:[esp+0x34],edi
006AA95B  |.  897C24 38     ||mov dword ptr ss:[esp+0x38],edi
006AA95F  |.  897C24 3C     ||mov dword ptr ss:[esp+0x3C],edi
006AA963  |.  897C24 40     ||mov dword ptr ss:[esp+0x40],edi
006AA967  |.  897C24 48     ||mov dword ptr ss:[esp+0x48],edi
006AA96B  |.  894C24 50     ||mov dword ptr ss:[esp+0x50],ecx
006AA96F  |.  897C24 58     ||mov dword ptr ss:[esp+0x58],edi
006AA973  |.  897C24 5C     ||mov dword ptr ss:[esp+0x5C],edi
006AA977  |.  B9 0D000000   ||mov ecx,0xD
006AA97C  |.  8D7424 34     ||lea esi,dword ptr ss:[esp+0x34]
006AA980  |.  8BF8          ||mov edi,eax                            ;  kernel32.BaseThreadInitThunk
006AA982  |.  C64424 4C 00  ||mov byte ptr ss:[esp+0x4C],0x0
006AA987  |.  C74424 60 010>||mov dword ptr ss:[esp+0x60],0x1
006AA98F  |.  F3:A5         ||rep movs dword ptr es:[edi],dword ptr >
006AA991  |.  8B7424 10     ||mov esi,dword ptr ss:[esp+0x10]
006AA995  |.  33FF          ||xor edi,edi
006AA997  |>  83C0 34       ||add eax,0x34
006AA99A  |.  4A            ||dec edx                                ;  gamemd.<ModuleEntryPoint>
006AA99B  |.^ 75 A2         |\jnz short gamemd.006AA93F
006AA99D  |>  8B45 54       |mov eax,[arg.20]
006AA9A0  |.  83F8 01       |cmp eax,0x1
006AA9A3  |.  7E 29         |jle short gamemd.006AA9CE
006AA9A5  |.  8B4C24 28     |mov ecx,dword ptr ss:[esp+0x28]
006AA9A9  |.  8D50 FF       |lea edx,dword ptr ds:[eax-0x1]
006AA9AC  |.  3BCA          |cmp ecx,edx                             ;  gamemd.<ModuleEntryPoint>
006AA9AE  |.  7D 1E         |jge short gamemd.006AA9CE
006AA9B0  |.  8D0C40        |lea ecx,dword ptr ds:[eax+eax*2]
006AA9B3  |.  8D1488        |lea edx,dword ptr ds:[eax+ecx*4]
006AA9B6  |.  8B4424 24     |mov eax,dword ptr ss:[esp+0x24]
006AA9BA  |.  C1E2 02       |shl edx,0x2
006AA9BD  |.  2BD0          |sub edx,eax                             ;  kernel32.BaseThreadInitThunk
006AA9BF  |.  8B4424 20     |mov eax,dword ptr ss:[esp+0x20]
006AA9C3  |.  52            |push edx                                ;  gamemd.<ModuleEntryPoint>
006AA9C4  |.  50            |push eax                                ;  kernel32.BaseThreadInitThunk
006AA9C5  |.  56            |push esi
006AA9C6  |.  E8 C5F61100   |call gamemd.007CA090
006AA9CB  |.  83C4 0C       |add esp,0xC
006AA9CE  |>  8B45 54       |mov eax,[arg.20]
006AA9D1  |.  C64424 16 01  |mov byte ptr ss:[esp+0x16],0x1
006AA9D6  |.  48            |dec eax                                 ;  kernel32.BaseThreadInitThunk
006AA9D7  |.  C64424 17 01  |mov byte ptr ss:[esp+0x17],0x1
006AA9DC  |.  8D0C40        |lea ecx,dword ptr ds:[eax+eax*2]
006AA9DF  |.  8D1488        |lea edx,dword ptr ds:[eax+ecx*4]
006AA9E2  |.  8D4C95 00     |lea ecx,dword ptr ss:[ebp+edx*4]
006AA9E6  |.  8D5440 06     |lea edx,dword ptr ds:[eax+eax*2+0x6]
006AA9EA  |.  8979 64       |mov dword ptr ds:[ecx+0x64],edi
006AA9ED  |.  8979 58       |mov dword ptr ds:[ecx+0x58],edi
006AA9F0  |.  8D4490 02     |lea eax,dword ptr ds:[eax+edx*4+0x2]
006AA9F4  |.  8979 5C       |mov dword ptr ds:[ecx+0x5C],edi
006AA9F7  |.  8979 60       |mov dword ptr ds:[ecx+0x60],edi
006AA9FA  |.  8D59 74       |lea ebx,dword ptr ds:[ecx+0x74]
006AA9FD  |.  897C85 00     |mov dword ptr ss:[ebp+eax*4],edi
006AAA01  |.  8979 6C       |mov dword ptr ds:[ecx+0x6C],edi
006AAA04  |.  A1 84EDA800   |mov eax,dword ptr ds:[0xA8ED84]
006AAA09  |.  33D2          |xor edx,edx                             ;  gamemd.<ModuleEntryPoint>
006AAA0B  |.  8903          |mov dword ptr ds:[ebx],eax              ;  kernel32.BaseThreadInitThunk
006AAA0D  |.  8B4424 6C     |mov eax,dword ptr ss:[esp+0x6C]
006AAA11  |.  89B9 80000000 |mov dword ptr ds:[ecx+0x80],edi
006AAA17  |.  8943 04       |mov dword ptr ds:[ebx+0x4],eax          ;  kernel32.BaseThreadInitThunk
006AAA1A  |.  8953 08       |mov dword ptr ds:[ebx+0x8],edx          ;  gamemd.<ModuleEntryPoint>
006AAA1D  |.  8B5C24 28     |mov ebx,dword ptr ss:[esp+0x28]
006AAA21  |.  8B5424 24     |mov edx,dword ptr ss:[esp+0x24]
006AAA25  |.  89B9 88000000 |mov dword ptr ds:[ecx+0x88],edi
006AAA2B  |.  8B45 54       |mov eax,[arg.20]
006AAA2E  |.  B9 34000000   |mov ecx,0x34
006AAA33  |.  48            |dec eax                                 ;  kernel32.BaseThreadInitThunk
006AAA34  |.  4B            |dec ebx
006AAA35  |.  2BD1          |sub edx,ecx
006AAA37  |.  8945 54       |mov [arg.20],eax                        ;  kernel32.BaseThreadInitThunk
006AAA3A  |.  8B4424 2C     |mov eax,dword ptr ss:[esp+0x2C]
006AAA3E  |.  895C24 28     |mov dword ptr ss:[esp+0x28],ebx
006AAA42  |.  8B5C24 18     |mov ebx,dword ptr ss:[esp+0x18]
006AAA46  |.  895424 24     |mov dword ptr ss:[esp+0x24],edx         ;  gamemd.<ModuleEntryPoint>
006AAA4A  |.  8B5424 20     |mov edx,dword ptr ss:[esp+0x20]
006AAA4E  |.  2BC1          |sub eax,ecx
006AAA50  |.  2BD9          |sub ebx,ecx
006AAA52  |.  2BD1          |sub edx,ecx
006AAA54  |.  C645 3C 01    |mov byte ptr ss:[ebp+0x3C],0x1
006AAA58  |.  894424 2C     |mov dword ptr ss:[esp+0x2C],eax         ;  kernel32.BaseThreadInitThunk
006AAA5C  |.  895C24 18     |mov dword ptr ss:[esp+0x18],ebx
006AAA60  |.  895424 20     |mov dword ptr ss:[esp+0x20],edx         ;  gamemd.<ModuleEntryPoint>
006AAA64  |.  2BF1          |sub esi,ecx


!!!!!
靠,为什么我一开始分析的时候想不到从游戏主循环这里下手???一层就能分析到这!!
立刻jnz改成jmp,完美了!只需要科技全开一次,本次游戏就可以永久保留科技等级了!!!




你以为这就结束了吗??
这还真就结束了。。



科技全开在红色警戒战网对战可用,所以请不要用于商业用途(上次发的居然有人用于商业用途,一个外挂100块钱,是谁我就不点名说了)。用于商业用途请自己承担所有责任。
从本论坛下载的内容仅供交流学习,请在下载后24小时内删除,请勿用于商业用途,否则后果自负
相关视频:https://space.bilibili.com/251535501
TIM截图20190519110354.png

点评

牛 逼, 大神厉害!  发表于 2019-5-21 14:37

免费评分

参与人数 288吾爱币 +287 热心值 +261 收起 理由
xiaobeis500c + 1 + 1 这就厉害了
青苏之恋 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
以朋 + 1 鼓励转贴优秀软件安全工具和文档!
Red丶Find + 1 + 1 我很赞同!
tljwx + 1 谢谢@Thanks!
swts + 1 + 1 谢谢@Thanks!
slym + 1 + 1 我很赞同!
0025k + 1 + 1 用心讨论,共获提升!
无际 + 1 + 1 谢谢@Thanks!
ybjyzgj + 1 + 1 用心讨论,共获提升!
lqlzy0001 + 1 + 1 用心讨论,共获提升!
ufoxshang + 1 + 1 你才是真正的大神
KONZEAY + 1 + 1 谢谢@Thanks!
大粥 + 1 鼓励转贴优秀软件安全工具和文档!
dasha + 1 + 1 谢谢@Thanks!
langren425 + 1 + 1 谢谢@Thanks!
weiyan88 + 1 + 1 我很赞同!
wjxxl419 + 1 + 1 热心回复!
繁哥霸气 + 1 + 1 这还真的有用!
ysa无语 + 1 + 1 热心回复!
Jz957 + 1 我很赞同!
zhangchang + 1 厉害?
zhuyan9851 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
風嵐 + 1 + 1 学习
applo + 1 + 1 用心讨论,共获提升!
gtp_ + 1 + 1 用心讨论,共获提升!
清璇 + 1 + 1 厉害&amp;#128077;&amp;#127999;
紫木莫殇 + 1 + 1 谢谢@Thanks!
Xenocider + 1 + 1 用心讨论,共获提升!
MH409 + 1 + 1 谢谢@Thanks!看得我眼花缭乱,但是好厉害
yangchuang + 1 + 1 谢谢
4599773 + 1 + 1 厉害厉害
鱼鱼155 + 1 + 1 谢谢@Thanks!
刘郝聪明 + 2 + 1 假装看懂!然后开起了外挂玩起了我电脑里的单机红警哈哈哈
夜阑枫 + 1 + 1 热心回复!
z279487447 + 1 为探索精神点赞
qqhardys + 1 + 1 用心讨论,共获提升!
guoruihotel + 1 + 1 谢谢@Thanks!
wsyss + 1 + 1 谢谢@Thanks!
heikaer + 1 + 1 学习了!!
王怪怪 + 1 + 1 热心回复!
wxbyff + 1 谢谢@Thanks!
q8909742 + 1 + 1 我很赞同!
HLYM + 1 + 1 我很赞同!
Kings_jk + 1 我很赞同!
hwx920301 + 1 + 1
qdlxcc + 1 + 1 我很赞同!
梦迪路法 + 1 + 1 我很赞同!
羊村你喜爹 + 1 + 1 热心回复!
wyk1996 + 1 我很赞同!
yuy0123 + 1 + 1 谢谢
gaoyupeng125 + 1 我很赞同!
今晚小可爱 + 1 谢谢@Thanks!
一乐大师 + 1 + 1 热心回复!
china_wuying + 1 + 1 大神啊
kwong + 1 + 1 谢谢@Thanks!
jiluofu1992 + 1 好强大,被震惊了。回去试试,这会可以吊打我的对手了。谢谢大佬。
ikie3345 + 1 + 1 热心回复!
zuijiahouwei + 1 + 1 我很赞同!
ievampire + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
吾爱牛逼 + 1 + 1 我很赞同!
jx1101 + 1 + 1 我很赞同!
aironicl + 1 看了好多贴,都看不懂在干嘛。好歹这个是熟悉的游戏了,hh。真厉害!!
飞行堡垒 + 1 + 1 虽然没看懂,但感觉是很厉害的样子!赞
WAPJ2800904 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
lijianhu + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Leoken + 1 谢谢@Thanks!
樊洋昊 + 1 + 1 谢谢@Thanks!
ZHANGtao6344863 + 1 + 1 我很赞同!
kuanglong1985 + 1 我很赞同!
非也非仔 + 1 + 1 热心回复!
泠花葉落 + 1 + 1 我很赞同!
李华 + 1 + 1 谢谢@Thanks!
快乐的飞翔 + 1 + 1 我很赞同!
onedai18 + 1 用心讨论,共获提升!
k123258 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
44638168 + 1 + 1 虽然看不懂,但是要支持
孤霜情冷点朱砂 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Jeak + 1 + 1 谢谢@Thanks!
ls888888 + 1 + 1 我很赞同!
littleprince + 1 + 1 我很赞同!
Avenshy + 1 + 1 谢谢@Thanks!
非常有钱 + 1 + 1 我假装能看懂 然后就这么看完了。。。。
WA丶Jerry + 1 + 1 大佬最好不要放出成品,这TM的有想拿来赚钱来的太多了
Stupido + 1 + 1 用心讨论,共获提升!
菜鸟X科技 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
cxljava + 1 + 1 热心回复!
youhen233 + 1 + 1 谢谢@Thanks!
吾爱无风 + 1 路过,支持点赞。1.可以实现建造所有其他所有与游戏关系不大的素材吗?如其.
triender + 1 用心讨论,共获提升!
黑色魔方 + 1 + 1 大神,还缺腿毛吗?
mochu + 1 + 1 热心回复!
TongLing + 1 + 1 我很赞同!
六芒星的说 + 1 + 1 热心回复!
franklizz + 1 热心回复!
laomo123 + 1 + 1 用心讨论,共获提升!
91www + 1 谢谢@Thanks!
识趣灬 + 1 + 1 谢谢@Thanks!
FakeCracker + 2 + 1 竟然仔细的看完了
朱朱丶丶 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

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

bbsokok 发表于 2019-5-19 12:05
有下载直接用的吗?
人善最美丽 发表于 2019-5-20 15:35
xwk 发表于 2019-5-19 18:39
单机模式下,只有玩家有超武,电脑没有

你怕是没有玩过红警吧~~
 楼主| KaQqi 发表于 2019-5-19 11:26
本帖最后由 KaQqi 于 2019-5-21 18:05 编辑

从本论坛下载的内容仅供交流学习,请在下载后24小时内删除,请勿用于商业用途,否则后果自负


建筑物代码相关资料我会以其他形式上传
 楼主| KaQqi 发表于 2019-5-19 11:57
苏紫方璇 发表于 2019-5-19 11:47
膜拜大神,大神好厉害,看完大神的帖子终于可以完爆1v7超武冷酷了

表示我不开挂就能1v7冷酷23333

点评

哈哈哈,我北极圈炸桥最擅长了  详情 回复 发表于 2022-3-19 10:04

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
ZCH584 + 1 + 1 人家说的是1V7带超级武器的冷酷,话说就算不带超级武器,我也只有北极圈这.

查看全部评分

shqvc 发表于 2019-5-19 20:02
KaQqi 发表于 2019-5-19 11:57
表示我不开挂就能1v7冷酷23333

我除了有桥的  可以断桥来做的  基本上玩不过1V7  把你改的这个发上来  我们也玩一下呗
苏紫方璇 发表于 2019-5-19 11:47
膜拜大神,大神好厉害,看完大神的帖子终于可以完爆1v7超武冷酷了

点评

苏紫姐姐 除了不发帖,哪都有你,嘻嘻  详情 回复 发表于 2019-5-21 13:28

免费评分

参与人数 1吾爱币 +3 热心值 +1 收起 理由
KaQqi + 3 + 1 我能在几乎所有地图不开挂打败7冷酷2333

查看全部评分

zhaotianss 发表于 2019-5-19 11:39
单机是不是可以1挑8了
涛之雨 发表于 2019-5-19 12:02
KaQqi 发表于 2019-5-19 11:26
从本论坛下载的内容仅供交流学习,请在下载后24小时内删除,请勿用于商业用途,否则后果自负

我好想明白有什么深层含义了。
我是不是知道的太多了?
大神给点封口费吧。

免费评分

参与人数 1热心值 +1 收起 理由
KaQqi + 1 想得美

查看全部评分

 楼主| KaQqi 发表于 2019-5-19 12:06
bbsokok 发表于 2019-5-19 12:05
有下载直接用的吗?

没有了。。上次外挂泛滥了,本来ra2ol平台没有外挂。。
bbsokok 发表于 2019-5-19 12:08
可惜了,我就喜欢单机玩而已
涛之雨 发表于 2019-5-19 12:17
KaQqi 发表于 2019-5-19 12:06
没有了。。上次外挂泛滥了,本来ra2ol平台没有外挂。。

。。。我寄几和寄几玩是吧。。。。
楼主可真皮。。。。
攻防转换。。好快啊。。。

免费评分

参与人数 1热心值 +1 收起 理由
KaQqi + 1 hhhhhhhhhhhhhhhhhhhhhhh

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-12-22 10:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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