Now you can do things like this:
#!perl -w use strict; use warnings; use IDA; my $addr = ScreenEA(); my $href = ua_ana($addr); my $str = GetDisasm($addr); if ( defined($href) ) { my $iter; printf("real: %s, %s:\n", $str, get_mnem); foreach $iter ( keys %$href ) { printf("%s: %X\n", $iter, $href->{$iter}); } my $op_idx; for ( $op_idx = 0; $op_idx < 6; $op_idx++ ) { my $op = get_op($op_idx); last if ( !defined $op ); printf("operand %d:\n", $op_idx); foreach $iter ( keys %$op ) { printf(" %s ", $iter); print $op->{$iter} . "\n"; } } }Sample of output:
real: lea ebp, [edx+ecx*4], lea:
ea: 2E29172
flags: 0
insnpref: 0
segpref: 0
ip: 2E29172
auxpref: 1808
size: 3
itype: 5C
cs: 0
operand 0:
reg 5
flags 8
offo 0
offb 0
specflag1 0
dtyp 2
specflag2 0
specflag3 0
specflag4 0
type 1
operand 1:
phrase 4
flags 8
sib_scale 2
offo 0
offb 0
sib_index 1
specflag1 1
dtyp 2
specflag2 4294967178
sib_base 2
specflag3 0
specflag4 0
type 3
Комментариев нет:
Отправить комментарий