Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add information about how to reverse engineer COM interfaces #97

Closed
wants to merge 3 commits into from

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.

@Ciantic Ciantic closed this Oct 18, 2024
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