New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvements to rune! (Phase 1) #29

Closed
wants to merge 14 commits into
base: master
from

Conversation

Projects
None yet
1 participant
@chinmaydd
Collaborator

chinmaydd commented Jun 4, 2017

This PR will be mainly used to track progress as I go along implementing my ideas this summer.

@chinmaydd chinmaydd added the wontfix label Jun 4, 2017

chinmaydd added some commits Jun 27, 2017

This commit aims to do the following:
* Move all rust/r2 based dependencies to git
* Move Command as a reusable enum into Explorer
* Stabilize RInitialState
* Set basic API for State setters
This commit aims to do the following:
* Adds initial support for context loading/unloading
* Completes basic commands for setting/unsetting values in console
This is a (rather) large, messy commit. Goals:
* It moves the logic for Memory and RegStorage out of the context. A
context is now generic over 2 types: memory(which implements trait Memory)
and register storage(which implements RegStore).

* Memory: Since we define a trait for memory to be implemented, this
allows us to add different models for symbolic memory. In seg_mem.rs, I
have started with the basic idea for implementing the segment-tree
backed idea is going to be worked upon soon. In qword_mem.rs, the
initial memory model of chunks of size of a qword(8 bytes) is present.

* RegStore: This allows us to decouple register store/load logic from
the context core.

* The directory structure is kept such that we have ->
    - module/
        - trait_definition
        - [trait implementation - 1]
        - [trait implementation - 2]
        ..
    - utils/
Starts implementing the SegMem model
* Uses function get_node_info() on SMTLib2
Another rather large commit:
* Adds DirectedExplorer from the optimized_solver branch which is useful
in providing a nice interface to automate exploration based on user
decisions
* Adds an example which leverages the rune library, indirectly moving
away from giving less importance to the console interface
* Makes a few changes for SegMem(still looks a bit unfixed)
* Other utility changes

@chinmaydd chinmaydd changed the title from [Notformerge] Improvements to rune! to Improvements to rune! (Phase 1) Aug 25, 2017

@chinmaydd

This comment has been minimized.

Show comment
Hide comment
@chinmaydd

chinmaydd Aug 25, 2017

Collaborator

@sushant94 (probably since) we will have a more active project over at radare/rune, we have two choices:

  1. Merge this PR and this project remains updated with Phase 1.
  2. I close this PR and rebase the branch against the new project master, if you feel like keeping the original copy.

Your call :)

Collaborator

chinmaydd commented Aug 25, 2017

@sushant94 (probably since) we will have a more active project over at radare/rune, we have two choices:

  1. Merge this PR and this project remains updated with Phase 1.
  2. I close this PR and rebase the branch against the new project master, if you feel like keeping the original copy.

Your call :)

@chinmaydd chinmaydd removed the wontfix label Aug 25, 2017

@chinmaydd

This comment has been minimized.

Show comment
Hide comment
@chinmaydd

chinmaydd Aug 26, 2017

Collaborator

Closing this for now.

Collaborator

chinmaydd commented Aug 26, 2017

Closing this for now.

@chinmaydd chinmaydd closed this Aug 26, 2017

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