Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

[Question]: What is Workspaces? #272

Closed
ds5678 opened this issue Mar 16, 2022 · 4 comments
Closed

[Question]: What is Workspaces? #272

ds5678 opened this issue Mar 16, 2022 · 4 comments
Labels
question workspaces Issues related to the Workspaces extensions of AsmResolver

Comments

@ds5678
Copy link
Contributor

ds5678 commented Mar 16, 2022

I poked around the code a little bit and didn't understand its purpose other than to do some kind of analysis. I also read through the issues and pull requests with that label, but I didn't find much except for #198.

From what I read, it's still very experimental. However, it would be nice to have nuget packages for it. You could merge that branch in and put the version for them as 4.10.0-alpha. Nuget treats package versions like that as prerelease packages, so you could still do large breaking API changes.

@Washi1337
Copy link
Owner

Washi1337 commented Mar 16, 2022

The main idea behind the workspaces branch is to provide a platform for managing and processing multiple files at once. For .NET images this mostly means linking / reusing assembly resolvers such that inter-modular references resolve to the right definitions within modules of the workspace. This would allow for various kinds of "higher level" structural analyses over these files. I have some (admittedly ambitious) ideas on seeing this as a way to do cross-referencing and/or refactoring (adding, removing, renaming, or moving) symbols. In simple terms, a workspace full of executable files in AsmResolver would be similar to what a Solution is with projects in your favourite IDE.

As you pointed out already, it is very experimental. So experimental in fact that its fundamental design is not even properly decided on. Currently I am not fully satisfied with the API design and setup just yet; I am not even sure whether the current layout of csprojs will stay as it is now. Furthermore, other features have gained a higher priority since the first goal of AsmResolver has always been to read and write executable files, not necessarily adding interpretations to them. These two are among a couple other things the main reasons there don't exist nuget packages for it yet.

Discussions about design and ideas for the workspaces branch have been going on with people already in more private circles / reverse engineering communities. I have been meaning to look into making these types of discussions more public and direct, perhaps by the means of setting up a Discord server (as was e.g. mentioned in #260) or maybe make more use of the GitHub discussions feature. I have yet to actually allocate some of my free time for evaluating what would be the best platform(s) to host these.

@Washi1337 Washi1337 added question workspaces Issues related to the Workspaces extensions of AsmResolver labels Mar 16, 2022
@ds5678
Copy link
Contributor Author

ds5678 commented Mar 23, 2022

I have been meaning to look into making these types of discussions more public and direct, perhaps by the means of setting up a Discord server

A Discord server would be nice. It has a personal touch that GitHub can never replicate.

@ds5678
Copy link
Contributor Author

ds5678 commented Mar 28, 2022

@Washi1337 In #283, you mentioned a hypothetical version 5 of AsmResolver. Do you have any plans for that? Is the workspaces implementation likely to cause a major version bump? I think workspaces will help me, so I want to help you with it.

@Washi1337
Copy link
Owner

A Discord server would be nice. It has a personal touch that GitHub can never replicate.

True. One thing among other things that made me kind of reluctant is that a Discord (or something similar) incentivizes people to report issues through there instead of here on GitHub. My experience with those is that important chat messages like issue reports tend to get lost, especially if such a server becomes relatively active. However, I can also see the values it may have, such as the more direct conversations with regards to design choices etc. I will try (with my little free time that I have available lately) in the upcoming days to evaluate once again and set up something like this.

In #283, you mentioned a hypothetical version 5 of AsmResolver. Do you have any plans for that? Is the workspaces implementation likely to cause a major version bump?

It could very well be scheduled for v5 yes. I don't have concrete plans yet for how workspaces should shape out, nor a timetable for when things should happen. As said before, other features have gained priority.

With something like a Discord we may be able to accelerate it a bit more though ;)

Repository owner locked and limited conversation to collaborators Apr 2, 2022
@Washi1337 Washi1337 converted this issue into discussion #289 Apr 2, 2022

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
question workspaces Issues related to the Workspaces extensions of AsmResolver
Projects
None yet
Development

No branches or pull requests

2 participants