OFRAK Projects#360
Merged
Merged
Conversation
Backend stuff for projects
…nto feature/project-management-frontend
…ect-management-frontend
Feature/associated scripts
Feature/init scripts
…ature/project-tests
remove empty test, use HTTPS instead of git URLs, fix project id to s…
Feature/project tests
Bugfix/minor project fixes
fix very dumb typo
Contributor
|
@EdwardLarson, would it make sense to describe what this feature is in this PR? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
One sentence summary of this PR (This should go in the CHANGELOG!)
A new feature that allows users to create an OFRAK "project" that contains a collection of scripts and binaries.
Link to Related Issue(s)
Please describe the changes in your request.
OFRAK Projects are a way to bundle and share binaries with OFRAK scripts which unpack, analyze, modify, and/or repack those binaries. The structure is simple: The root project directory contains a
binariesdirectory holding all of the project's binaries, ascriptsdirectory holding all of the OFRAK scripts, aREADME.md, and ametadata.json.The metadata holds some extra information about each binary, optionally listing which scripts in the project can run on that binary (you might have scripts meant for some subset of binaries, and a script meant for one specific binary, a script applicable to all of them, etc.), and possibly naming a single script as the "init script" for that binary. An init script means it is the entrypoint when OFRAK creates a resource for that binary, so for example it might do the initial unpacking.
There is a Project Management interface built into the GUI to support this (requires that experimental features are enabled). This interface displays the binaries and scripts in the project (and allows adding/deleting these), which scripts are associated with each binary (including init scripts, and all of these associations can be modified), and allows a user to "Launch" any of the binaries from the project by opening it in OFRAK and running the init script on it, if it exists. Launching a project binary brings the user directly into a GUI page with that binary open as an OFRAK resource.
Projects can be cloned directly from a git repo. With this feature, user "A" can share their reverse engineering script for a binary in an OFRAK project as a git repo, and user "B" can open the OFRAK GUI, from the Project Management interface, clone that project repo, select that binary, load it into OFRAK, and automatically run the reverse engineering script written by user "A."
Anyone you think should look at this, specifically?
@dannyp303 @rbs-jacob