Skip to content

Conversation

@Lej77
Copy link

@Lej77 Lej77 commented Oct 7, 2024

This PR adds a "note" markdown file to the repository with information about how to find COM interface ids and function definitions. It also includes a Rust CLI program that automatically gathers all that information and prints it to stdout.

I was myself curious how this information was gathered and I don't think I am alone considering: #93 (comment) and #94.

The reason that the CLI tool is in a different workspace is so that you don't need to download or compile its dependencies when building the main project.

This work was largely started because of the information provided in issue #14 ("Reverse engineering process") on the C# library Slion/VirtualDesktop. It linked to the Python script mzomparelli/GetVirtualDesktopAPI_DIA which inspired the initial Rust CLI program.

@Ciantic
Copy link
Owner

Ciantic commented Oct 18, 2024

Hey! Awesome work.

I do have Python script already to do this: https://github.com/Ciantic/DumpVDIA

I don't plan to put your tool in this Rust repository. But I would be happy to link if you release your tool in Cargo, it would be nice to have a tool that could be called from the command line:

cargo install sometoolofyours
sometoolofyours --filter Virtual

Or something like that. It would then list all interfaces with "Virtual" on it.

To me important feature of such a tool is to output DIFFable files, this repository: https://github.com/mzomparelli/GetVirtualDesktopAPI_DIA you linked doesn't do that. I had to modify it slightly.

Diffable files are important when you run it against different versions of the Windows, so you can see the changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants