【植物大战僵尸】调用降落阳光Call

思路

根据当前界面的阳光数量,寻找到降落阳光Call.

1.通过CE寻找当前界面阳光地址

1.1当前页面有1个阳光,搜索0-10

image-20220305184824861

image-20220305184959145

2.不点击阳光,等第二个阳光降落,依次类推。搜索增加了1

image-20220305185039559

3.得出当前阳光数量基址为006A7C64

image-20220305185619972

4.右击选中,点击找出什么访问了这个地址

5.等待阳光再次掉落。注意,阳光回收和掉落都会访问这个地址,所以分清楚,尽量卡阳光掉落的时候的有动态的指令。

image-20220305190646904

EAX=006A7C58
EBX=00000000
ECX=0000000E
EDX=0000000C
ESI=006A7C58
EDI=00000120
EBP=095C4830
ESP=0019F948
EIP=00471B5B

指针基址可能是 =006A7C58

00471B50 - call 00513570
00471B55 - mov esi,eax
00471B57 - add dword ptr [esi+0C],01       #重要代码
00471B5B - cmp dword ptr [esi],00
00471B5E - jne 00471B65

6.这里已经得到了阳光掉落信息之后,CE就的作用就达到了。通过OD找到这个地址,进行调试。

7.在OD中找到00471B57的位置

image-20220305194926222

8.通过到达Execute till returnstep over进行调试

image-20220305195051229

9.一点点的向外层Call寻找。

image-20220305195211888

image-20220305195241452

image-20220305195643057

10.在倒数第三层Call找到对应的方法,3个入参。

00413BE4  |> \6A 00         push 0x0                                 ; /Arg4 = 00000000
00413BE6  |.  50            push eax                                 ; |Arg3 = 00000004
00413BE7  |.  6A 3C         push 0x3C                                ; |Arg2 = 0000003C
00413BE9  |.  57            push edi                                 ; |Arg1 = 0000024C
00413BEA  |.  8BCE          mov ecx,esi                              ; |
00413BEC  |.  E8 1F8FFFFF   call PlantsVs.0040CB10                   ; \这里是下落阳光的Call

其中0x3C为X坐标edi是阳光的坐标。

image-20220305200429819

push 0
push 00000004
push 50
push 17H
mov ecx,1C275318
call 0040CB10

image-20220305200457637

猜你喜欢

转载自blog.csdn.net/qq_30285985/article/details/123301237