日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

hook 驱动 截屏

發布時間:2025/7/14 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hook 驱动 截屏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(2) API Hook技術在實際截屏時,采用API函數實現,截取DDB位圖,必須經過一次DDB到DIB的轉換;而驅動技術直接從其管理的DIB位圖(表面)中將截取區域的圖形數據拷貝到應用程序,顯著的降低了一次截屏的時間消耗
  計算機屏幕圖像的截取在屏幕的錄制、計算機遠程控制以及多媒體教學軟件中都是關鍵術,基于Windows操作系統有多種截屏方法,研究的重點集中在如何快速有效的截取DBI(Device-Independent Bitmap)格式的屏幕圖形數據現在商業軟件流行的截屏技術主要采取的Api Hook技術,但這種技術一次截屏仍有較大的時間消耗,這樣就對運行軟件的硬件仍有較多的限制,而且是一種非標準的技術,不為微軟公司所推薦?
  1截屏技術?
  1.1使用api hook技術?
  使用api hook技術截屏基于一下的原理;多數屏幕圖形的繪制都是通過調用用戶態gdi32.dll中的繪圖函數實現的,如果利用api hook技術攔截系統中所有對這些函數的調用,就可以得到屏幕圖形刷新或變化的區域坐標;然后使用api函數bitblt將刷新或者變化后的屏幕區域的ddb格式的位圖拷貝到內存中,接著使用函數getbits將ddb位圖轉換為dbi位圖,最后壓縮、存儲或者傳輸?
  這種方案只有捕捉到變化,才進行截屏這樣每次截屏都是有效的操作每次(第一次除外)僅截取了栓新或變化部分,從根本上解決了數據量大的問題但是這種技術仍然有一下缺點:1實際截屏采用的api函數,截取的是ddb位圖,要經過一次格式轉換,耗時較大2如果屏幕變化區域矩形的坐標r1、r2、……rn相繼到達,為了不是屏幕變化的信息丟失,通常不是逐個截取,而是將矩形坐標合并,這樣就可以截取并未變化的區域,不經增加截屏的時間消耗,而且產生冗余數據3該技術不支持directdraw技術,由于應用程序可能使用directdraw驅動程序進行直接操縱顯示內存、硬件位塊轉移,硬件重疊和交換表面等圖形操作,而不必進行gdi調用,所以此時api hook技術將失去效用,不能捕捉屏幕變化4api hook技術在屏幕取詞,遠程控制和多媒體教學中都有實際的應用,但是這種技術是一種非標準的技術,微軟公司并不推薦使用?
  1.2 使用圖形驅動技術?
  該技術的原理:應用程序調用win32 gdi 函數進行圖形輸出請求,這個請求通過核心模式gdi發送核心模式gdi把這些請求發送到相應的圖形驅動程序如,顯示器驅動程序,通信流如圖現將該技術詳細解釋如下:?
  ?
  http://images.cnblogs.com/cnblogs_com/niukun/a?.JPG(圖片地址)?
  (1)顯示器驅動輸出一系列設備驅動程序接口DDI(Device Driver Interface)函數供GDI調用信息通過這些入口點的輸入/輸出參數在GDI和驅動程序之間傳遞?
  (2) 在顯示器驅動加載時,GDI調用顯示器驅動程序函數DrvEnableDriver,在這里我們向GDI提供顯示器驅動支持的,可供GDI調用的DDI函數入口點,其中部分時將要Hook的圖形輸出函數?
  (3) 在GDI調用函數DrvEnableDriver成功返回后,GDI調用顯示器驅動的DrvEnablePDEV函數,在這里可以設置顯示器的顯示模式,然后創建一個PDEV結構,PDEV結構是物理顯示器的邏輯表示?
  (4) 在成功創建PDEV結構之后,顯示驅動為視頻硬件創建一個表面,該表面可以是標準的DIB位圖管理表面,然后驅動程序使該表面與一個PDEV結構相關聯,這樣顯示驅動支持的所有繪畫操作都將在該DIB位圖表面上進行?
  (5) 當應用程序調用用戶態GDI32.DLL中的繪圖函數發出圖形請求時,該請求將圖形引擎通過相應的DDI函數發送到顯示驅動,顯示驅動程序將這次圖形變化事件通知應用程序?
  (6) 應用程序接受到通知后,調用函數ExtEscape發出一個請求,并通過參數傳遞一個緩沖區Buffer,圖形引擎調用DDI函數DrvEscape處理應用層的ExtEscape調用,將變化部分的圖形數據從其創建的表面拷貝Buffer,這樣數據就從核心層圖形驅動傳到應用層?
  (7) 應用程序接收到的圖形數據已是DIB標準格式,所以可以直接進行壓縮傳輸或儲存?
  1.3圖形驅動技術的特點?
  上面敘述了采用圖形驅動實現屏幕實現截屏的原理和過程,可以看出這種技術涉及核心圖形驅動的編寫,實現上較為復雜,而其具備的優點主要為:?
  (1) 驅動技術只截取變化的屏幕區域,這一點與API Hook技術相當;但驅動技術是一種標注技術,為微軟公司所推薦?
  (3) 如果屏幕圖形小區域范圍變化較快,屏幕變化區域矩形坐標R1、R2、R3……、Rn相繼到達,由于一次截屏時間消耗降低,區域矩形坐標疊加的概率變小,這樣屏幕變化區域及時的得到了處理,不僅增加了連續性,而且截屏時間消耗和產生的數據量一般不會出現峰值,這也是這種技術的優越之處?
  經過以上對比,無論是做遠程桌面還是屏幕錄制,基于MirrorDriver的屏幕截取將會是一個不錯的選擇,無論從性能占用資源的大小(主要是cpu),取得的數據量來說都要優于Hook?
  最近在做遠程桌面的傳輸,所以有必要研究一下Mirror,這項技術在很多軟件中都有應用但是開源的driver我還沒有看見過,因為沒有精力去編寫所以才用網上的免費的driver同時也提供了api文檔?
  driver內部實現的原理大致就是把顯示輸出拷貝到一個緩沖區當中,并且記錄每次屏幕更新的矩形區域根據這些輸出,應用程序就很容易得到緩沖區中的數據了

