VivisectION


NameVivisectION JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/atlas0fd00m/VivisectION
Summary# VivisectION Emulation-Driven Reversing Toolset
upload_time2024-08-14 12:56:47
maintainerNone
docs_urlNone
authoratlas of d00m
requires_pythonNone
licenseNone
keywords
VCS
bugtrack_url
requirements vivisect
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # VivisectION Emulation-Driven Reversing Toolset

VivisectION is the cross-section of GUI Reversing, Emulation and Debugging, with an emphasis on using Emulation and other powerful Vivisect toys to aid in Reverse Engineering and Vulnerability Research.

Among other things, VivisectION (aka Ion) is a Vivisect Extension (or plugin).

Primarily this plugin allows the GUI to easily setup an emulator for Functions (right click on the Function address)


## Installation:

Install Vivisect and make sure it works before installing VivisectION.  

On Ubuntu, install PyQt5 and PyQtWebkit via apt:
```
    $ sudo apt install python3-pyqt5 python3-pyqt5.qtwebkit
```

On other Linux, you may find either of these work.  On Ubuntu, PyPi's PyQt5 installation somehow breaks things.

On Windows (and possibly some Linuxes), be sure to include the [gui] option (it includes the PyQt5 components):
```
    $ pip install vivisect[gui]
```


Then install VivisectION using Pip:
```
    $ pip install VivisectION
```

Alternately, you can install from the latest Github repo (or using a modified form on your local drive):
```
    $ git clone https://github.com/atlas0fd00m/VivisectION
       #(possibly modify anything)
    $ pip install ./VivisectION
```


### You must first activate the plugin:
The following tools will manage a symlink to the plugin directory into $HOME/.viv/plugins/ (or the last directory in your VIV_EXT_PATH)
```
    $ vivisection_activate      # to install the plugin
        # and 
    $ vivisection_deactivate    # to remove the plugin
```

## Features:
* Ion Toolbar in Vivisect
* Function Emulation (console) - Right click on a function address and choose "SmartEmu-Console" to emulate using the console (how you started Vivisect)
* Function Recon - Right click on a function and choose FuncRecon to emulate through all instructions and return interesting bits
* CLI - by clicking the button, users get an interactive python shell in the console (cli you started Vivisect from)

## Future:
* It will also glue debuggers together with Vivisect Server/Shared Workspace

* Debugger attach, dump, and prep for Emulation
    * Import VSNAP, convert to Emu
    * Import GDB Core file, convert to Emu

* Other goodies as I decide to release them (C++ helpers, anyone?)

## Getting Started

* "Activate" the plugin
* Start vivbin from a console (not an icon that hides the console)
* Click the CLI button to get an interactive python session in the console with `vw` as the VivWorkspace
* Right Click on a Function address and choose `SmartEmu - console` from the context menu.
** Modify (if desired) the emulator setup in the pop-up window
** Get a NinjaEmulator in the console window
** After you quit the NinjaEmulator, you'll get dropped into iPython.  Ctrl-D or exit to get out (before emulating anything else)


## FAQ:
* <xyz> happened and now my command line won't show me typing anything
** Type (blind, I know)  `stty sane` and press enter.  This normally sets the terminal back to normal (sane).

* I can't get a CLI and a Function Emulator at the same time!
** Sorry, I haven't created code required for Multi-function emulation.  Currently we only support using the main CLI used to start Vivisect.

* I can't get a CLI *or* a Function Emulator!
** Sometimes, the state of the CLI gets mucked up and we track that it's in use when it is not.  You can Reset this state using `Plugins`->`Ion`->`Reset Console In Use`


## Blessing

go forth and hack great things!

@

# greetz

* Invisig0th
* Rakuy0
* Sk0d0
* mechanicalnull
* la familia
* the GRIMM team
* Samurai CTF




            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/atlas0fd00m/VivisectION",
    "name": "VivisectION",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "atlas of d00m",
    "author_email": "atlas@r4780y.com",
    "download_url": "https://files.pythonhosted.org/packages/9c/54/665cc45f896fff4e6843c47d8bfcd31961cfdc79420b43a71a0b41673064/VivisectION-1.0.0.tar.gz",
    "platform": null,
    "description": "# VivisectION Emulation-Driven Reversing Toolset\n\nVivisectION is the cross-section of GUI Reversing, Emulation and Debugging, with an emphasis on using Emulation and other powerful Vivisect toys to aid in Reverse Engineering and Vulnerability Research.\n\nAmong other things, VivisectION (aka Ion) is a Vivisect Extension (or plugin).\n\nPrimarily this plugin allows the GUI to easily setup an emulator for Functions (right click on the Function address)\n\n\n## Installation:\n\nInstall Vivisect and make sure it works before installing VivisectION.  \n\nOn Ubuntu, install PyQt5 and PyQtWebkit via apt:\n```\n    $ sudo apt install python3-pyqt5 python3-pyqt5.qtwebkit\n```\n\nOn other Linux, you may find either of these work.  On Ubuntu, PyPi's PyQt5 installation somehow breaks things.\n\nOn Windows (and possibly some Linuxes), be sure to include the [gui] option (it includes the PyQt5 components):\n```\n    $ pip install vivisect[gui]\n```\n\n\nThen install VivisectION using Pip:\n```\n    $ pip install VivisectION\n```\n\nAlternately, you can install from the latest Github repo (or using a modified form on your local drive):\n```\n    $ git clone https://github.com/atlas0fd00m/VivisectION\n       #(possibly modify anything)\n    $ pip install ./VivisectION\n```\n\n\n### You must first activate the plugin:\nThe following tools will manage a symlink to the plugin directory into $HOME/.viv/plugins/ (or the last directory in your VIV_EXT_PATH)\n```\n    $ vivisection_activate      # to install the plugin\n        # and \n    $ vivisection_deactivate    # to remove the plugin\n```\n\n## Features:\n* Ion Toolbar in Vivisect\n* Function Emulation (console) - Right click on a function address and choose \"SmartEmu-Console\" to emulate using the console (how you started Vivisect)\n* Function Recon - Right click on a function and choose FuncRecon to emulate through all instructions and return interesting bits\n* CLI - by clicking the button, users get an interactive python shell in the console (cli you started Vivisect from)\n\n## Future:\n* It will also glue debuggers together with Vivisect Server/Shared Workspace\n\n* Debugger attach, dump, and prep for Emulation\n    * Import VSNAP, convert to Emu\n    * Import GDB Core file, convert to Emu\n\n* Other goodies as I decide to release them (C++ helpers, anyone?)\n\n## Getting Started\n\n* \"Activate\" the plugin\n* Start vivbin from a console (not an icon that hides the console)\n* Click the CLI button to get an interactive python session in the console with `vw` as the VivWorkspace\n* Right Click on a Function address and choose `SmartEmu - console` from the context menu.\n** Modify (if desired) the emulator setup in the pop-up window\n** Get a NinjaEmulator in the console window\n** After you quit the NinjaEmulator, you'll get dropped into iPython.  Ctrl-D or exit to get out (before emulating anything else)\n\n\n## FAQ:\n* <xyz> happened and now my command line won't show me typing anything\n** Type (blind, I know)  `stty sane` and press enter.  This normally sets the terminal back to normal (sane).\n\n* I can't get a CLI and a Function Emulator at the same time!\n** Sorry, I haven't created code required for Multi-function emulation.  Currently we only support using the main CLI used to start Vivisect.\n\n* I can't get a CLI *or* a Function Emulator!\n** Sometimes, the state of the CLI gets mucked up and we track that it's in use when it is not.  You can Reset this state using `Plugins`->`Ion`->`Reset Console In Use`\n\n\n## Blessing\n\ngo forth and hack great things!\n\n@\n\n# greetz\n\n* Invisig0th\n* Rakuy0\n* Sk0d0\n* mechanicalnull\n* la familia\n* the GRIMM team\n* Samurai CTF\n\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "# VivisectION Emulation-Driven Reversing Toolset",
    "version": "1.0.0",
    "project_urls": {
        "Download": "https://github.com/atlas0fd00m/VivisectION/archive/v1.0.0.tar.gz",
        "Homepage": "https://github.com/atlas0fd00m/VivisectION"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dd4da9abeb8f163de1895081b21d83d10f66c9e32f1adf5cab0436a8fc97ecc7",
                "md5": "2951871044b19b95d51988f528f22809",
                "sha256": "4f3d58b9b2fba477133132c59fb32f27f24e443e5f70be3d12f033c04e5d7e91"
            },
            "downloads": -1,
            "filename": "VivisectION-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2951871044b19b95d51988f528f22809",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 72786,
            "upload_time": "2024-08-14T12:56:46",
            "upload_time_iso_8601": "2024-08-14T12:56:46.072731Z",
            "url": "https://files.pythonhosted.org/packages/dd/4d/a9abeb8f163de1895081b21d83d10f66c9e32f1adf5cab0436a8fc97ecc7/VivisectION-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9c54665cc45f896fff4e6843c47d8bfcd31961cfdc79420b43a71a0b41673064",
                "md5": "6ed65780149f38df68e1f337341e3476",
                "sha256": "e16972bdc03b4e59871d6eabedeb505377cc6002242e308b84fca9780ce294b4"
            },
            "downloads": -1,
            "filename": "VivisectION-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "6ed65780149f38df68e1f337341e3476",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 67851,
            "upload_time": "2024-08-14T12:56:47",
            "upload_time_iso_8601": "2024-08-14T12:56:47.705821Z",
            "url": "https://files.pythonhosted.org/packages/9c/54/665cc45f896fff4e6843c47d8bfcd31961cfdc79420b43a71a0b41673064/VivisectION-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-14 12:56:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "atlas0fd00m",
    "github_project": "VivisectION",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "vivisect",
            "specs": [
                [
                    ">=",
                    "1.0.8"
                ]
            ]
        }
    ],
    "lcname": "vivisection"
}
        
Elapsed time: 1.08224s