[英]Manipulate Assembly Instructions
我想通過操作其匯編指令來“測試”C ++中的函數。 做這樣的事情最好的方法是什么?
我想一種方法是將它編譯或執行,然后由另一個程序啟動該.exe然后嘗試操作它。 如果被測功能有一個點仍然在運行但是等待某些東西(即用戶輸入)那么模擬器(啟動被測功能的程序)甚至不需要設置某種斷點。它。
如何啟動程序並操作其匯編指令?
更清楚的是:實際上是否可以編寫一個簡單的模擬器(設置斷點或沒有斷點的第一步),然后訪問正在運行的測試函數的內存來操作其匯編指令? 這將是一個非常小而簡單的大gdb版本。
編寫(和測試)C ++程序foo.cpp
編譯到asembly源代碼( g++ -Wall -S foo.cpp
- 輸出將是foo.s)
重復
修改foo.s
匯編foo.s( gcc foo.s
)
測試生成的可執行文件( ./a.out
或gdb ./a.out
)
直到完成
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.