Skip to content
This repository was archived by the owner on Feb 3, 2020. It is now read-only.

s2ecmd: added feature to get seed file name in any state without forking - #28

Open
humeafo wants to merge 4 commits into
S2E:masterfrom
humeafo:getseed3
Open

s2ecmd: added feature to get seed file name in any state without forking#28
humeafo wants to merge 4 commits into
S2E:masterfrom
humeafo:getseed3

Conversation

@humeafo

@humeafo humeafo commented Jul 2, 2018

Copy link
Copy Markdown

This added the guest support of retrieval of seed file name without forking, which can be used under single path mode.

@humeafo

humeafo commented Jul 2, 2018

Copy link
Copy Markdown
Author

Currently, libs2eplugins codes can't detect single path mode with MACROS S2E_SYMBEX_MP, once this can be done, I think the seedSearcher can be reused in sp mode too with some small tweaks. But unfortunately, I have no idea of how to do the CMakeList.txt adjustment properly.

@vitalych

vitalych commented Jul 2, 2018

Copy link
Copy Markdown
Member

I don't think this is necessary in single path mode. Seeds can be fetched from the guest with a simple s2eget command. You don't need to use SeedSearcher at all (or any other searcher for that matter).

@humeafo

humeafo commented Jul 3, 2018

Copy link
Copy Markdown
Author

But how does s2eget know the seed name? Use a predefined name or just guessing from 0~N? There is also a need to batch process many seeds in one sp session, because restoring s2e snapshot is slow enough in sp mode.

@vitalych

vitalych commented Jul 3, 2018

Copy link
Copy Markdown
Member

I see your point. On the one hand, SP mode should be as simple as possible and not use any searchers, on the other hand you could reuse a number of nice features of the current seedsearcher (priorities, backing up the seeds, etc) at the expense of pulling a number of multi-path plugins that seed searcher depends on (these dependencies can probably be disabled).

So let's see how many changes are required in SeedSearcher. Regarding the configuration macro, you could probably add an api like S2EExecutor::isSinglePathBuild() instead.

@humeafo

humeafo commented Jul 3, 2018

Copy link
Copy Markdown
Author

I agree that a separate plugin would be better for this, but the user mode support should be added in whichever case, in fact it's best to write a separate plugin and a user tool dedicated for this.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants