上PTRACE(最近的5個問題是我的:()發佈了很多問題後,我終於得到了所需的輸出,當我更換ptrace(PTRACE_PEEKUSER)和ptrace(PTRACE_PEEKDATA)之間的區別?
reg_val [1] = ptrace的(PTRACE_PEEKDATA,兒童,4 * EBX ,NULL);
與
reg_val [1] = ptrace的(PTRACE_PEEKUSER,兒童,4 * EBX,NULL);
在手冊頁中提到的區別是這樣
- peektext在孩子的記憶位置地址讀一個字。
- peekuser在孩子的USER區域的offset addr處讀取一個單詞。
我無法從手冊頁單獨瞭解這種差異。任何人都可以在這方面進一步教育我嗎?
'PTRACE_PEEKDATA是用於像寄存器值和其他調試信息的東西。' 是不是ebx,ecx寄存器值:哦,我是這麼想的。通過註冊你是什麼意思? 'EIP'(指令指針)?? – 2012-03-21 12:04:41
抱歉的錯字。我糾正了它。 ** PTRACE_PEEKUSER **用於寄存器和** NOT ** ** PTRACE_PEEKDATA ** – 2012-03-21 12:08:26
您的最後一句話令我困惑(是否是錯字?)。你說peekdata是用於程序數據。與達特好。現在再說你說peekdata是寄存器!你是不是指peekuser? – 2012-03-21 12:10:26