所謂被動(dòng),通俗點(diǎn)說就是等著別人來調(diào)用。這種方式不像其他D3D Hooking,需要自己編寫一個(gè)應(yīng)用來啟動(dòng)需要Hook的程序,而是將自己偽裝成d3d*.dll。下圖展現(xiàn)了整個(gè)方案所涉及的兩個(gè)重要的interface,由于methods繁多,在此略去(可以參考d3d的文檔和head files)。

P.S. 感謝Jeffrey的《Windows via C/C++》和Matthew L的代碼給予我的靈感!