1*9a0e4156SSadaf Ebrahimi#!/usr/bin/env python 2*9a0e4156SSadaf Ebrahimi 3*9a0e4156SSadaf Ebrahimi# Capstone Python bindings, by Nguyen Anh Quynnh <[email protected]> 4*9a0e4156SSadaf Ebrahimi 5*9a0e4156SSadaf Ebrahimifrom __future__ import print_function 6*9a0e4156SSadaf Ebrahimifrom capstone import * 7*9a0e4156SSadaf Ebrahimi 8*9a0e4156SSadaf Ebrahimics = Cs(CS_ARCH_EVM, 0) 9*9a0e4156SSadaf Ebrahimics.detail = True 10*9a0e4156SSadaf Ebrahimi 11*9a0e4156SSadaf Ebrahimifor i in cs.disasm("\x60\x61\x55", 0x100): 12*9a0e4156SSadaf Ebrahimi print("0x%x:\t%s\t%s" %(i.address, i.mnemonic, i.op_str)) 13*9a0e4156SSadaf Ebrahimi if i.pop > 0: 14*9a0e4156SSadaf Ebrahimi print("\tPop: %u" %i.pop) 15*9a0e4156SSadaf Ebrahimi if i.push > 0: 16*9a0e4156SSadaf Ebrahimi print("\tPush: %u" %i.push) 17*9a0e4156SSadaf Ebrahimi if i.fee > 0: 18*9a0e4156SSadaf Ebrahimi print("\tGas fee: %u" %i.fee) 19*9a0e4156SSadaf Ebrahimi if len(i.groups) > 0: 20*9a0e4156SSadaf Ebrahimi print("\tThis instruction belongs to groups: ", end=''), 21*9a0e4156SSadaf Ebrahimi for m in i.groups: 22*9a0e4156SSadaf Ebrahimi print("%s " % i.group_name(m), end=''), 23*9a0e4156SSadaf Ebrahimi print() 24