microsoft / microsoft/win32metadata

EncodeRemotePointer/DecodeRemotePointer incorrectly point to api-ms-win-core-util-l1-1-1.dll

Open
#2,249 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
1.5k
Forks
149
Avg merge
5d 16h
Merged PRs (30d)
4

Description

Looks like an SDK bug.

See https://github.com/microsoft/windows-rs/issues/4310 for additional details, but the gist of it is:

```
dumpbin /imports app.exe
...
api-ms-win-core-util-l1-1-1.dll
14001D170 Import Address Table
140026F68 Import Name Table
0 time date stamp
0 Index of first forwarder reference

0 EncodeRemotePointer
```

```
apisetmap | findstr /i api-ms-win-core-util-l1-1-1
api-ms-win-core-util-l1-1-1.dll -> s{kernel32.dll, kernelbase.dll [kernel32.dll]}
```

```
dumpbin /exports C:\windows\system32\kernel32.dll | findstr /i Encode
341 154 EncodePointer (forwarded to NTDLL.RtlEncodePointer)
342 155 EncodeSystemPointer (forwarded to NTDLL.RtlEncodeSystemPointer)
```

Contributor guide

Open the contributing guide

Research direction

Start with the EncodeRemotePointer and DecodeRemotePointer metadata and compare it with the dumpbin and apisetmap output included in the report. Trace where their DLL targets are assigned in the Win32 metadata generation tooling; done means the generated references no longer point to api-ms-win-core-util-l1-1-1.dll incorrectly.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.