zhgang908 发表于 2019-11-24 20:33

红警 穿墙 穿建筑 穿河流 逆向

本帖最后由 zhgang908 于 2019-11-24 20:58 编辑

先上一张效果图


首先用ce 找坦克的所在地图位置


为了方便确定坦克的位置,我设置了如下图碍,及找到具体的坐标体第对应点 正中的位置就是24A0


正中的位置就是24A0的八个方向0# 249f   1#259f   2#25a03#25a14#24a15#23a16#23a0 7#239f
方向指示图


ce找出目的地坐标   [+564]+30此处到行进时给出目的地标,到达后置0.
找出谁改写了这个地方的值跟进。找出坦克行进的方向集的call 0042aed0


进入 找到24a0 周围8个方距离 目的也的距离集(浮点数)call 00427d40


在浮点数上断。发现是 00427E7E处算出的距离
00427E7E|.D95E 08       fstp dword ptr ds:            ;算出距离 写出eis+8距离2查看浮点数组



ok 着重分析 00427E7E|.D95E 08       fstp dword ptr ds:
发现如果周围不能走则此处给出一个较大的值,找到前面的call
00427831|.FF92 94010000 ||call dword ptr ds:          ;判断这个点的通断性
如果 返回值 eax=0 就可以给出很的小距离值了 可以达到穿墙的目的


进入00427831|.FF92 94010000 ||call dword ptr ds:          ;判断这个点的通断性
分析及改变返回值就可以达到穿墙 穿建筑 穿河流
具体变更:
过河改动3处
第一处
原型
006F7E5C   .5E            pop esi
006F7E5D   .5D            pop ebp
006F7E5E   .5B            pop ebx
006F7E5F   .83C4 70       add esp,0x70
006F7E62   .C2 1400       retn 0x14
006F7E65      8B43 44       mov eax,dword ptr ds:          ;地图数组指定单位 +44状态标识jmp 01d70068
006F7E68      83F8 FF       cmp eax,-0x1                           ;不可走 eax=-2可走eax==ffffffff
006F7E6B      0F84 FC000000 je game.006F7F6D                         ;1 可走。这就跳 了   不能走就不跳
006F7E71   .8B0D FCE0A100 mov ecx,dword ptr ds:
006F7E77   .8B3481      mov esi,dword ptr ds:
006F7E7A   .8A86 7A020000 mov al,byte ptr ds:

修改
006F7E5C   .5E            pop esi
006F7E5D   .5D            pop ebp
006F7E5E   .5B            pop ebx
006F7E5F   .83C4 70       add esp,0x70
006F7E62   .C2 1400       retn 0x14
006F7E65    - E9 FE816701   jmp 01D70068                           ;   jmp 01d70068
006F7E6A      90            nop
006F7E6B      0F84 FC000000 je game.006F7F6D                         ;
006F7E71   .8B0D FCE0A100 mov ecx,dword ptr ds:
006F7E77   .8B3481      mov esi,dword ptr ds:
006F7E7A   .8A86 7A020000 mov al,byte ptr ds:

改 jmp 01d70068
01D70068    B8 FFFFFFFF   mov eax,-0x1            此处修改 为-1 代表此处没有围墙
01D7006D    83F8 FF         cmp eax,-0x1
01D70070- E9 F67D98FE   jmp game.006F7E6B
01D70075    0000            add byte ptr ds:,al




第二处

原型
006F7F88   .^\7D E3         jge Xgame.006F7F6D
006F7F8A   .BF 05000000   mov edi,0x5
006F7F8F   .^ EB D5         jmp Xgame.006F7F66
006F7F91      8BB3 E4000000 mov esi,dword ptr ds:          ;此位置上的建筑指针
006F7F97   >85F6          test esi,esi                           ;0BBB8240
006F7F99   .0F84 E3040000 je game.006F8482                         ;1可走如果是建筑这就不跳了
006F7F9F   >3BEE          cmp ebp,esi

修改为
006F7F88   .^\7D E3         jge Xgame.006F7F6D
006F7F8A   .BF 05000000   mov edi,0x5
006F7F8F   .^ EB D5         jmp Xgame.006F7F66
006F7F91      33F6          xor esi,esi                              ;此位置上的建筑指针清空
006F7F93      90            nop
006F7F94      90            nop
006F7F95      90            nop
006F7F96      90            nop
006F7F97   >85F6          test esi,esi                           ;0BBB8240
006F7F99   .0F84 E3040000 je game.006F8482                         ;1可走如果是建筑这就不跳了
006F7F9F   >3BEE          cmp ebp,esi


第三处
原型
006F847C   .^\0F85 1DFBFFFF jnz game.006F7F9F
006F8482   >8A4424 11   mov al,byte ptr ss:
006F8486   .84C0          test al,al
006F8488   .0F85 98010000 jnz game.006F8626
006F848E      8B83 EC000000 mov eax,dword ptr ds:          ; 的值是7 建筑 6 边界2 水1 可走
006F8494   .8B95 AC050000 mov edx,dword ptr ss:
006F849A   .8D0CC0      lea ecx,dword ptr ds:
006F849D   .8B82 A4050000 mov eax,dword ptr ds:

修改后
006F847C   .^\0F85 1DFBFFFF jnz game.006F7F9F
006F8482   >8A4424 11   mov al,byte ptr ss:
006F8486   .84C0          test al,al
006F8488   .0F85 98010000 jnz game.006F8626
006F848E      B8 FFFFFFFF   mov eax,-0x1                           ; 的值修改为-1
006F8493      90            nop
006F8494   .8B95 AC050000 mov edx,dword ptr ss:
006F849A   .8D0CC0      lea ecx,dword ptr ds:
006F849D   .8B82 A4050000 mov eax,dword ptr ds:

至此更改完成。上分析数据(有点杂)

caller1 发表于 2019-11-24 21:34

强,对其他游戏都不感兴趣,只能玩玩红警,看到红警就涌起了怀旧的情绪

Hemingway2003 发表于 2019-11-25 09:30

以前家里配电脑就去网吧把红警考过来,然后开始很菜(后来还是很菜),至今都记得联合国那边第二关一个谭雅,不敢乱走,结果玩了四个多小时,上面显示一般通关时间是四十分钟{:1_907:}

枫叶物语 发表于 2019-11-24 21:11

还能下河洗澡厉害了

肖旷666 发表于 2019-11-24 20:43

虽然我看不懂 不过确实牛逼

空心 发表于 2019-11-24 20:47

大佬厉害。
cs有没有类似的操作

Laotu 发表于 2019-11-24 20:47

我到目前还没有解决win7红警局域网连接问题呢

清真大闸蟹 发表于 2019-11-24 20:53

强呀!好久没玩红警了

alyssachiafh 发表于 2019-11-24 20:54

虽然我看的不是特别明白,但是感谢楼主分享,学习了

好鸭 发表于 2019-11-24 21:04

穿墙很强

ruke 发表于 2019-11-24 21:26

好厉害,要怎么用?
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 红警 穿墙 穿建筑 穿河流 逆向