一级女人毛片人一女人-一级女性大黄生活片免费-一级女性全黄久久生活片-一级女性全黄生活片免费-国产美女在线一区二区三区-国产美女在线观看

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

在虛擬環境中使應用程序與Windows 7兼容(3)

發布時間:  2012/6/30 11:39:53
 應用程序與 Microsoft App-V 一起打包時,如何解決運行時兼容性問題?

還記得支持聲明中誘人的說法嗎?“App-V 將支持應用程序使用填充程序(這些填充程序是作為 Microsoft 的應用程序兼容性工具的組成部分提供的)....”實際上如何去實現這一點?這兩種程序是否基本上兼容?

令人高興的是,答案是肯定的。事實上,可以通過幾種不同的方式做到這一點。

填充程序簡要介紹

對于不熟悉填充程序的人來說,填充程序是 Microsoft 很少使用的四字母單詞之一,它不是某種縮寫詞。它以英語單詞“shim”(墊片)進行比喻,這是一個工程術語,用于描述插在兩個物體之間,使它們更好地配合在一起的木片或金屬片。在我們的特定環境下,兩個物體就是應用程序和 Windows,而墊片材料是使兩者更好地一起發揮作用的附加代碼,如圖 1 和 2 所示。
 

 

圖 1 應用填充程序之前,應用程序與 Windows 直接交互。

 

圖 2 應用填充程序之后,應用程序與 Windows 間接交互;填充程序代碼注入后,它可以修改向 Windows 發出的請求和/或來自 Windows 的響應。

填充程序的作用是通過 API 偵聽實現的。Windows API 是使用 DLL 集合實現的。每個針對 Windows 構建的應用程序都導入這些 DLL,并在內存中維護一個由所有這些功能的地址構成的表。因為 Windows 功能的地址位于一個表中,所以,填充程序引擎直接用填充程序 DLL 的地址替換該地址。應用程序通常不知道要將請求發送到填充程序 DLL 而不是發送到 Windows 本身,Windows 也不知道請求是來自應用程序以外的源(因為填充程序 DLL 只不過是應用程序進程內的另一個 DLL)。

例如,一個十分常用的填充程序是版本欺騙填充程序。為了實現此填充程序,將偵聽幾個用于確定運行應用程序的 Windows 版本的 API。通常,這種信息將傳遞給 Windows 本身,后者會如實應答。但在應用填充程序之后,這些 API 將被偵聽。這樣,將返回一個不同的 Windows 版本(例如,Windows XP 而不是 Windows 7),而不是將請求傳遞給 Windows。如果應用程序編寫為只在 Windows XP 上運行,這樣可以騙過應用程序,使它認為自己正在正確的操作系統上運行。(通常,這樣就可以解決應用程序兼容性問題!)

使用填充程序,可以采用很多技巧。例如, 

◇ ForceAdminAccess 填充程序嘗試使應用程序確信當前用戶是本地管理員組的成員,即使他并不是該組成員。(如果您不是本地管理員,很多應用程序會徹底失敗,不過,您可以使用其他一些技巧(如 UAC 文件和注冊表虛擬化)來解決初始檢查所引起的問題。)實現這種檢查的方法可以非常簡單。例如,此填充程序從 shell32.dll 偵聽 API IsUserAnAdmin。所填充的功能的完整源代碼(與實際 API 相比,具有極好的性能特性)只返回 TRUE。

◇ WrpMitigation 填充程序使應用程序安裝程序相信,它們可以寫入受 Windows 資源保護 (WRP) 功能保護的文件。如果嘗試寫入受保護的文件,該填充程序首先創建一個新的臨時文件,一旦句柄關閉就將其標記為已刪除,然后將句柄返回到該臨時文件,就好像它是實際受保護的文件。應用程序將舊版本 kernel32.dll 或 shell32.dll(或者在將其打包時它所選擇的任何其他文件)安裝到臨時文件中,但隨后該臨時文件消失,受保護文件的經過修補的最新匹配版本保留在文件系統中。這樣,WRP 仍可確保您不會在自己的計算機上最終得到來自 Windows 95 的舊版本 shell32.dll,但在使用此填充程序時,安裝程序不會因 ACCESS_DENIED 而失敗。

◇ CorrectFilePaths 填充程序可將文件從一個位置重定向到另一個位置。因此,如果應用程序嘗試寫入 c:\myprogramdir(不會使用 UAC 文件和注冊表虛擬化對它進行自動修復),則可以將在運行時修改的文件重定向到基于每個用戶的位置。這樣,您可以以標準用戶的身份運行而不必放寬訪問控制列表 (ACL) 限制,因為您知道,安全人員不愿意放寬 ACL。

◇ 有數百個通用填充程序可用來解決應用程序兼容性問題,利用這些修補程序可節省大量的成本。例如,客戶常常在以下情況下使用填充程序:

◇ 供應商已停止經營,因此無法獲得更新版本。如果您無法承擔從新供應商處獲得另外的應用程序或自己構建新版本的費用,這樣可以為您爭取一些時間。

◇ 應用程序不是十分重要,不值得投資于更新版本(伴隨著支持聲明),但您的用戶樂于使用它,所以您不介意他們是否運行不受支持的版本。

◇ 應用程序是內部開發的,但您不想非要等到團隊發布完全更新的版本。相反,您愿意采用臨時性修補程序,允許開發團隊在應用程序的下一次計劃發布時發布永久性修補程序。通過這種方法,就不再需要停止所有應用程序開發活動,可以投入時間和資源來修復兼容性 Bug。您可以使用臨時性修補程序,并允許團隊發布包含開發過程中已實現的新功能的修補程序。

利用填充程序解決應用程序兼容性問題,可以顯著節省成本,大大加速 Windows 7 的部署。


本文出自:億恩科技【www.laynepeng.cn】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線