-
Notifications
You must be signed in to change notification settings - Fork 265
Closed
Closed
Copy link
Labels
Component: Type LibrariesEffort: LowIssues require < 1 week of workIssues require < 1 week of workImpact: MediumIssue is impactful with a bad, or no, workaroundIssue is impactful with a bad, or no, workaround
Milestone
Description
Version and Platform (required):
- Binary Ninja Version: 4.2.6455
- OS: macOS
- OS Version: 15.3.2
- CPU Architecture: x64
Bug Description:
The LDR_DATA_TABLE_ENTRY offsets shown in binja are misaligned and incorrect compared to in the binary in a debugger.
Steps To Reproduce:
- Open the binary (provided below)
- Navigate to 0x401757
- Change to Graph View (this was shellcode before converting to a PE, so graph view is just easier to understand).
- Compare
_LDR_DATA_TABLE_ENTRY::InLoadOrderLinks.Flinkand_LDR_DATA_TABLE_ENTRY::SizeOfImageto what this loop shows in a debugger. For some reason, this switches fromInInitializationOrderModuleList(correct) toInLoadOrderLinks
Expected Behavior:
This loop iterates through the InInitializationOrderModuleList and therefore at 0x40174a, the struct member should be the pointer to the Buffer element of the BaseDllName UNICODE_STRING
Screenshots/Video Recording:
View in binja:

Here is the _PEB_LDR_DATA::InInitializationOrderModuleList.Flink in the debugger selected with the cursor.

Here is the BaseDllName with the Length MaximumLength and Buffer selected with the cursor:

Binary:
Reference phrase: "brave wizard glows boldly"
BlasterXiao, dwendt and loadlibraryninja
Metadata
Metadata
Assignees
Labels
Component: Type LibrariesEffort: LowIssues require < 1 week of workIssues require < 1 week of workImpact: MediumIssue is impactful with a bad, or no, workaroundIssue is impactful with a bad, or no, workaround