e支葉子傘bug
昨天去研究了一下e支保護傘的反彈坦克為什么和棧位有關,用專欄記錄下來(代碼太亂力(悲)我真的看不太懂啊?(;′Д`?)所以可能會有錯誤,有奆佬發(fā)現(xiàn)了可以告訴我)。 1.*zombies+14c
這個指針本來我是用來找僵王不吐球bug的,但是反匯編看了以后發(fā)現(xiàn)是小丑用了這個指針判斷數(shù)值563,沒有研究這個指針是干什么的,但是這里的判斷下面更改了*plants+d3指針使其循環(huán)
(d3指針的作用至3)
。(僵王14c的變動是因為這里沒有判斷僵王不變,可能是僵王不能吐球的修復地點之一。) 2.*plants+d7
在上述判斷小丑這段代碼下面,就是寫在子彈銷毀函數(shù)里用于判斷籃球消失召喚小丑的一段。在這里有一段偽遍歷(這段遍歷沒有最大植物數(shù),而是固定循環(huán)16進制的400次),遍歷中判斷了本行且小于153列的保護傘植物,下斷后得出這里讓保護傘的d7指針歸0來確定是否召喚小丑(可能是he對保護傘彈炸彈的修復),但是實測這里的d7并沒有在游戲內發(fā)揮作用(可能是因為強行賦值寄存器了新的植物指針),這導致了保護傘并不能完美防住導彈。 3.*plants+d3
在偽遍歷下面看到召喚小丑的同時改掉了植物的d3,并更改了小丑爆炸時間為1,實測讓植物d3指針強行歸0可以讓小丑不秒炸。 4.修復
在偽遍歷前段賦值eax為*board的地方用根據(jù)xy坐標取得列數(shù)call,取得行數(shù)call和原版尋找某格3*3范圍內最小編號保護傘call最后取得的eax值判斷并跳到遍歷尾即可修復問題。 5.雜項
我還發(fā)現(xiàn)e支是用判斷[740000]是否為1的方法確定是否讓僵尸豌豆子彈變?yōu)榛@球(也就是導彈),以此決定下一個僵尸豌豆子彈是不是發(fā)射的導彈(可能用于加農炮巨人或者潛水)。