[英]Read std::map<string, string> using ReadProcessMemory
我的意圖是從一個進程(間諜)讀取另一個進程(目標)的變量值。
我從目標進程中的大小為2的std :: map開始。
在間諜過程中,請執行以下步驟:
並成功閱讀地圖。 我確認讀取的地圖大小為2。但是,無法評估地圖的內容。 觀察每個字符串鍵/值對,以評估監視窗口中的錯誤。
為了確認我的步驟是否正確,我嘗試讀取整數變量而不是映射。 整數值可以成功檢索。
有什么建議可以幫助您檢索地圖的全部內容嗎?
映射對象除節點計數外,還包含指向節點的指針。 您還需要在這些指針上使用ReadProcessMemory
。 而且,如果您將節點內容讀取到進程地址空間中的其他地址,則需要更新節點指針。
如果您同時擁有這兩個應用程序,是否可以使用共享內存(CreateFileMapping / OpenFileMapping和MapViewOfFile)以更簡單的方式執行此操作? 然后,您可以使用特定於會話的互斥鎖來保護它,序列化映射,將其寫入共享內存,然后在更改時發出特定於會話的事件的信號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.