MSP-11368
MSP-11143
Remove fastlib as it slows down the code loading process. From the
previous commit, the mean loading for
`METASPLOIT_FRAMEWORK_PROFILE=true msfconsole -q -x exit` was
27.9530±0.3485 seconds (N=10). The mean after removal of fastlib
was 17.9820±0.6497 seconds (N=10). This means an average 35.67%
reduction in boot time.
* Make @framework into a caching method instead
* Allow instantiating with streams for where payloads and comments
should go. This allows us to capture std{out,err} when running specs
* Specs are still woefully under-representative
* Get rid of all the calls to exit
Also adds some minimal testing... which is super slow because it doesn't
cache the framework object across tests.
Conflicts:
msfvenom
Hopefully picked up all the relevant fixes from #2027
- Already supported, just added calls to the the right methods in
the .to_executable_fmt method:
- Linux armle, mipsle, and mipsbe
- Mac arm, ppc
- makes the two (!?) copies of block_api for windows match more closely
with the source used elsewhere. This is still needs to be refactored
to get rid of the duplication.
- Get rid of some of the logic in msfvenom duplicated from Util::EXE
Not sure why this wasn't happening before. Some output formats were
passing options to Msf::Simple::Payload#generate_simple, some weren't.
This probably fixes several latent bugs.
[FIXRM #7109]
The platform argument is meant to be a PlatformList object, not as an array:
http://dev.metasploit.com/redmine/issues/6826
This commit undoes the last change to init_platform() in alpha_mixed and modifies msfvenom to use it as intended.
Makes "msfvenom -h" instant instead of going through all the overhead of
require'ing the entire framework and Rex. The only thing that used it
before was listing the output formats, so a new option, --help-formats,
has been added to provide the same information (with the associated
overhead).