Skip to content

[Python] set_user_inline_during_analysis wrapper non-functional with confidence type #8153

Description

@VisualEhrmanntraut

working snippet:

for func in bv.functions:
    if func.inline_during_analysis.confidence == 255:
        val = core.BNInlineDuringAnalysisWithConfidence()
        val.value = InlineDuringAnalysis.DoNotInlineCall
        val.confidence = 0
		
        core.BNSetUserFunctionInlinedDuringAnalysis(
            func.handle,
            val
        )

non-working snippet:

for func in bv.functions:
	if func.inline_during_analysis.confidence == 255:
		func.inline_during_analysis = InlineDuringAnalysisWithConfidence(InlineDuringAnalysis.DoNotInlineCall, confidence=0) # same for func.set_user_inline_during_analysis(InlineDuringAnalysisWithConfidence(InlineDuringAnalysis.DoNotInlineCall, confidence=0))

traceback:

Traceback (most recent call last):
  File "<console>", line 3, in <module>
  File "/Applications/Binary Ninja.app/Contents/MacOS/plugins/../../Resources/python/binaryninja/function.py", line 3579, in set_user_inline_during_analysis
    core.BNSetUserFunctionInlinedDuringAnalysis(self.handle, value)
  File "/Applications/Binary Ninja.app/Contents/MacOS/plugins/../../Resources/python/binaryninja/_binaryninjacore.py", line 71689, in BNSetUserFunctionInlinedDuringAnalysis
    return _BNSetUserFunctionInlinedDuringAnalysis(func, inlined)
ctypes.ArgumentError: argument 2: TypeError: expected BNInlineDuringAnalysisWithConfidence instance instead of InlineDuringAnalysisWithConfidence

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Component: Python APIIssue needs changes to the python APIEffort: TrivialIssues require < 1 day of workImpact: LowIssue is a papercut or has a good, supported workaround

Type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions