Problem Description
Hey Johann! This project is very cool.
I've been building something similar myself: a .NET library for parsing, emulating, deobfuscating, and patching files (aimed at malware analysis), written in Cython. It works well enough for my use cases, but it doesn't scale - the control-flow deobfuscation especially gets slow and memory hungry, and the codebase has grown pretty far from a pile of analysis scripts into something messier than I'd like as I continued to add features.
I was actually planning to rewrite it in Rust this week to clean things up, then found this repo, with similar goals, and already further along than what I'd have ended up with.
I wanted to ask if you would have any interest in adding py03 Python bindings to this project down the line? I think it would be really helpful for scripting and other things. I would be happy to contribute them myself. I would also be happy to help out with other things as well - I have a lot of experience with dotnet at this point and maybe some of the concepts from the work I have can be of use here.
Let me know your thoughts - thank you!
Proposed Solution
I would like to be able to use dotscope in Python, potentially through use of py03 bindings.
I dont really have any specific details on its implementation, as that would need a bit more thought into how it could be done with a clean, easy to use API. I included an example below of how the CilObject part could look, but its definitely something that requires thought.
Alternative Solutions
No response
Feature Category
API Enhancement
Estimated Complexity
High (Major feature addition)
Use Case
It would be very useful for automated analysis pipelines, scripting, unpacking and deobfuscation.
Example Usage
For example, to access the CilObject there could be a api:
dotscope.open_file(filepath: str)
dotscope.open_from_bytes(data: bytes)
The goal would be to expose all of the functionalities that are useful for analysis deobfuscation, patching and parsing as python functions and classes. Care would need to be taken to minimize conversions between Rust and Python types.
Priority
Medium (Would be helpful)
Additional Context
No response
Checklist
Problem Description
Hey Johann! This project is very cool.
I've been building something similar myself: a .NET library for parsing, emulating, deobfuscating, and patching files (aimed at malware analysis), written in Cython. It works well enough for my use cases, but it doesn't scale - the control-flow deobfuscation especially gets slow and memory hungry, and the codebase has grown pretty far from a pile of analysis scripts into something messier than I'd like as I continued to add features.
I was actually planning to rewrite it in Rust this week to clean things up, then found this repo, with similar goals, and already further along than what I'd have ended up with.
I wanted to ask if you would have any interest in adding py03 Python bindings to this project down the line? I think it would be really helpful for scripting and other things. I would be happy to contribute them myself. I would also be happy to help out with other things as well - I have a lot of experience with dotnet at this point and maybe some of the concepts from the work I have can be of use here.
Let me know your thoughts - thank you!
Proposed Solution
I would like to be able to use dotscope in Python, potentially through use of py03 bindings.
I dont really have any specific details on its implementation, as that would need a bit more thought into how it could be done with a clean, easy to use API. I included an example below of how the CilObject part could look, but its definitely something that requires thought.
Alternative Solutions
No response
Feature Category
API Enhancement
Estimated Complexity
High (Major feature addition)
Use Case
It would be very useful for automated analysis pipelines, scripting, unpacking and deobfuscation.
Example Usage
Priority
Medium (Would be helpful)
Additional Context
No response
Checklist