The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,839 other subscribers

Archive for the ‘Windows Development’ Category

Disabling the ever returning screens after Windows install/upgrade, and advertisements/feeds

Posted by jpluimers on 2025/07/21

This started out ad a post to make things easier for my mentally brother, but then I figured it makes it so much easier for myself as well: getting rid of the evern returning Windows nag screens. Not just the ones after logon during initial Windows install that get back about every other Windows 20H update (thank god they stepped away from 19## version numbering that felt so, ehm, last millennium), but also the various “suggestions” in start menu, on the taskbar and elsewhere.

I understand that basically giving Windows 10 and 11 for free to many Windows 7/8 licensed machines or Windows-preinstalled machines induces Microsoft to see Windows as an advertising environment, but hey: many users can do without these distractions.

It is hard to solve, as even the underlying registry settings seem to be reset every once in a while, and solving it globally is not an option: the settings are a per-user one. Which means you need to run script early during every Windows logon to overwrite these settings.

Read the rest of this entry »

Posted in Batch-Files, CommandLine, Conference Topics, Conferences, Development, Event, Power User, PowerShell, PowerShell, Registry Files, Scripting, Software Development, Windows, Windows 10, Windows 11, Windows Development | Tagged: | Leave a Comment »

Q145994: HOWTO: Calculate Dialog Units When Not Using the System Font | KnowledgeBase Archive

Posted by jpluimers on 2025/07/17

It is odd that Microsoft now verifies to an external party because most of the Microsoft KB articles got deleted: [Wayback/Archive] Q145994: HOWTO: Calculate Dialog Units When Not Using the System Font | KnowledgeBase Archive.

Part of them document aspects from Microsoft Foundation Class Library – Wikipedia which is still supported.

Via: [Wayback/Archive] How does the dialog manager calculate the average width of a character? – The Old New Thing:

Read the rest of this entry »

Posted in C++, Development, Software Development, Visual Studio C++, Windows Development | Leave a Comment »

Of interest – GitHub – t-d-k/LibreCrypt: LibreCrypt: Transparent on-the-fly disk encryption for Windows. LUKS compatible.

Posted by jpluimers on 2025/06/17

Of interest – despite the known issues and LUKS workaround through WSL – mainly as the majority was written in Delphi: [Wayback/Archive] GitHub – t-d-k/LibreCrypt: LibreCrypt: Transparent on-the-fly disk encryption for Windows. LUKS compatible.

Found when researching TFrame – What is the accepted way to use frames in Delphi? – Stack Overflow.

Related: Read the rest of this entry »

Posted in Delphi, Development, Encryption, Power User, Software Development, Windows Development | Leave a Comment »

Sequoiaview altrnatives

Posted by jpluimers on 2025/06/12

I wrote about Sequoiaview in depth in SequoiaView Homepage, made some research notes in “cushion treemap” delphi – Google Search and touched it slightly in A choco install list.

I never heard back from my request for Sequoiaview source code, and given ever increasing local storage media sizes, the speed of it now has become an issue, so I started looking to see if more alternatives have appeared and what sets them apart.

TL;DR

  1. There is the open source WinDirStat that runs as non-admin and is about as slow as Sequoiaview
  2. There is the closed source but free for personal use WizTree that requires admin elevation and is much faster than Sequoiaview and WinDirStat

Neither of them allow for a view that is cushion treemap only.

The reason that WizTree is fast is that it directly uses the NTFS MFT (Master File Table) to read the information from. This requires elevated permissions.

This is the same mechanism used by the Everything search tool, but unlike Everything, WizTree:

Read the rest of this entry »

Posted in C++, Development, Encoding, Mojibake, Software Development, UTF-8, Windows Development | Tagged: | Leave a Comment »

Bypassing ACLs with SeRestore privilege. And very simple User to LocalSystem elevation. – YouTube

Posted by jpluimers on 2025/05/28

This is cool and scary at the same time, especially since I knew about other privileges (SeDebugPrivilege comes to mind).

Granted you need to be local administrator for this, but still: for some tasks you do not need to elevate in the traditional way, but just give your current token more privileges.

[Wayback/Archive] Bypassing ACLs with SeRestore privilege. And very simple User to LocalSystem elevation. – YouTube

Via [WaybackSave/Archive] Grzegorz Tworek on X: “Friendly Reminder: If you have admin privileges but lack the necessary file permissions, you can leverage the SeBackup/SeRestore privileges directly from cmd.exe! There’s no need to elevate to LocalSystem, duplicate TrustedInstaller, or use similar methods. Simply enable the …”

Read the rest of this entry »

Posted in C, Development, Power User, Software Development, Windows, Windows Development | Leave a Comment »

Debugging Win32 binaries in Ghidra via Wine

Posted by jpluimers on 2025/05/20

For my link archive: [Wayback/Archive] Debugging Win32 binaries in Ghidra via Wine

[Wayback/Archive] Ghidra is a cross-platform reverse-engineering and binary analysis tool, with recent versions including support for dynamic analysis. I want to try using it as a replacement for IDA Pro in reverse-engineering of Win32 binaries, but hit bugs related to address space detection when running gdbserver with Wine ([Wayback/Archive] ghidra#4534).

This post contains custom GDB commands that allow Ghidra to query the Linux process ID and memory maps of a Win32 target process running in 32-bit Wine on a 64-bit Linux host.

Via [Wayback/Archive] Ptrace Security GmbH on Twitter: “Debugging Win32 binaries in Ghidra via Wine #Pentesting #Debugging #CyberSecurity #Infosec”.

--jeroen

Posted in Debugging, Development, Software Development, Windows Development | Tagged: , , , | Leave a Comment »

Exceptions and DLL in Delphi – Stack Overflow

Posted by jpluimers on 2025/05/20

Every once in a while I discover an answer I have not yet put on my blog, especially as related answer are always interesting.

This is one that didn’t make it until now: [Wayback/Archive] Exceptions and DLL in Delphi – Stack Overflow (thanks [Wayback/Archive] jpfollenius, [Wayback/Archive] Deltics and [Wayback/Archive] Lars Truijens)

Read the rest of this entry »

Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development, Undocumented Delphi, Windows Development | Leave a Comment »

VSoft Technologies – Vincent Parrett on “Code Signing with USB Tokens”

Posted by jpluimers on 2025/04/17

It has been quite a while since I had to do code signing, but sooner or later that will change. When that happens, I need to re-read these:

--jeroen

PS:

  1. [Wayback/Archive] Post by @guidoleenders.emp.invantive.com — Bluesky (by running this in the cloud)
  2. [Wayback/Archive] Post by @guidoleenders.emp.invantive.com — Bluesky )by running this on a Raspberry Pi)

