* Check that the initial memory was actually allocated before writing to it * Don't pass 16 to CryptUnprotectData as the ppszDataDescr parameter because it is not a valid LPWSTR * Don't leak memory in the event that CryptUnprotectData by ensuring mem and addr are always free'ed * Combine free calls into one for speed * Don't assume the sessions is ARCH_X64 if it is not ARCH_X86 because that may change some day
Metasploit

The Metasploit Framework is released under a BSD-style license. See COPYING for more details.
The latest version of this software is available from: https://docs.metasploit.com/docs/using-metasploit/getting-started/nightly-installers.html
You can find documentation on Metasploit and how to use it at: https://docs.metasploit.com/
Information about setting up a development environment can be found at: https://docs.metasploit.com/docs/development/get-started/setting-up-a-metasploit-development-environment.html
Our bug and feature request tracker can be found at: https://github.com/rapid7/metasploit-framework/issues
New bugs and feature requests should be directed to: https://r-7.co/MSF-BUGv1
API documentation for writing modules can be found at: https://docs.metasploit.com/api/
Questions and suggestions can be sent to: Freenode IRC channel or e-mail the metasploit-hackers mailing list
Installing
Generally, you should use the free installer, which contains all of the dependencies and will get you up and running with a few clicks. See the Dev Environment Setup if you'd like to deal with dependencies on your own.
Using Metasploit
Metasploit can do all sorts of things. The first thing you'll want to do
is start msfconsole, but after that, you'll probably be best served by
reading Metasploit Unleashed, the great community
resources, or take a look at the
Using Metasploit
page on the documentation website.
Contributing
See the Dev Environment Setup guide on GitHub, which will walk you through the whole process from installing all the dependencies, to cloning the repository, and finally to submitting a pull request. For slightly more information, see Contributing.