-
Notifications
You must be signed in to change notification settings - Fork 264
Open
Labels
State: Awaiting TriageIssue is waiting for more in-depth triage from a developerIssue is waiting for more in-depth triage from a developer
Milestone
Description
Version and Platform (required):
- Binary Ninja Version: 4.1.4920-dev Personal (23c8f602)
Bug Description:
BNDB
Something is clearly suspect about these this != -0x10 comparisons. I've seen similar patterns many times before, and what they all seem to have in common is the use of the lea instruction.
Disassembly:
Some things that stand out to me here:
- At
7ff69b3fe209,rbxholds a pointer to theFMallocThreadSafeProxy::lockfield (typed asFCriticalSection). Yet BN seems to think thatrbxholds anFMallocThreadSafeProxypointer. - The
testat7ff69b3fe20dis checking that the pointer to thelockfield is non-null (which it can obviously never be).
There's nothing interesting in LLIL here, but switching to MLIL, it seems like the types are right:
None of the advanced IL forms reveal anything interesting AFAICT. The problem seems to occur somewhere during the translation to HLIL.
I don't know if the lea instruction is actually causing this issue, but again, whenever I see this particular pattern of incorrect decompilation, it's always involved a lea.
Roukanken42, foglio1024, ek0 and Zerotistic
Metadata
Metadata
Assignees
Labels
State: Awaiting TriageIssue is waiting for more in-depth triage from a developerIssue is waiting for more in-depth triage from a developer


