Replies: 4 comments
-
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. |
Beta Was this translation helpful? Give feedback.
-
A Discord server would be nice. It has a personal touch that GitHub can never replicate. |
Beta Was this translation helpful? Give feedback.
-
@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. |
Beta Was this translation helpful? Give feedback.
-
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.
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 ;) |
Beta Was this translation helpful? Give feedback.
-
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.Beta Was this translation helpful? Give feedback.
All reactions