Archive for the ‘Windows Development’ Category
Posted by jpluimers on 2026/10/28
Will probably be useful for me somewhere in the future: [Wayback /Archive] hasherezade/exe_to_dll: Converts a EXE into DLL.
It is based on [Wayback/Archive] Calling Arbitrary Functions In EXEs: Performing Calls to EXE Functions Like DLL Exports | mavlevin
When reversing or fuzzing an executable, being able to run an arbitrary function with controlled data is extremely helpful. Through iteratively playing with the function’s parameters and examining the output, we can better understand the function’s logic.
Note that this best works with console EXE files as UI based ones far more often assume their main module is the process itself (for instance to load resources).
TODO: check what happens when applying this to Delphi and .NET based .EXE files.
Via [Wayback/Archive] hasherezade on Twitter: “If you ever need to convert an EXE into a DLL: // #exe_to_dll “
Read the rest of this entry »
Posted in Development, Software Development, Windows Development | Leave a Comment »
Posted by jpluimers on 2026/10/27
[Wayback/Archive] snowcra5h/windows-api-function-cheatsheets: A reference of Windows API function calls, including functions for file operations, process management, memory management, thread management, dynamic-link library (DLL) management, synchronization, interprocess communication, Unicode string manipulation, error handling, Winsock networking operations, and registry operations.
Via [Wayback/Archive] snowcrash on Twitter: “🚀 Just released an updated Windows API function cheatsheet! 📚💻 Level up your skills in #ReverseEngineering #MalwareAnalysis and more with this comprehensive resource. #WindowsAPI #CheatSheet 🔗 Check it out:”
–jeroen
Read the rest of this entry »
Posted in Development, Software Development, Windows Development | Leave a Comment »
Posted by jpluimers on 2026/09/02
Found this way after I fiddled doing this in PowerShell: [Wayback/Archive] sjmulder/netwake: Simple Wake-on-LAN utility for Windows – all the way up from 3.11, plus a CLI by [Wayback/Archive] sjmulder (Sijmen J. Mulder).
Unlike PowerShell, this works on a way broader range of Windows versions (:
(note that on Windows 3.11, you need to install Win32s first)
There are both CLI and GUI editions:
It’s cool to see such minimalistic C programs for a change. It reminds me of The Old New Thing by Raymond Chen.
At the time of writing there are four [Wayback/Archive] Releases · sjmulder/netwake all documented at [Wayback/Archive] netwake/CHANGELOG.md at master · sjmulder/netwake · GitHub.
Related blog post: Wake-on-LAN from a Windows machine.
–jeroen
Posted in C, Development, Ethernet, Hardware, Network-and-equipment, Power User, Software Development, Wake-on-LAN (WoL), Windows Development | Leave a Comment »
Posted by jpluimers on 2026/08/05
20260805: edits as since scheduling, some links suffered link rot and a new tool appeared.
For my link archive because – for offline usage – sometimes Windows XP is still useful to run tools that have never been made compatible with less ancient hardware/software combinations.
The xp_activate32.exe mentioned below emulates the phone-activation response and is the important bit for me as I can re-use existing Windows XP license keys that I already have.
The WindowsXPKg generates new Windows XP license keys.
Read the rest of this entry »
Posted in C, C++, Development, Power User, Software Development, Windows, Windows Development, Windows XP | Leave a Comment »
Posted by jpluimers on 2026/07/22
Some are surprised but because of MS-DOS 2.x compatibility:
`c:tmp.txt` is a valid file path on Windows
Since each drive letter remembers the current directory and that memory bit is not thread-local nor process-local, so relying on it is bad practice.
The above is a quote from [Wayback/Archive] Oleksii Holub 🇺🇦 on Twitter: “So I was trying to understand the difference between <code>Path.IsPathRooted(...)</code> and <code>Path.IsPathFullyQualified(...)</code> and learned that apparently <code>c:tmp.txt</code> is a valid file path on Windows 🤯” which has an image without alt-text on a long bit of Microsoft documentation which I will further quote below.
Many people don’t know this, so here is a list of variations on relative paths:
Read the rest of this entry »
Posted in Conference Topics, Conferences, Development, EKON, Event, History, MS-DOS, Power User, Retrocomputing, Software Development, Windows Development | Leave a Comment »
Posted by jpluimers on 2026/06/10
[Wayback/Archive] This is useful for playing back in Cartrain CP7##BMW devices (currently CP700BMW, CP730BMW, CP740BMW) as these play back in the order in which directories and files have been created. which is related to Elektronik-Idee – CP740BMW – USB wireless MP3 Player (with Bluetooth and Audio/Video in support) and fully PowerShell 2.0 compatible:
Script to recursively copy directories in alphabetical order from source-base-directory to destination-base-directory
while adding an intermediate directory with a single uppercase letter in destination-base-directory for
each set of directories under source-base-directory starting with that letter.
This is useful for playing back in Cartrain CP7##BMW devices (currently CP700BMW, CP730BMW, CP740BMW)
as these play back in the order in which directories and files have been created, as per:
- https://www.cartain.de/downloads/cp740bmw/CP740BMW-OM.pdf
Unterordner sind hervorragend geeignet um Musik besser zu organisieren. Dateinamen und Unterverzeichnis sind in der Reihenfolge gleichgestellt. Die Wiedergabe der Titel in sämtlichen Unterordnern erfolgt der Reihe nach wie sie auf den USB Stick kopiert wurde
- https://www.cartain.de/downloads/cp740bmw/CP740BMW-OM-EN.pdf
Sub folders are a good possibility to organize your music collection. The order of playback is the same order you copied the files onto the card.
- https://www.cartain.de/downloads/cp730bmw/CP730BMW-OM.pdf
- https://www.cartain.de/downloads/cp730bmw/CP730BMW-OM-EN.pdf
–jeroen
Read the rest of this entry »
Posted in .NET, CommandLine, Development, PowerShell, PowerShell, Scripting, Software Development, Windows Development | Leave a Comment »
Posted by jpluimers on 2026/05/07
A few years back this trick was shown to screw up %windir%\system32 [Wayback/Archive] Patrick Doyle on Twitter: “@SwiftOnSecurity @RoseAreaZero Delete any file in three easy steps: > takeown /F "example.ext" > icacls "example.ext" /grant "%USERNAME%":F > del "example.ext"“.
Like [Wayback/Archive] SwiftOnSecurity (@SwiftOnSecurity) / Twitter (see the long thread further below), I was expecting that Windows would either prevent you from doing this at all, or allow for easy recovery with System File Protection (now Source: Windows File Protection).
That didn’t prevent or recover it back then.
I wonder if that has been changed by now.
From the above Tweet:
Delete any file in three easy steps:
> takeown /F "example.ext"
> icacls "example.ext" /grant "%USERNAME%":F
> del "example.ext"
Read the rest of this entry »
Posted in Batch-Files, Development, Power User, Scripting, Security, Software Development, Windows, Windows 10, Windows 11, Windows Development | Leave a Comment »
Posted by jpluimers on 2026/04/21
This batch file works for modern Click-to-Run (sometimes called ClickToRun, Click2Run or C2R) based Office installations (note the odd lowercase microsoft shared which indeed is the actual directory name):
if exist "%CommonProgramFiles%\microsoft shared\ClickToRun\OfficeC2RClient.exe" (
"%CommonProgramFiles%\microsoft shared\ClickToRun\OfficeC2RClient.exe" /update user
) else (
echo could not find the Office Updater
)
This for sure does not work for MSI based Office 2013 and lower (which are updated through Windows Update anyway). Since I only have 2021 online (Click-to-Run) installs and higher to test with: those work fine.
Read the rest of this entry »
Posted in Batch-Files, Development, Office, Office 2021, Office Development, Power User, Scripting, Software Development, Windows, Windows Development | Leave a Comment »
Posted by jpluimers on 2026/04/07
Windows had its own aCropalypse in the Snipping tool, but other UWP based applications are vulnerable of that too because of this:
[Wayback/Archive] Steven Murdoch on Twitter: “However, the new “more secure” Universal Windows Platform (UWP) sandboxes the file picker in a separate process, allowing neat features like capability-based access control. It returns a file handle which, if the selected file exists, will not overwrite the existing content! 3/9”
It is part of this interesting [Wayback/Archive] Thread by @sjmurdoch on Thread Reader App with these two parts just after the above Tweet:
The old Win32 API for saving a file was (roughly) to show a file picker, get the filename the user selected, and then open the file. To open a file, the programmer must specify whether to overwrite the file or not, and example code usually does overwrite the file.
However, the new “more secure” Universal Windows Platform (UWP) sandboxes the file picker in a separate process, allowing neat features like capability-based access control. It returns a file handle which, if the selected file exists, will not overwrite the existing content!
The tread continued supporting this statement, that in the new situation you need to manually truncated the file, and referenced these links:
Read the rest of this entry »
Posted in .NET, Conference Topics, Conferences, Development, Event, SocialMedia, Software Development, Twitter, UWP (Universal Windows Platform), Windows Development | Leave a Comment »