1. 程式人生 > >逆向分析登錄檔特殊路徑解析

逆向分析登錄檔特殊路徑解析

  1. 研究背景: 在做登錄檔路徑解析時,會出現一些特殊路徑。
  2. 從經驗來看,作業系統執行這些特殊路徑的時候,肯定會進行一個搜尋操作。

 

3.開始->執行裡面輸入的命令,最終是由  explorer.exe程序中的 ShellExecuteEx  API 執行的。

 

4.ShellExecute(0,'open','cmd.exe',nil,nil,SW_NORMAL);這裡並沒有寫入 cmd.exe 的全路徑,但是這句程式碼執行後,同樣可以開啟一個 cmd 命令列視窗。

 

5.使用偵錯程式對 ShellExecute 內部彙編函式進行跟蹤。

 

 

 

6.到MSDN 上搜索 SearchPath 函式的資訊。

 

 

 

7.最終跟蹤出來的呼叫流程如下。

ShellExecuteW ->GetEnvironmentVariableW ->SearchPathW->CreateProcessW

 

總結:在解析之前,先獲得環境變數 GetEnvironmentVariable('path')

再使用 SearchPath 函式去搜索指定的檔案路徑即可。