Add binary, remove, and comment arguments to cli#6
Add binary, remove, and comment arguments to cli#6mariusmue wants to merge 8 commits intoseemoo-lab:masterfrom
Conversation
This allows to execute specific actions on a binary of choice in the database. This commit implements the addition of comments, and removal of the binary from the database.
|
I added an additional example of binary functionality: export of csv for that specific binary (regardless whether it's a history file or a target binary). Having used polypyus from CLI a bit more, I would indeed suggest to split into a In any case, if I get approval from your side, I can take a stub on a reworked CLI interface and push it here. |
|
I think the CLI could use a rework. I am not sure about the suggested changes right now but I like the idea of creating sub-commands. I need to think about this a bit more. Might have time this weekend to spend time on this. One possibility would be to introduce commands like
What do you think? What is the use case for you? What features are still missing? |
|
To the remarks:
|
|
Hi, thanks for the answer:
Regarding features for my usecase, the other things I would need are:
|
|
I resolved potential merge conflicts; In any case, this PR by now is convuloted with multiple different features. do you want me to split this up in multiple PRs? In any case, are there any answers to the question w.r.t. my usecase? |
|
I am working on a new command line interface. Will create a pull request soonish and set you as reviewer so you can check whether this solves at least point 4. To the other points:
There is some implicit assumption in the code about the density of (ARM) code words in a uniformly random stream of bytes and some conciderations as to the likelihood of marking some bytes as code that really are data but look like code. This is used to make some informed choices when creating fuzzy matchers of function groups, see models.py and tools.py . |
|
Hi, here is a list of open tasks, which were mentioned in this pull-request.
CLI command line:
Cheers, |
|
Thanks for summarizing/listing all the points which came up in the discussion! What is the course of action here? Am I expected to implement all of those? |
Hi again!
Besides obtaining function matches, I'd like to use Polypyus to catalogue binaries tied to a specific project.
Hence, a couple of features which are outside the traditional use cases would be nice, and this PR includes cli-options to:
This could be extended to other binary-specific actions, I was thinking about adding custom-loaders for packed/non-flat binaries later on along the road. In any case, there are certain caveats/things which should be discussed before merging in this PR already:
commentfield to the Binary Model seems to break compability to existing databases. Is this okay for you/should there be a version-bump to indicate missing backwards-compability?Binary.delete()does not seem to "clean" the sqlite database, the filesize of the project-db remains unchanged after deletion. Do you have any idea how this could be fixed?analyzefunction, which carries out different tasks than analyzing. Do you prefer to have command subgroups, or is the--binaryapproach fine for you?I'm happy to discuss those things and change the PR according to the outcome.
Cheers,
Marius