Skip to content

Global pointer value not updated during re-analysis #1221

@toolCHAINZ

Description

@toolCHAINZ

Steps to duplicate

Paste the following hex into binja's hex view and make an x86 function at 0:

31c985db7e01c3c3

Now patch the first instruction to be xor ebx, ebx, causing ebx to be evaluated by dataflow to be ConstantValue: 0.

Now, you can undo that, patch in another one, nop it out, whatever, but binja will now think that ebx is ConstantPointerValue: 0 (not even ConstantValue: 0). You can even undefine/recreate the function at 0 and it will still happen.


I first saw this issue pop up in an x68 PE (it manifested without any patching), but the end result of the above example is the same.

Metadata

Metadata

Assignees

Labels

Component: CoreIssue needs changes to the coreEffort: HighIssues require > 1 month of workImpact: MediumIssue is impactful with a bad, or no, workaround

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions