Coder Social home page Coder Social logo

patois / necromancer Goto Github PK

View Code? Open in Web Editor NEW
30.0 8.0 4.0 22 KB

IDA Pro V850 Processor Module Extension

License: GNU General Public License v3.0

Python 100.00%
ida-plugin idapython ida-pro processor-module v850 nec ida processor necromancer renesas

necromancer's Introduction

NECromancer

IDA Pro V850 Processor Module Extension

This plugin extends the V850E1 IDA processor module by adding support for certain V850E2 instructions on a per need basis. Rather than modifying the source code of the V850E1 IDA processor module, this script has been developed as an exercise in writing a processor module extension in IDAPython, particularly for version 7 of IDA and onwards.

Installation

Copy NECromancer.py to your IDA plugins directory

necromancer's People

Contributors

ehntoo avatar patois avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

necromancer's Issues

NameError exceptions

Hello,
I am having some trouble using the plugin. Here is a description of the issue, and a quick fix to it.

This is the output after loading the binary in IDA Pro 7:

  bytes   pages size description
--------- ----- ---- --------------------------------------------
  3063808   374 8192 allocating memory for b-tree...
  3063808   374 8192 allocating memory for virtual array...
   262144    32 8192 allocating memory for name pointers...
-----------------------------------------------------------------
  6389760            total memory allocated

Loading processor module C:\Program Files\IDA 7.0\procs\nec850.dll for V850E1...OK
Autoanalysis subsystem has been initialized.
NECromancer intialized.
Analysis options are reset to the configuration file defaults
Loading file XXX into database...
Detected file format: Binary file
  0. Creating a new segment  (00000000-000BB3A4) ... ... OK
Flushing buffers, please wait...ok
File XXX has been successfully loaded into the database.
IDA is analysing the input file...
You may start to explore the input file right now.

At this point I define as code the reset vector address, and I get

-----------------------------------------------------------------------------------------
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] 
IDAPython v1.7.0 final (serial 0) (c) The IDAPython Team <[email protected]>
-----------------------------------------------------------------------------------------
The initial autoanalysis has been finished.

Followed by several exceptions like this:

Exception in IDP Hook function: SWIG director method error. Error detected when calling 'IDP_Hooks.ev_ana_insn'
Traceback (most recent call last):
  File "C:/Program Files/IDA 7.0/plugins/NECromancer.py", line 296, in ev_ana_insn
    return self.decode_instruction(insn)
  File "C:/Program Files/IDA 7.0/plugins/NECromancer.py", line 162, in decode_instruction
    insn.Op2.dtyp = dt_dword
NameError: global name 'dt_dword' is not defined

and some like this:

Exception in IDP Hook function: SWIG director method error. Error detected when calling 'IDP_Hooks.ev_out_mnem'
Traceback (most recent call last):
  File "C:/Program Files/IDA 7.0/plugins/NECromancer.py", line 302, in ev_out_mnem
    color = COLOR_INSN
NameError: global name 'COLOR_INSN' is not defined

I don't know if the issue is because of my IDA Pro config, but I quick-hacked the issue by adding the line from idaapi import * at the very beginning of the script.

Hope it helps. Cheers,

Q.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.