Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/plasma-disassembler/plasma
Plasma is an interactive disassembler for x86/ARM/MIPS. It can generates indented pseudo-code with colored syntax.
https://github.com/plasma-disassembler/plasma
arm capstone disassembler mips reverse-engineering x86 x86-64
Last synced: about 2 months ago
JSON representation
Plasma is an interactive disassembler for x86/ARM/MIPS. It can generates indented pseudo-code with colored syntax.
- Host: GitHub
- URL: https://github.com/plasma-disassembler/plasma
- Owner: plasma-disassembler
- License: gpl-3.0
- Created: 2015-03-09T21:16:46.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2021-08-31T16:57:42.000Z (almost 3 years ago)
- Last Synced: 2024-03-22T00:06:57.243Z (2 months ago)
- Topics: arm, capstone, disassembler, mips, reverse-engineering, x86, x86-64
- Language: Python
- Homepage:
- Size: 2.54 MB
- Stars: 3,033
- Watchers: 149
- Forks: 278
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-pentest - plasma - Interactive disassembler for x86/ARM/MIPS. Generates indented pseudo-code with colored syntax code. (Reverse Engineering / Reverse Engineering Tools)
- awesome-hacking - plasma - 适用于x86/ARM/MIPS交互式反汇编,使用花指令语法代码生成伪代码。 (工具 / 有关渗透测试和安全方面的Docker镜像)
- awesome-pentest - plasma - Interactive disassembler for x86/ARM/MIPS. Generates indented pseudo-code with colored syntax code. (Awesome Penetration Testing ("https://github.com/Muhammd/Awesome-Pentest") / Tools)
- awesome-malware-analysis - plasma - Interactive (Debugging and Reverse Engineering / Other Resources)
- awesome-web-security - plasma - Plasma is an interactive disassembler for x86/ARM/MIPS by [@plasma-disassembler](https://github.com/plasma-disassembler). (Tools / Disassembler)
- awesome-reverse-engineering - **2808**星 - code with colored syntax. (<a id="1d9dec1320a5d774dc8e0e7604edfcd3"></a>工具-新添加的 / <a id="8f1b9c5c2737493524809684b934d49a"></a>文章&&视频)
- awesome-reverse-engineering - **2808**星 - code with colored syntax. (<a id="1d9dec1320a5d774dc8e0e7604edfcd3"></a>工具-新添加的 / <a id="8f1b9c5c2737493524809684b934d49a"></a>文章&&视频)
- awesome-web-security - plasma - Plasma is an interactive disassembler for x86/ARM/MIPS by [@plasma-disassembler](https://github.com/plasma-disassembler). (Tools / Disassembler)
- awesome-web-security - plasma - Plasma is an interactive disassembler for x86/ARM/MIPS by [@plasma-disassembler](https://github.com/plasma-disassembler). (Tools / Disassembler)
- paralax-awesome-malware-analysis - plasma - Interactive disassembler for (Debugging and Reverse Engineering / Other Resources)
- qazbnm456-awesome-web-security - plasma - Plasma is an interactive disassembler for x86/ARM/MIPS by [@plasma-disassembler](https://github.com/plasma-disassembler). (Tools / Disassembler)
- awesome-malware-analysis- - plasma - Interactive (Debugging and Reverse Engineering / Other Resources)
- awesome-malware-analysis - plasma - Interactive (Debugging and Reverse Engineering / Other Resources)
- awesome-web-security - plasma - Plasma is an interactive disassembler for x86/ARM/MIPS by [@plasma-disassembler](https://github.com/plasma-disassembler). (Tools / Disassembler)
- awesome-web-security - plasma - Plasma is an interactive disassembler for x86/ARM/MIPS by [@plasma-disassembler](https://github.com/plasma-disassembler). (Tools / Disassembler)
- awesome-malware-analysis - plasma - Interactive (Debugging and Reverse Engineering / Other Resources)
- awesome-stars - plasma-disassembler/plasma - Plasma is an interactive disassembler for x86/ARM/MIPS. It can generates indented pseudo-code with colored syntax. (Python)
- awesome-stars - plasma-disassembler/plasma - Plasma is an interactive disassembler for x86/ARM/MIPS. It can generates indented pseudo-code with colored syntax. (Python)
- awesome-reverse-engineering - **2808**星 - code with colored syntax. (<a id="1d9dec1320a5d774dc8e0e7604edfcd3"></a>工具-新添加的 / <a id="8f1b9c5c2737493524809684b934d49a"></a>文章&&视频)
- awesome-hacking-lists - plasma - Plasma is an interactive disassembler for x86/ARM/MIPS. It can generates indented pseudo-code with colored syntax. (Python (1887))
- awesome-stars - plasma - code with colored syntax. | plasma-disassembler | 3016 | (Python)
- stars - plasma-disassembler/plasma - code with colored syntax. (HarmonyOS / Windows Manager)
- starred-awesome - plasma - Plasma is an interactive disassembler for x86/ARM/MIPS. It can generates indented pseudo-code with colored syntax. (Python)
- awesome-malware-analysis - plasma - Interactive (Debugging and Reverse Engineering / Other Resources)
- awesome-web-security - plasma - Plasma is an interactive disassembler for x86/ARM/MIPS by [@plasma-disassembler](https://github.com/plasma-disassembler). (Tools / Disassembler)
- awesome-malware-analysis - plasma - Interactive disassembler for (Debugging and Reverse Engineering / Other Resources)
- awesome-hacking-lists - plasma-disassembler/plasma - Plasma is an interactive disassembler for x86/ARM/MIPS. It can generates indented pseudo-code with colored syntax. (Python)
- awesome-malware-analysis - plasma - Interactive (Debugging and Reverse Engineering / Other Resources)
- awesome-hacking-lists - plasma - Plasma is an interactive disassembler for x86/ARM/MIPS. It can generates indented pseudo-code with colored syntax. (Python)
- awesome-assembler - Plasma - code with colored syntax. (Debuger / Self-hosted hex assemblers)
README
PLASMA
======The old project name was **Reverse**.
`PLASMA` is an interactive disassembler. It can generate a more readable
assembly (pseudo code) with colored syntax. You can write scripts with the
available Python api (see an example below). The project is still in big development.[wiki](https://github.com/joelpx/plasma/wiki) : TODO list and some documentation.
It supports :
* architectures : x86{64}, ARM, MIPS{64} (partially for ARM and MIPS)
* formats : ELF, PE, RAW**Warning**: until structures and type definitions are not implemented, the
database compatibility could be broken.## Requirements
* python >= 3.4
* [capstone](https://github.com/aquynh/capstone), tested with 4.0-alpha5
* [python-pyelftools](https://github.com/eliben/pyelftools)
* [pefile](https://github.com/erocarrera/pefile) + python3-future
* [python-msgpack](https://github.com/msgpack/msgpack-python) >= 0.4.6
* `c++filt` (available in the binutils Linux package)
* terminal should support UTF8 and 256 colors (if not, use the option `--nocolor`)Optional :
* `python-qt4` used for the memory map
* [keystone](https://github.com/keystone-engine/keystone) for the script asm.py## Installation
./install.sh
Or if you have already installed requirements with the previous command:
./install.sh --update
Check tests :
make
....................................................................................
84/84 tests passed successfully in 2.777975s
analyzer tests...
...## Pseudo-decompilation of functions
$ plasma -i tests/server.bin
>> v main
# you can press tab to show the pseudo decompilation
# | to split the window
# See the command help for all shortcuts![plasma](/images/visual.png?raw=true)
Take the control of the flow graph by inverting conditional jumps:
![plasma](/images/invcond.png?raw=true)
## Scripting (Python API)
See more on the [wiki](https://github.com/joelpx/plasma/wiki/api) for the API.
Some examples (these scripts are placed in plasma/scripts) :
$ plasma -i FILE
plasma> py !strings.py # print all strings
plasma> py !xrefsto.py FUNCTION # xdot call graph
plasma> py !crypto.py # detect some crypto constants
plasma> py !asm.py CODE # assemble with keystone
plasma> py !disasm.py HEX_STRING # disassemble a buffer