metasploit-framework

https://github.com/rapid7/metasploit-framework

Ruby

Metasploit Framework

Metasm::Expression#reduce_rec

resolves logic operations (true || false, etc)
computes numeric operations (1 + 3)
expands substractions to addition of the opposite
reduces double-oppositions (-(-1) => 1)
reduces addition of 0 and unary +
canonicalize additions: put variables in the lhs, descend addition tree in the rhs => (a + (b + (c + 12)))
make formal reduction if finds somewhere in addition tree (a) and (-a)

Source | Google | Stack overflow

Edit

git clone [email protected]:rapid7/metasploit-framework.git

cd metasploit-framework

open lib/metasm/metasm/main.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-Metasm--Expression-reduce_rec-for-pr


# Commit to git

git add lib/metasm/metasm/main.rbgit commit -m "better docs for Metasm::Expression#reduce_rec"


# Open pull request

gem install hub # on a mac you can `brew install hub`

hub fork

git push <your name> -your-name--update-docs-Metasm--Expression-reduce_rec-for-pr

hub pull-request


# Celebrate!