The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Oct 28, 2024
Post comments count 1
Post likes count 2

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

Raymond Chen

Only a little, or sometimes not at all.

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

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

Oct 24, 2024
Post comments count 1
Post likes count 1

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

Raymond Chen

If you defeat ASLR, then you can defeat ASLR.

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

Another wrapper function.

Oct 22, 2024
Post comments count 3
Post likes count 5

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

Raymond Chen

The effect was that it shrunk, but only sometimes.

Oct 21, 2024
Post comments count 10
Post likes count 2

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

Raymond Chen

It minimizes your window if it can.

Oct 18, 2024
Post comments count 2
Post likes count 1

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

Raymond Chen

Rewriting the activation frame.

Oct 17, 2024
Post comments count 2
Post likes count 1

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

Raymond Chen

Reusing the activation frame.

Oct 16, 2024
Post comments count 4
Post likes count 3

Effects of classic return address tricks on hardware-assisted return address protection

Raymond Chen

Return address manipulations that are possibly even more impermissible than they already were.