轉載于:https://www.cnblogs.com/wangjixianyun/archive/2013/04/11/3014645.html

總結

以上是生活随笔為你收集整理的hook 驱动 截屏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天插天天爱 | 91精品福利在线 | 情侣自拍av| 亚洲福利视频一区 | 师生出轨h灌满了1v1 | 91精品国产日韩91久久久久久 | 亚洲精品视频91 | 性av网站 | 天天噜| 少妇一夜三次一区二区 | 男女高h视频 | 欧美国产精品一区 | 2018国产精品 | 91岛国 | 天天爽天天干 | 九九热国产| 一起艹在线观看 | 日韩成人自拍 | 极品少妇在线观看 | 99精品久久精品一区二区 | 亚洲第一天堂久久 | 中文字幕日韩一级 | 久久久夜色精品亚洲 | 91丝袜呻吟高潮美腿白嫩在线观看 | 色哟哟av| 国产成人精品一区二三区四区五区 | 艳妇臀荡乳欲伦交换在线播放 | 日韩不卡免费 | 亚洲福利影视 | 欧美成人精品一区二区免费看片 | 69久久久久 | 噜噜噜视频 | 一区二区三区视频免费在线观看 | 黄色片在线看 | 91精品久久久久久久99蜜桃 | 欧美一区二区三区成人精品 | 韩国日本美国免费毛片 | av天天干| 国模丫头1000人体 | 欧美一级少妇 | 麻豆www.| 五月激情丁香婷婷 | 国产综合视频在线 | 国产乱码一区二区三区在线观看 | 卡通动漫精品一区二区三区 | 国产猛男猛女超爽免费视频 | 人妻激情文学 | 中文幕无线码中文字蜜桃 | 射射色 | 99在线小视频 | 手机看片日韩在线 | 日韩国产精品久久 | 夜夜爱夜夜操 | 丰满人妻一区二区三区四区53 | 天堂久久精品 | 国产精品国产av | 黄色一级免费大片 | www麻豆 | 亚洲va在线 | 天天射天天操天天干 | 全球av在线 | 特大黑人巨交性xxxx | 黄色理论片 | 91视频在线免费 | 成年人免费网站 | 亚洲一级免费视频 | 精品精品精品 | 国产主播一区二区三区 | 一区二区三区黄 | 男人久久久 | 亚洲最大福利视频 | 午夜试看120秒| 日韩喷潮 | 在线天堂6 | 激情导航| 九九久久视频 | a级黄色一级片 | 夜夜骚av一区二区三区 | 日本在线观看免费 | 久久99国产视频 | a级片在线| 午夜寂寞自拍 | 国产精品无码无卡无需播放器 | 性大毛片视频 | 久夜精品| 貂蝉被到爽流白浆在线观看 | 国产黄色一区二区 | 蜜美杏av | 欧美久久一区二区三区 | 男人天堂视频在线观看 | 好吊视频一区二区 | 一级影片在线观看 | 色男人av | 午夜黄色在线观看 | 成人国产在线视频 | 欧美不卡网 | 精品久久a| 国产伦精品一区二区免费 | 中文字幕一区二区三区人妻不卡 |