如何在游戏中实现穿墙功能
在游戲中,很多地方都有障礙物,那么怎么才能越過障礙物快速進(jìn)行行走呢?
我們可以逆向分析它的障礙物判斷函數(shù),然后修改他的返回值或者直接jmp跳過檢測(cè)就可以實(shí)現(xiàn)障礙物的穿越了。
下面就來說說具體的思路:
.要怎么尋找障礙物判斷call?
可以通過其他的方法來進(jìn)行判斷,比如人物的坐標(biāo)來進(jìn)行判斷,首先找到人物坐標(biāo)的地址,然后通過CE下訪問了這個(gè)地點(diǎn)的地址,然后就在沒有障礙的時(shí)候就會(huì)調(diào)用某些代碼,而在有障礙的時(shí)候就無法走路,就不會(huì)調(diào)用到那些代碼。所以在這附近就一定有關(guān)于障礙物判斷的函數(shù)。
.要怎么修改代碼來實(shí)現(xiàn)穿過障礙物呢?
可以修改那個(gè)具體call的返回值,讓那個(gè)call返回值為沒有障礙物的返回值就可以實(shí)現(xiàn)了。
或者修改返回值后面的條件判斷,讓他jmp到指定的地點(diǎn)。
也可以在后面調(diào)用函數(shù)返回值的地方直接修改返回值的值就可以達(dá)到穿墻的效果了。
.那么一般的障礙物判斷的代碼是怎么樣的呢?
CALL XXXXXX
比較( test , cmp)等,比如test eax ,0x1
跳轉(zhuǎn)(jz jnz jmp)等。
只要在附近看到這樣的代碼,一般就是穿墻call的幾率就比較大,就可以值得分析一下
以上就是穿墻分析的具體思路了~~具體思路還是要看具體游戲來進(jìn)行分析了
總結(jié)
以上是生活随笔為你收集整理的如何在游戏中实现穿墙功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: marshal 和 unmarshal(
- 下一篇: mplus奇怪的点