All Projects → patois → Mrspicky

patois / Mrspicky

Licence: other
MrsPicky - An IDAPython decompiler script that helps auditing calls to the memcpy() and memmove() functions.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Mrspicky

Hexraystoolbox
Hexrays Toolbox - Find code patterns within the Hexrays AST
Stars: ✭ 202 (+134.88%)
Mutual labels:  decompiler, ida-pro, idapython
Hrdevhelper
Context-sensitive HexRays decompiler plugin that visualizes the ctree of decompiled functions.
Stars: ✭ 193 (+124.42%)
Mutual labels:  decompiler, ida-pro, idapython
xray
Hexrays decompiler plugin that colorizes and filters the decompiler's output based on regular expressions
Stars: ✭ 97 (+12.79%)
Mutual labels:  decompiler, ida-pro, idapython
Hexrays scripts
Various scripts for the Hexrays decompiler (kloppy, shuffle, arachno, IDA coffee, screenrecorder, ricky)
Stars: ✭ 50 (-41.86%)
Mutual labels:  decompiler, ida-pro, idapython
ida-iboot-loader
IDA loader for Apple's 64 bits iBoot, SecureROM and AVPBooter
Stars: ✭ 62 (-27.91%)
Mutual labels:  ida-pro, idapython
reverse-engineering-playground
Scripts I made to aid me in everyday reversing or just for fun...
Stars: ✭ 25 (-70.93%)
Mutual labels:  ida-pro, idapython
idapython-cheatsheet
scripting IDA like a Pro
Stars: ✭ 13 (-84.88%)
Mutual labels:  ida-pro, idapython
Dereferencing
IDA Pro plugin that implements more user-friendly register and stack views
Stars: ✭ 336 (+290.7%)
Mutual labels:  ida-pro, idapython
DrGadget
dr.rer.oec.gadget IDAPython plugin for the Interactive Disassembler <ABANDONED PROJECT>
Stars: ✭ 61 (-29.07%)
Mutual labels:  ida-pro, idapython
Idawasm
IDA Pro loader and processor modules for WebAssembly
Stars: ✭ 264 (+206.98%)
Mutual labels:  ida-pro, idapython
Ipyida
IPython console integration for IDA Pro
Stars: ✭ 358 (+316.28%)
Mutual labels:  ida-pro, idapython
Hyara
Yara rule making tool (IDA Pro & Binary Ninja & Cutter Plugin)
Stars: ✭ 142 (+65.12%)
Mutual labels:  ida-pro, idapython
ida-embed-arch-disasm
Allows IDA PRO to disassemble x86-64 code (WOW64) in 32-bit database
Stars: ✭ 22 (-74.42%)
Mutual labels:  ida-pro, idapython
obfDetect
IDA plugin to pinpoint obfuscated code
Stars: ✭ 99 (+15.12%)
Mutual labels:  ida-pro, idapython
Idarling
Collaborative Reverse Engineering plugin for IDA Pro & Hex-Rays
Stars: ✭ 588 (+583.72%)
Mutual labels:  ida-pro, idapython
Fidl
A sane API for IDA Pro's decompiler. Useful for malware RE and vulnerability research
Stars: ✭ 319 (+270.93%)
Mutual labels:  decompiler, vulnerability
Heap Viewer
An IDA Pro plugin to examine the glibc heap, focused on exploit development
Stars: ✭ 574 (+567.44%)
Mutual labels:  ida-pro, idapython
Blackwidow
A Python based web application scanner to gather OSINT and fuzz for OWASP vulnerabilities on a target website.
Stars: ✭ 887 (+931.4%)
Mutual labels:  vulnerability, automated
FIDL
A sane API for IDA Pro's decompiler. Useful for malware RE and vulnerability research
Stars: ✭ 421 (+389.53%)
Mutual labels:  decompiler, vulnerability
ida migrator
IDA Migrator is an IDA Pro plugin which helps migrate existing work from one database instance to another. It Conveniently migrates function names, structures and enums.
Stars: ✭ 65 (-24.42%)
Mutual labels:  ida-pro, idapython

MrsPicky

MrsPicky - An IDAPython decompiler script that helps auditing calls to the memcpy() and memmove() functions.

mrspicky animated gif

This example code shows how the HexRays decompiler can be scripted in order to identify potentially dangerous calls to memcpy() function calls. It is in no way meant to be a fully working script covering all possible use cases but just a few instead.

It will display a list of identified calls that can be and is meant to be searched, sorted and filtered interactively using IDA's built-in filtering features. Double clicking an entry will jump to the respective call within the currently active IDA or Decompiler view.

In cases where the "n" argument that is passed to memcpy() calls can be resolved statically, the resulting list's "max n" tab reflects the maximum number of bytes that the destination buffer "dst" can be written to (in other words: any number larger than that will corrupt whatever follows the current stack frame, which usually is a return address.

The "problems" tab may contain the following keywords:

  • "memcorr" - indicates a confirmed memory corruption
  • "argptr" - the "dst" pointer points beyond the local stack frame (this may not actually be a problem per se but...)

Feel free to adjust the script to suit your personal preferences. Relevant code is commented and explained below so that hopefully it will be easy to adapt the code to cover more use-cases as well as further functions such as malloc() whatsoever.

Requirements

This script is based on Python3 and requires IDA 7.3 to work. Python2 version is available here.

For further help, check out vds5.py that comes with the HexRays SDK.

This script is licensed under the "THE BEER-WARE LICENSE" (Revision 42) license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].