我編寫了一個程序來列出所有由命令執行的系統調用(比如/ bin/ls)。現在我試圖做的是找到所有的系統調用參數,環境變量,命令行參數可能會傳遞給它
使用ptrace進行系統調用跟蹤
例如:如果我打開一個文件。系統調用sys_access會打開文件嗎?但是如何獲得這些價值?
想要對系統調用進行打開,讀取,寫入,關閉等操作。
根據我的研究,這些必須在寄存器(ebx - edx)如果是這些寄存器值是什麼意思? 我收到了這個link。
但我真的無法從那裏得到很多。此外,任何進一步的參考將是非常有用的。
這是否有幫助:http://lxr.free-electrons.com/source/include/linux/syscalls.h – dbrank0 2012-03-19 11:42:01
@ dbrank0:非常感謝。它確實有幫助。但我還有一個問題。 我剛纔的程序的輸出是這樣的 'code'SYSCALL 33:EBX:ECX 004c48de:00000000 EDX:004c8ff4 /接入 RETURN 33:FFFFFFFE 這個值是十六進制。那我該如何理解它呢?我是一個noob程序員。對不起,我的無知 – 2012-03-19 11:50:26
文件名存儲在0x4c48de,模式爲0(請參閱模式標誌定義),edx是不相關的,包含未定義的東西,返回值是-2(它抱怨只讀文件系統)。 – dbrank0 2012-03-19 12:08:34