MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / set_call_reg_stack_adjustment

Method set_call_reg_stack_adjustment

python/function.py:2813–2829  ·  view source on GitHub ↗
(
	    self, addr: int, adjust: Mapping['architecture.RegisterStackName',
	                                     Union[int, 'types.RegisterStackAdjustmentWithConfidence']],
	    arch: Optional['architecture.Architecture'] = None
	)

Source from the content-addressed store, hash-verified

2811 core.BNSetUserCallStackAdjustment(self.handle, arch.handle, addr, adjust.value, adjust.confidence)
2812
2813 def set_call_reg_stack_adjustment(
2814 self, addr: int, adjust: Mapping['architecture.RegisterStackName',
2815 Union[int, 'types.RegisterStackAdjustmentWithConfidence']],
2816 arch: Optional['architecture.Architecture'] = None
2817 ) -> None:
2818 if arch is None:
2819 arch = self.arch
2820 adjust_buf = (core.BNRegisterStackAdjustment * len(adjust))()
2821
2822 for i, reg_stack in enumerate(adjust.keys()):
2823 adjust_buf[i].regStack = arch.get_reg_stack_index(reg_stack)
2824 value = adjust[reg_stack]
2825 if not isinstance(value, types.RegisterStackAdjustmentWithConfidence):
2826 value = types.RegisterStackAdjustmentWithConfidence(int(value))
2827 adjust_buf[i].adjustment = value.value
2828 adjust_buf[i].confidence = value.confidence
2829 core.BNSetUserCallRegisterStackAdjustment(self.handle, arch.handle, addr, adjust_buf, len(adjust))
2830
2831 def set_call_reg_stack_adjustment_for_reg_stack(
2832 self, addr: int, reg_stack: 'architecture.RegisterStackType',

Callers

nothing calls this directly

Calls 2

get_reg_stack_indexMethod · 0.80
keysMethod · 0.45

Tested by

no test coverage detected