Slion/VirtualDesktop

Reverse engineering process

Opened this issue ยท 3 comments

Slion commented

We need to document the reverse engineering process to make it easier to support future versions of Windows.

My understanding is that you need to run a Python script from a fork of GetVirtualDesktopAPI_DIA that dumps the GUIDs and interfaces definitions from twinui.pcshell.dll using Debug Interface Access and Microsoft Symbol Server.

It would be nice to port that Python script to C# and integrate it to this repository. That would make it even easier to perform reverse engineering.

Lej77 commented

I made an attempt at porting the script to Rust if that is relevant. The program works well enough to print vftable info:
https://github.com/Lej77/VirtualDesktopAccessor/blob/260eae8d407867a2be8f7e3e55d0b464c7be9a4d/print-com-interfaces/src/main.rs

Edit: also the program doesn't depend on Visual Studio and Debug Interface Access so it should be more portable.

@Dexterously How did you reverse engineer the changes for 24H2 your provided in #27

@MScholtes How do you do your reverse engineering for your VirtualDesktop command line tool?