binaryninja/commercial/examples/python/arch_hook.py

17 lines
648 B
Python
Raw Normal View History

2018-12-13 18:39:52 +00:00
from binaryninja.architecture import Architecture, ArchitectureHook
class X86ReturnHook(ArchitectureHook):
def get_instruction_text(self, data, addr):
# Call the original implementation's method by calling the superclass
result, length = super(X86ReturnHook, self).get_instruction_text(data, addr)
# Patch the name of the 'retn' instruction to 'ret'
if len(result) > 0 and result[0].text == 'retn':
result[0].text = 'ret'
return result, length
# Install the hook by constructing it with the desired architecture to hook, then registering it
X86ReturnHook(Architecture['x86']).register()