外挂学习之路(4)--- 大海捞针找call call const法
bp send 找call法相當流行和實用,然而很多游戲都是發包線程和調用線程不在同一個線程里面,從而導致這個方法只能回溯到循環發包里面,無法再向上回溯,而且在這里模擬調用call總是達不到預想效果,那么有沒有其他的找call方式啊,答案是有的,今天說說一種比較笨但是很通用的方法,大海撈針找call法。
先普及一下call的兩種分法:間接call和直接call
間接call是指call 后面沒有跟直接地址而是跟的變量,比如call eax等等 直接call是指call 后面跟的是直接地址而不是跟的變量,比如call 00402869等等我們知道我們找call肯定是找的直接call,遇見間接call一般直接跳過,那么能否在所有直接call上面下斷點呢,可以的,方式如下
我們都知道在反匯編窗口里面可以右鍵找匯編命令,我們只需查找所有命令,然后輸入 call const就可以找到該模塊內所有直接call,注意是該模塊內,先找到主進程空間,再找即可,
然后在尋找結果上面給所有結果下斷點,接下去排查即可。其實排查也不是那么簡單的,這樣搜索出來的call一般游戲會有幾十萬甚至上百萬個。
排查思路,
1.??????先打開所有斷點,去掉所有游戲無任何操作就端下來的斷點
2.??????在游戲里面隨便走一下,去掉所有端下來的斷點(假設暫不找和走路相關的call)
3.??????進行想找call的功能操作一下,比如嗑藥
4.??????端下來的一般就是想找的call
?
實踐中的困惑和麻煩:
1.??????有的斷點只要一打開游戲立即死掉,并切這樣的斷點還不少,不容易排掉這些斷點
?
雖然實施上有一定困難,但也是一種思路,解除掉困難即可,先做筆記記錄下來吧。
另外,搜索所有間接call就搜索call r32
總結
以上是生活随笔為你收集整理的外挂学习之路(4)--- 大海捞针找call call const法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 外挂学习之路(3)--- 内存遍历工具
- 下一篇: 外挂学习之路(5)--- 写测试call