The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

I have enabled “take ownership” permission, but I still cannot obtain write access
Oct 30, 2024
Post comments count 0
Post likes count 2

I have enabled “take ownership” permission, but I still cannot obtain write access

Raymond Chen
Raymond Chen

Taking ownership is only one part of gaining write access.

Reverse-engineering what a “short” section is
Oct 29, 2024
Post comments count 0
Post likes count 1

Reverse-engineering what a “short” section is

Raymond Chen
Raymond Chen

The long and short of it all.

How useful is the hint passed to the <CODE>std::<WBR>unordered_…</CODE> collections?
Oct 28, 2024
Post comments count 1
Post likes count 1

How useful is the hint passed to the std::unordered_… collections?

Raymond Chen
Raymond Chen

Only a little, or sometimes not at all.

How can I explicitly specialize a templated C++ constructor, follow-up notes
Oct 25, 2024
Post comments count 0
Post likes count 2

How can I explicitly specialize a templated C++ constructor, follow-up notes

Raymond Chen
Raymond Chen

You can use a maker function, but that doesn't let you escape the problem.

It rather involved being on the other side of the airtight hatchway: Defeating ASLR after you’ve gained RCE via ROP
Oct 24, 2024
Post comments count 1
Post likes count 0

It rather involved being on the other side of the airtight hatchway: Defeating ASLR after you’ve gained RCE via ROP

Raymond Chen
Raymond Chen

If you defeat ASLR, then you can defeat ASLR.

How do I create a Windows Runtime <CODE>IRandom­Access­Stream</CODE> around a bunch of bytes or a classic COM <CODE>IStream</CODE>?
Oct 23, 2024
Post comments count 2
Post likes count 2

How do I create a Windows Runtime IRandom­Access­Stream around a bunch of bytes or a classic COM IStream?

Raymond Chen
Raymond Chen

Another wrapper function.

Did Windows 95 shrink the default font size of windowed MS-DOS apps?
Oct 22, 2024
Post comments count 3
Post likes count 4

Did Windows 95 shrink the default font size of windowed MS-DOS apps?

Raymond Chen
Raymond Chen

The effect was that it shrunk, but only sometimes.

Why does adding <CODE>WS_<WBR>MINIMIZE­BOX</CODE> change how my window behaves when the user presses <KBD>Win</KBD>+<KBD>D</KBD>?
Oct 21, 2024
Post comments count 10
Post likes count 1

Why does adding WS_MINIMIZE­BOX change how my window behaves when the user presses Win+D?

Raymond Chen
Raymond Chen

It minimizes your window if it can.

Evaluating tail call elimination in the face of return address protection, part 2
Oct 18, 2024
Post comments count 2
Post likes count 0

Evaluating tail call elimination in the face of return address protection, part 2

Raymond Chen
Raymond Chen

Rewriting the activation frame.