Skip to content
This repository has been 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
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

humeafo
Copy link

@humeafo humeafo commented Jul 2, 2018

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

@humeafo
Copy link
Author

humeafo commented Jul 2, 2018

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
Copy link
Member

vitalych commented Jul 2, 2018

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
Copy link
Author

humeafo commented Jul 3, 2018

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
Copy link
Member

vitalych commented Jul 3, 2018

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
Copy link
Author

humeafo commented Jul 3, 2018

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