We wanted to port this hack to Windows 7, but Windows Vista's DWM used the DirectX 9 Tech. Windows 7 uses DirectX 10.1 and is a whole bunch harder to hack.
We are in the middle of the reverse engineering of the Windows 7 DWM.
@ArtificialMindFreak nice work indeed, however, how did you manage to do the link between HWND and D3D textures? Also, the borders of the window are available as textures (if you look closely, they are allocated before the client one).
hi, siwu, the codes which extract windows texture via DWM hacking cannot be found in your open-source dwmaxxx(dwmaxxx can only modify the transform matrix and rotate the windows). Could you please give me some hints about it or a code sample about it? Thanks.
Indeed, it's because the method invoked in the video relied on manually associating the texture handle and the window handle. It was not a reliable solution :(, that led me to dwmaxx :)
Well, the idea was to hook IDirect3DDevice9::CreateTexture() in milcore.dll in DWM.exe. Once that is done, make all created texture shared (by appending a texture handle before the real call). And finally, I printed this handle in the console residing inside DWM.exe (see AllocConsole()), and copy/paste that handle in the 3D program. See, when I say not reliable, I mean it :)
as you can see dwm isnt a virus its your display and what your looking at dont delete it
587shadow 1 month ago
@lolnameless
That's exactly what it is.
KAHNonymousjohn 1 month ago
Awesome!
masterxilo 2 months ago
implying modifying the source code is hacking
lolnameless 6 months ago
Great job, siwuzz, this was very inspirational.
We wanted to port this hack to Windows 7, but Windows Vista's DWM used the DirectX 9 Tech. Windows 7 uses DirectX 10.1 and is a whole bunch harder to hack.
We are in the middle of the reverse engineering of the Windows 7 DWM.
We just uploaded a first pre-pre-alpha demo vid.
ArtificialMindFreak 1 year ago
@ArtificialMindFreak nice work indeed, however, how did you manage to do the link between HWND and D3D textures? Also, the borders of the window are available as textures (if you look closely, they are allocated before the client one).
siwuzzz 1 year ago
@siwuzzz Check out my new demo video. we provided the source code and a demo app for this one.
ArtificialMindFreak 1 year ago
dude how did u do that please tell me 5/5 nice video...
abdullahamir 2 years ago
Very cool. What exactly is DWM? I've heard about it a little, but not much.
TherapudicCaffeine 2 years ago
@TherapudicCaffeine Manages the window effects. It is however slower than it's alphas in Longhorn.
TwiIightSparkle 7 months ago
i thought it was only capture screen(fixed window) and texture cube!
uses dwmapi and directX!awesome!
VisualBasicNET 2 years ago
Broken link.
TheRealPCHintsNTips 2 years ago
Sucks.
xorg62 2 years ago
Soo, Desktop Cube?
jordoex 3 years ago
That's pretty damn neat.
You should release the source for that, seriously.
AndrewHeaford 3 years ago
the project is open source :)
check out the website in the video description :)
siwuzzz 3 years ago
Wow...
Got much further?
PhazonYoshi 3 years ago
hi, siwu, the codes which extract windows texture via DWM hacking cannot be found in your open-source dwmaxxx(dwmaxxx can only modify the transform matrix and rotate the windows). Could you please give me some hints about it or a code sample about it? Thanks.
damixiaomi 3 years ago
Indeed, it's because the method invoked in the video relied on manually associating the texture handle and the window handle. It was not a reliable solution :(, that led me to dwmaxx :)
siwuzzz 3 years ago
Your work is very interesting. Could you please give me a code sample about accessing the texture from window handle, though it's not reliable?
damixiaomi 3 years ago
Well, the idea was to hook IDirect3DDevice9::CreateTexture() in milcore.dll in DWM.exe. Once that is done, make all created texture shared (by appending a texture handle before the real call). And finally, I printed this handle in the console residing inside DWM.exe (see AllocConsole()), and copy/paste that handle in the 3D program. See, when I say not reliable, I mean it :)
siwuzzz 3 years ago
Thank you very much. You are so kind of repying to me. Obviously, you are so talented!!
damixiaomi 3 years ago