Posted in Development, Software Development, Windows Development | Leave a Comment »

Windows Installer is transactional, but combined with NTFS and installer processes is not fully: do more C:\Config.msi vulnerabilities exist? (plus a truckload of information on Windows SIDs)

Posted by jpluimers on 2025/04/10

Over the last years a few C:\Windows.msi vulnerabilities have been discovered (and fixed), of which some are linked below.

The core is that the Windows Installer tries to be transactional, and NTFS is, but the combination with installer processes isn’t.

That leads into vulnerabilities where you can insert malicious Roll Back Scripts (.rbs files) and Roll Back Files (.rbf files), and I wonder if by now more have been discovered.

So this post is a kind of reminder to myself (:

Oh, and I learned much more about whoami on Windows, as there  whoami /groups shows very detailed SID information. From that, I learned more on the internals of SIDs too!

Read the rest of this entry »

Posted in Blue team, C++, Development, Power User, Red team, Security, Software Development, Visual Studio C++, Windows, Windows Development | Tagged: , , , | Leave a Comment »

From Turbo Pascal to Delphi to C# to TypeScript, an interview with PL legend Anders Hejlsberg – YouTube

Posted by jpluimers on 2025/04/09

Nice historic perspective: [Wayback/Archive] From Turbo Pascal to Delphi to C# to TypeScript, an interview with PL legend Anders Hejlsberg – YouTube

Via [Wayback/Archive] Zack Urlocker on Twitter: “Great interview with @ahejlsberg on the evolution of programming languages, the rise of TypeScript and more. Anders is one of the best programmers I ever worked with. …”

--jeroen

Posted in .NET, Borland Pascal, C#, Delphi, Development, History, JavaScript/ECMAScript, MS-DOS, Pascal, Scripting, Software Development, Turbo Pascal, TypeScript, Windows Development | Leave a Comment »