Skip to content

OFRAK Projects#360

Merged
EdwardLarson merged 87 commits into
masterfrom
feature/projects
Aug 10, 2023
Merged

OFRAK Projects#360
EdwardLarson merged 87 commits into
masterfrom
feature/projects

Conversation

@EdwardLarson
Copy link
Copy Markdown
Contributor

@EdwardLarson EdwardLarson commented Aug 9, 2023

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 binaries directory holding all of the project's binaries, a scripts directory holding all of the OFRAK scripts, a README.md, and a metadata.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

Dan Pesce and others added 30 commits June 28, 2023 18:41
Edward-Larson and others added 24 commits August 7, 2023 14:14
remove empty test, use HTTPS instead of git URLs, fix project id to s…
@EdwardLarson EdwardLarson mentioned this pull request Aug 9, 2023
1 task
@whyitfor
Copy link
Copy Markdown
Contributor

@EdwardLarson, would it make sense to describe what this feature is in this PR?

@EdwardLarson EdwardLarson merged commit ccb6e15 into master Aug 10, 2023
@EdwardLarson EdwardLarson mentioned this pull request Aug 10, 2023
1 task
@whyitfor whyitfor deleted the feature/projects branch November 25, 2024 10:27
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.

4 participants