❶ 找call時,下了bp wsasend 斷點,不管喊話,走路,找到的call都是一樣的,怎麼回事
我說兩句吧。。。其實網上的很多資料都是語焉不詳的,想搞清楚這個問題重要是你對網路程序的一個理解。對於網游來說,最主要的其實就是跟伺服器的通信。以你上面的打坐的例子為引,執行打坐命令,其實就是客戶端向伺服器發送了一個打坐請求封包。伺服器收到後,做了下判斷,角色當前沒有在戰斗狀態,可以打坐(假設戰斗狀態禁止打坐),然後回給客戶端一個包,告訴你,你的上訪請求,政府已經批准了,所以你就看見角色非常猥瑣地坐在了地上,五心向天。。。。。你上面描述的所謂bpsend找call,其實就是基於這個理論前提:網路游戲的核心動作是發包,其它都是"假動作"。對很多游戲來說,如果你自己偽造一個打坐的封包發給伺服器,在封包格式正確的情況下,打坐功能就會被正確觸發。。。所以你上面的2個疑惑就都可以有答案了:1、是的,斷在send處,程序還沒有向伺服器發送打坐請求的封包2、所謂的"關鍵call",就是發包的那個動作,所以你後面的一系列猜想都是錯的。你可以這樣理解:你只要把包發過去就Ok了,剩下的動作,客戶端自然會給你"表現"出來。有疑惑說明你實踐的不夠,自己搞的多了自然就清楚了。逆向是一個很有趣的領域,可惜大家都跑去做外掛去了。。。問題問的都這么有針對性。
❷ bp wsasend 怎樣過濾心跳包
用 wsasend 斷下後 在堆棧中可以看到包大小,用 bp wsasend [包大小地址]>包大小