windows 子系統認識(2)

2022-07-16 03:21:10 字數 1003 閱讀 1498

環境:xp

為了看和子系統聯絡有多重要,我在kernel32.dll中,ida看了下引用,如下:

可以看出,這個通訊確實很重要。

其中createremotethread()函式的呼叫也需要呼叫通知子系統建立了執行緒(截圖未全顯示),**片段如下:

//

//call the windows server to let it know about the

//process.

//if ( !baserunninginserverprocess )

else}}

if (!nt_success(status))

else

if (!( dwcreationflags &create_suspended) )

}

1。首先看到status_no_memory,我想起了一些線索。網上有朋友說過在win7下建立遠端執行緒注入時,有時候會返回這個錯誤,貌似是說跨session的時候,暫且不說是什麼原因。

在這裡我們可以看到,只要lpc通訊失敗,返回值都會被設定為status_no_memory。

2。csrclientcallserver通訊過去後,其中的basesrv_serverdll_index指明使用了basesrv.dll提供的函式分發表。最後定位呼叫了basesrvcreatethread()函式

ida了下,basesrvcreatethread(),發現裡面只要是呼叫了下面幾個函式

csrlockprocessbyclientid

ntduplicateobject

最後又回到了csrsrv!csrcreatethread(),其實有不少函式最終的處理都是又跑回了csrsrv!模組的對應函式,如csrcreateprocess也是

csrcreatethread就是網上說的把建立出來的 執行緒/程序 啥的插入到全域性鍊錶的工作了。

Windows環境子系統

windows擁有乙個核心,多個子系統.window的環境子系統其實就是核心的client,核心為環境子系統提供服務.最早時設計了三個環境子系統,os 2,posix,windows.到今天windows作業系統中就只剩下了windows環境子系統了.windows的環境子系統的伺服器程序是csrs...

輸入子系統(1) 框架認識

入口函式 drivers input input.c input init err register chrdev input major,input input fops static const struct file operations input fops owner this modul...

Windows下的Linux子系統

windows subsystem for linux簡稱wsl,是乙個在windows 10上能夠執行原生linux二進位制可執行檔案 elf格式 的相容層。windows設定 更新和安全 開發者選項 啟用開發人員模式 控制面板 程式 啟用或關閉windows功能 適用於linux的windows...