Package vivisect :: Package analysis :: Package i386 :: Module calling
[hide private]
[frames] | no frames]

Module calling

source code

An i386 specific function analysis module that is designed to attempt to detect the calling convention.

Classes [hide private]
  AnalysisMonitor
Functions [hide private]
 
argcname(callconv, idx) source code
 
buildFunctionApi(vw, fva, emu, emumon) source code
 
analyzeFunction(vw, fva) source code
Variables [hide private]
  regcalls = {(e_i386.REG_ECX,):('thiscall', 1), (e_i386.REG_EAX...
  empty = collections.defaultdict(lambda x:('int', 'arg%d' % x))
  argnames = {'thiscall': {0:('void *', 'ecx'),}, 'msfastcall': ...
Variables Details [hide private]

regcalls

Value:
{(e_i386.REG_ECX,):('thiscall', 1), (e_i386.REG_EAX,):('bfastcall', 1)\
, (e_i386.REG_EAX, e_i386.REG_EDX):('bfastcall', 2), (e_i386.REG_ECX, \
e_i386.REG_EDX):('msfastcall', 2), (e_i386.REG_EAX, e_i386.REG_ECX, e_\
i386.REG_EDX):('bfastcall', 3),}

argnames

Value:
{'thiscall': {0:('void *', 'ecx'),}, 'msfastcall': {0:('int', 'ecx'), \
1:('int', 'edx')}, 'bfastcall': {0:('int', 'eax'), 1:('int', 'edx'), 2\
:('int', 'ecx'),},}