我是新來張貼在這些論壇上,但多次來到這裏爲我的編程幫助需求,並且通常能夠很容易地找到我的答案,但我擔心我可能會提出錯誤的問題或者很明顯,我只是看不到它,但這是我的問題。.Net C#ReadProcessMemory指針函數向後返回地址
我正在爲Quake製作我的第一個教練,我以爲我會從一個容易找到指針的遊戲開始,而不是通常具有2+級指針的其他遊戲。所以我通過Cheat引擎通過Quake並抓取我需要的所有指針,使我的GUI等,但有一個問題。我讀了我的第一個指針,它返回我需要向後地址:/
例子:
這裏是我的指針,我是從閱讀 - 006C5214
時讀它給了我這個地址 - 02BFD940
然後,我將偏移量48C添加到上面的地址,該地址指向包含我需要的值的02BFDDCC。
當我看到我的指針與ReadProcessMemory我得到正確的地址,除了它的倒退(端?)
我需要02BFD940 我得到40D9BF02
我用盡了一切我能想到的前後翻頁該命令並將其返回到IntPtr中,以便在我的ReadProcessMemory/WriteProcessMemory中使用。我可以按照我想要的順序翻轉它,因爲我的ReadProcessMemory給出了我的地址,如40-D9-BF-02,它很容易用Split(' - ')切成一個數組;
唯一的問題是,我完成分裂和重新排序後,我想要的方式是我無法設法將其轉換回IntPtr用於我的讀寫記憶功能。
我一直使用作弊引擎或反彙編程序編輯內存。這是我第一次嘗試一個完全有效的教練,任何對我的問題的幫助將非常感激。我已經嘗試在我的BitConverter上設置endian布爾值,但它是隻讀的:/
如果我完全錯過了一些東西,它就在我的面前,隨時可以打電話給我,並給我一記耳光頭xD我不介意。
-P.S.你們家的論壇真棒。
看來你相反的字節序獲取數據,如您懷疑。一個簡單的'Array.Reverse(byte [4]')應該可以做到。 – leppie
哦,這可能對未來有所幫助,謝謝。 – Tsproggy