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