Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
GitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Post Memory Corruption Memory Analyzer What is it? ----------- Pmcma is a tool aimed at determining if a given software bug is an exploitable vulnerability by automatically writing an exploit for it. Like every powerful tool made by human beings, it is double edged : it can be used for good or evil. Is this tool for me ? --------------------- Pmcma has a wide range of applications, depending on your use of computer software. As an advanced user, you may experience software bugs in the form of crashes you are able to repeat and would like to report those bugs to software maintainers. Very often, sadly, they will not take your bug request very seriously until you prove them it may have serious security implications. In this case, attaching a pmcma output to your bug report may convince them to fix the bug (or not, if pmcma rules it out as non exploitable ;) As a system administrator, you may find Proof of Concepts or even proper exploits disclosed in public places such as security mailing lists or security websites and wonder if your own systems would be affected by simple modifications of those public codes (that usually never work "as is" anywhere but on the computer of their author ;) As a software developer or maintainer, you may experience or be reported segmentation faults in your software. Pmcma helps you determine what is happening at assembly level and determine which bugs are in fact vulnerabilities and should be fixed first. As a computer security enthusiast, you may want to learn more about software exploitation and experiment. Way to go ! As a security expert or software hacker well versed in exploit writing, you may want to automate reverse engineering as much as possible to spend your time on what is specific to the particular exploit you are writing. As a script kiddie, you may have found a piece of code you don't understand on the internet, but are nonetheless decided to go to jail. In all those cases, and surely many others, Pmcma was probably made for you. Supported platforms ------------------- Currently, pmcma is known to work on x86 and x86_64 intel cpus. Pmcma currently works on GNU/Linux as well as Android. It has been tested on several Ubuntu, Debian, Fedora and Gentoo distributions in both 32bit and 64bit. Usage ----- Try the command: man ./pmcma.1 The Latest Version ------------------ The latest version of Pmcma can be found at: https://github.com/toucan-system/pmcma The official website of Pmcma is: http://www.pmcma.org Installation ------------ Please see the file called COMPILING. Licensing --------- Please see the file called LICENSE. Contributors ------------- Please see the file called AUTHORS. Contacts -------- If you would like to participate to the development of Pmcma and receive alerts of latest releases, you can subscribe to the Pmcma mailing list at: http://groups.google.com/group/pmcma and alternatively visit the website at: http://www.pmcma.org For matters related to Toucan System only, please use: email@example.com For urgent security matters, you can contact Jonathan Brossard directly at: firstname.lastname@example.org using the pgp key below: -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.9 (GNU/Linux) mQGiBEoMmvURBACt+B7c1MCV90PjaEE7b6m+UB51tATi8U7Jj2H2gymT6xF/3TRO ymYkXfMeU/zlSkmxJyyhT/Z86NFL1xIxngRL+zc2enFv+mHvABj3D8B/lMHA1WjA agen26pqhWSlow7T2sUPlDPUsGzvJYqnUuuVPH+6FMWF5LyP5dsfYD+fJwCgxxx4 6iGndgLscJ0xPaI2CPvXSt8D/2bRaegV9if+VlQlIN1esAI2KLdClihECXtkqNjh lSkGBqEJOljivwPX3tNad+szgiZoUeY0W3gM06e7aaxiJ+YhhXuSO8BcgJ03h5rA D9Fyu8vBap/xUQg923CGzPJMY4PCxQlkUlIui8SWxbv8tUN4MbMT5MMx8EWZv1NL 6i9SA/4mQ/l9ZO14Kukqcg6rRm/KYH4IDlNg5t77+FaTzaq1miDJChOrfEdpOgrS vDqyS1odr/IKibaknXUh65LhcppSI9byk5eS+cfwHLEQgqIlX3o3Uzaqa3HfhjYW 2YCovavnazNJG7Pe9uIPcBacnZtusDgrZrzUA64Vmh05wj2Z8bQnSm9uYXRoYW4g QnJvc3NhcmQgPGVuZHJhemluZUBnbWFpbC5jb20+iGAEExECACAFAkoMmvUCGwMG CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAr9gCbs9jJudOpAJ9ZpHKyzAxi/LYj thIeTMl2vXVt4QCgphukZzqKiS0pkbQxyuDPQhbNCAm5Ag0ESgya9RAIAIgiM6Cf gSJ09jHN/6ozy5Hdnz9iRsk00+wY5bhoXWIkrITqck2wgSpip1xMlXcj5zimXoos KTpb3W/oXalqtEmFowgBCZsW+HMhuWpjges8EvjCqAybl+RWpsirhdcAX1Xy3nj9 MVUEcAvIYU4u9w4ROW8ibAMxtnjJ7lgvreBuiYvPSBWDhi0j+m+5Fj4HlW9qKxLe Hzee+tBYaWZ4ihnCE2dqkJCebq89ryLorDxSmFfurmZNPz/AjIw0H1+R1etiyYkR X5d7EgsFZCvof96so4HySq1nLsKFACJAI0oGJ5fV1T8U2w2rAN1Cqa9+WKEqFrZo JALQSPAFQ38SQksAAwUH/RGFyR8nGS/yCk5YeOTdwJtxONVbnN4PEzGCdl6ejGLV bm2CDTseS604qL9E/u82r7okgG8zPGyfD0LIXTOYJQqvchlNatAARlc5eDXXK0da F7/7VrS79AcOs9Syj0UQ0598Z3fP7bhmpOxHXX5Z81s/x34Ls2YRUvd0GgEBK1u7 pFx130O+6T8V+ezbCHOmv9W0UH5lBgnw5PQdTHzd4QUw169pO0GRwVARuEzyKIAe c+cycdELK6R1/BsUSE/5qs8ERACZop/6kO1wL2VgVh2Rqj5FN9aQiihvGS9PRKiR Cs+AQdExCcWSMs+V9ec+VE7oM69VoUBU3gsYBSCazIyISQQYEQIACQUCSgya9QIb DAAKCRAr9gCbs9jJuUBRAJ9jvMjEdEf7uEm2fSAJDMaUOX9EwwCePGePxjijbuun biHUzgJDjrUNQQM= =b1PB -----END PGP PUBLIC KEY BLOCK----- Acknowledgments ---------------- We wish to thank the following people for their contributions to Pmcma being it in the form of proper code, whitepaper review, or ideas: spender, Silvio Cesare, andrewg, bliss, BSDaemon, Ivanlef0u, msuiche, redsand, nergal, pipacs, mercy, Mark Dowd, twiz, caddis, #hes, #social #busticati, #ruxcon