日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

外挂学习之路(5)--- 写测试call的注意事项

發布時間:2024/4/11 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 外挂学习之路(5)--- 写测试call的注意事项 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

找到常量call之后要先找個代碼注入工具測試一下是不是想要找的call,一般用CodeinEX這個工具。說下寫測試call的時候要注意到的細節,當然在寫代碼的時候也需要同樣的注意。

1.??????push數據的時候必須是常量,不能是類似push eax等類似代碼

2.??????注意堆棧平衡,加入call之前有4個push,call里面結尾如果有retn 0x10,call下邊一般沒有add esp,0x10這樣的call測試的時候直接調用call就可以了;相反如果call里面結尾如果沒有retn 0x10,call下邊一般有add esp,0x10這樣的call測試的時候要加上add esp,0x10

3.??????注意call的里面有沒有來自call外邊的寄存器的值,例如常見的ecx,eax。一般在C++程序里面會把類對象指針放在ecx里面,call的時候call里面的ecx值取自call外面的ecx值,一般的call的返回值會放在eax里面,如果call里面有取eax的值,在call外面尋找eax的值得時候要注意外面的call有無將返回值放在eax里面

4.??????push數據有時也有基地址的查找,例如push eax,這個時候要尋找eax的來源,例如eax來自[ebx+0x10],這是要接著尋找ebx的來源,ebx來自[edi+0x20],要一層以上找到最初始的常量,例如 push [[[[00401000+0x40]+0x30]+0x20]+0x10]

總結

以上是生活随笔為你收集整理的外挂学习之路(5)--- 写测试call的注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。