py_cvt64_sample

summary: add 64-bit (.idb->.i64) conversion capabilities to custom plugins

description:

For more infortmation see SDK/plugins/cvt64_sample example

level: advanced

Attributes

SAMPLE_NETNODE_NAME

DEVICE_INDEX

IDPFLAGS_INDEX

HASH_COMMENT

HASH_ADDRESS

Classes

idp_listener_t

cvt64_ctx_t

Base class for all scripted multi-plugins.

cvt64_sample_t

Base class for all scripted plugins.

Functions

PLUGIN_ENTRY()

Module Contents

py_cvt64_sample.SAMPLE_NETNODE_NAME = '$ cvt64 py_sample netnode'
py_cvt64_sample.DEVICE_INDEX
py_cvt64_sample.IDPFLAGS_INDEX
py_cvt64_sample.HASH_COMMENT = 'Comment'
py_cvt64_sample.HASH_ADDRESS = 'Address'
class py_cvt64_sample.idp_listener_t

Bases: idaapi.IDP_Hooks

ev_cvt64_hashval(node, tag, name, data)

perform 32-64 conversion for a hash value

Parameters:
  • node – (::nodeidx_t)

  • tag – (uchar)

  • name – (const ::char *)

  • data – (const uchar *)

Returns:

0: nothing was done

Returns:

1: converted successfully

Returns:

-1: error (and message in errbuf)

ev_cvt64_supval(node, tag, idx, data)

perform 32-64 conversion for a netnode array element

Parameters:
  • node – (::nodeidx_t)

  • tag – (uchar)

  • idx – (::nodeidx_t)

  • data – (const uchar *)

Returns:

0: nothing was done

Returns:

1: converted successfully

Returns:

-1: error (and message in errbuf)

class py_cvt64_sample.cvt64_ctx_t

Bases: idaapi.plugmod_t

Base class for all scripted multi-plugins.

prochook
run(arg)
class py_cvt64_sample.cvt64_sample_t

Bases: idaapi.plugin_t

Base class for all scripted plugins.

flags = 257
comment = 'IDAPython: An example how to implement CVT64 functionality'
wanted_name = 'IDAPython: CVT64 sample'
wanted_hotkey = ''
help = ''
init()
py_cvt64_sample.PLUGIN_ENTRY()