<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式系統中進(jìn)程間通信的監視方法

嵌入式系統中進(jìn)程間通信的監視方法

作者: 時(shí)間:2016-10-08 來(lái)源:網(wǎng)絡(luò ) 收藏
                     else {  /* Syscall exit */
                         Syscall_entry = 0;
                     }
                 }
                 ptrace(PTRACE_SYSCALL, traced_process, NULL, NULL);
              } /* while */
 
                           return 0;
                      }  /* main */

被監視進(jìn)程的 trace 標志被激活后,它的每一次系統調用都會(huì )被內核檢查。我們程序也隨之被內核用信號通知。使用參數 PTRACE_GETREGS 的 ptrace() 將獲得截獲的系統調用的參數。最重要的參數是系統調用號。它保存在了 u_in.orig_eax 中。通過(guò)系統調用號,我們可以確定發(fā)生的是那一個(gè)系統調用。系統調用號可以在 Linux 的源代碼中查找。它的定義在 linux-source-2.6.xx/arch/x86/kernel/syscall_table_32.S 中。它的部分代碼如下所示:

本文引用地址:http://dyxdggzs.com/article/201610/305865.htm
            .long sys_fstatfs       /* 100 */
            .long sys_ioperm
            .long sys_socketcall
            .long sys_syslog

在這里,我們最關(guān)心的是 sendto 系統調用。在 Linux 的內核中, sendto 的真實(shí)入口是 socketcall 系統調用。它是 bind , sendto 等socket相關(guān)系統調用的入口。在這個(gè)系統調用中,通過(guò)一個(gè) call number來(lái)區分出 bind , sendto 等不同的子系統調用。在我們的程序中,這個(gè) call number 保存在 u_in.ebx 中。 從上面的 syscall_table_32.S 示例代碼就可以看出, socketcall 的系統調用號是102(從100向下數兩行)。而 call number 則在 net.h 有定義,我們關(guān)心的 sendto 的 call number 被定義為 SYS_SENDTO ,其絕對值為11。有了這兩個(gè)重要的數據,我們的程序據此判斷當前發(fā)生的系統調用是否為 sendto 。這一點(diǎn)表現為代碼:

             if (u_in.orig_eax == 102  u_in.ebx == SYS_SENDTO)                            
				
            
                
			
							

關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>