👀 .com executables in Windows 11
There is still a handful of seemingly MS-DOS .com executables in Windows 11.
However, if you run them, they execute and operate normally. So, what's the deal?
Well, what's left of them is just an extension. I analyzed the executables, and they all have a PE+ 64 header (
By all definitions, these applications should have an .exe extension, but they still have .com at the end. That doesn't stop them from executing or break anything, but it's a wrong extension to use.
There is still a handful of seemingly MS-DOS .com executables in Windows 11.
However, if you run them, they execute and operate normally. So, what's the deal?
Well, what's left of them is just an extension. I analyzed the executables, and they all have a PE+ 64 header (
PE + 0x6486 little-endian at offset 0xE8 and 0x0B02 little-endian at offset 0x100), meaning they're all modern 64-bit applications.By all definitions, these applications should have an .exe extension, but they still have .com at the end. That doesn't stop them from executing or break anything, but it's a wrong extension to use.
👍72😱17❤11🤔9
📩 why are .com extensions applications supporting 64 bit tho???
The biggest misconception about files in Windows is that extensions are important, and somehow define whether the file runs or not. In reality, extensions are purely cosmetic. You can register parsers for your very own extensions within the registry (
No matter the extension, the contents of the file remain the same, and if the file has executable contents within it, you can run it. In fact, I suggest you try changing the extension of any executable you wish to
The only difference for «executable files» in Windows is that they are the command that runs upon execution. NoEscape (does anyone even remember that?) leverages the registry nature of the executable file association. It sets up a pass-through executable that runs malicious code, but then follows up with running the original executable. Sneaky. It's called a companion virus. Neshta.A is a great example too.
Shell extensions are sort of similar in fashion. You can check my blog post out if you want to know the basics.
The biggest misconception about files in Windows is that extensions are important, and somehow define whether the file runs or not. In reality, extensions are purely cosmetic. You can register parsers for your very own extensions within the registry (
HKLM\Software\Classes ← HKCR) and set verbs and rules for Windows Explorer to follow when it stumbles upon your file association. That's the whole idea of extensions in Windows — to let Windows Shell automate passing the file over to the executable for you. There are protocols too, which Microsoft seem to be more fond of lately... (hello, Android content providers?)No matter the extension, the contents of the file remain the same, and if the file has executable contents within it, you can run it. In fact, I suggest you try changing the extension of any executable you wish to
.jpg and then run that JPEG-file from a command line. The only difference for «executable files» in Windows is that they are the command that runs upon execution. NoEscape (does anyone even remember that?) leverages the registry nature of the executable file association. It sets up a pass-through executable that runs malicious code, but then follows up with running the original executable. Sneaky. It's called a companion virus. Neshta.A is a great example too.
Shell extensions are sort of similar in fashion. You can check my blog post out if you want to know the basics.
👍57🤔10❤6🤬1🎉1
💻 Customer-friendly design
Meet Fujitsu Lifebook U904 (2013). This bad boy completely defies the corporate rule of «if it doesn't fit, it isn't included». They managed to achieve this by making the Ethernet port... foldable.
While the construction is certainly not network admin friendly, and isn't going to last an exceedingly long time, it's far better than no port at all!
Remember this post when a corporation like Apple uses thinness as an excuse to strip your product of features or make you buy overpriced dongles! 😉
Meet Fujitsu Lifebook U904 (2013). This bad boy completely defies the corporate rule of «if it doesn't fit, it isn't included». They managed to achieve this by making the Ethernet port... foldable.
While the construction is certainly not network admin friendly, and isn't going to last an exceedingly long time, it's far better than no port at all!
Remember this post when a corporation like Apple uses thinness as an excuse to strip your product of features or make you buy overpriced dongles! 😉
❤148👍22😱8🎉6
Enderman
Photo
This media is not supported in your browser
VIEW IN TELEGRAM
Here is how the foldable port works!
😱138❤41👍13🎉5👎3🤔1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65❤14😱7🤔4👎3
Enderman
funny pisi photo behind this paywall (maybe it isn't worth it don't buy it)
free pisi photo (it's not as freaky)
😱98❤69👍8👎2🎉2🤔1
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
The day Windows actually died
Hello, my friends! Let's hit 20K likes? Check out my website! https://enderman.ch
This isn't the type of video I commonly produce on this channel. I don't really talk about current topics, but this one I was following too closely to pass by on. The editor…
This isn't the type of video I commonly produce on this channel. I don't really talk about current topics, but this one I was following too closely to pass by on. The editor…
👍51❤10🤔3👎1
😢 The downgrade in software quality
It's not a secret that in recent years the software quality significantly degraded. Many bugs, previously unthinkable, started surfacing, but even more importantly, the developer communication skills have been lost. We've all experienced it with Microsoft's classic «Something happened».
Well, today I stumbled upon a new Blue Screen of Death concept on Twitter (figure 3). That looks awesome, doesn't it! It almost sends chills down my spine how great it actually looks. Seriously. Great job on that design. However, there's an inherent problem with such a design — it's a blue screen, it's designed to be lean and mean, and whatever it takes — let the user know why the computer crashed, as well as give helpful information about the crash to help prevent it in the future.
I've provided you with a chronological arrangement of Windows blue screens. The first one is the Windows XP blue screen, and as you can see, it gives you plenty of information:
▪️ The stop code;
▪️ The parameters;
▪️ The module that caused the crash;
▪️ Debug information for the module;
The Windows 10 blue screen looks nicer and cleaner, but lacks the module debug information, and hides the parameters behind a registry hack. They're not present in a BSOD by default.
The concept is looking so much better, but doesn't provide any information except the stop code! Now imagine your computer bootloops into a blue screen. Not a helpful wingman, I should say! You have better luck firing up WinDbg and analyzing the crash dump just to get the culprit module image name...
Regardless of that concept, it seems like we're headed that way anyhow, unfortunately. That's not the only problem. Let me explain why making the blue screen look nice is a bad idea.
Each element needs to be drawn out, and fancy graphics come at a cost. The computational cost doesn't matter in this case, any modern computer is capable of drawing basic geometry. The cost here is linking additional libraries to import necessary functions or implementing them within the lean bootvid library (I think they still use that).
The number one rule of software engineering — the more dependencies you have, the less reliable the system becomes. That's not what we want with the blue screen of death! We need it to fire each and every time, 100% of the time. The blue screen is actually a program in a sense that it's a routine that's being executed, when certain conditions are met, so it can also crash. The code may fail to execute, and all the user will see is a black screen.
That's certainly not favorable and shouldn't happen. That's why developers should always favor functionality over design.
— Enderman
It's not a secret that in recent years the software quality significantly degraded. Many bugs, previously unthinkable, started surfacing, but even more importantly, the developer communication skills have been lost. We've all experienced it with Microsoft's classic «Something happened».
Well, today I stumbled upon a new Blue Screen of Death concept on Twitter (figure 3). That looks awesome, doesn't it! It almost sends chills down my spine how great it actually looks. Seriously. Great job on that design. However, there's an inherent problem with such a design — it's a blue screen, it's designed to be lean and mean, and whatever it takes — let the user know why the computer crashed, as well as give helpful information about the crash to help prevent it in the future.
I've provided you with a chronological arrangement of Windows blue screens. The first one is the Windows XP blue screen, and as you can see, it gives you plenty of information:
▪️ The stop code;
▪️ The parameters;
▪️ The module that caused the crash;
▪️ Debug information for the module;
The Windows 10 blue screen looks nicer and cleaner, but lacks the module debug information, and hides the parameters behind a registry hack. They're not present in a BSOD by default.
The concept is looking so much better, but doesn't provide any information except the stop code! Now imagine your computer bootloops into a blue screen. Not a helpful wingman, I should say! You have better luck firing up WinDbg and analyzing the crash dump just to get the culprit module image name...
Regardless of that concept, it seems like we're headed that way anyhow, unfortunately. That's not the only problem. Let me explain why making the blue screen look nice is a bad idea.
Each element needs to be drawn out, and fancy graphics come at a cost. The computational cost doesn't matter in this case, any modern computer is capable of drawing basic geometry. The cost here is linking additional libraries to import necessary functions or implementing them within the lean bootvid library (I think they still use that).
The number one rule of software engineering — the more dependencies you have, the less reliable the system becomes. That's not what we want with the blue screen of death! We need it to fire each and every time, 100% of the time. The blue screen is actually a program in a sense that it's a routine that's being executed, when certain conditions are met, so it can also crash. The code may fail to execute, and all the user will see is a black screen.
That's certainly not favorable and shouldn't happen. That's why developers should always favor functionality over design.
— Enderman
😢104👍43❤6👎4
Enderman
Photo
🥲 There is a chance for software
The guy whose design I previously critiqued, shared an updated version of the blue screen concept!
Looking much better now, what do you think?
The guy whose design I previously critiqued, shared an updated version of the blue screen concept!
Looking much better now, what do you think?
👍213❤62🎉12😱7👎3🤔3😢2
Please open Telegram to view this post
VIEW IN TELEGRAM
😱96👍10❤6👎5🤔2
😢 Software quality rot
Did you know the Copilot key is simply a macro for Win + Shift + F23? I wonder why they didn't implement a separate keycode for their AI button. I guess the software quality in general just keeps degrading.
Did you know the Copilot key is simply a macro for Win + Shift + F23? I wonder why they didn't implement a separate keycode for their AI button. I guess the software quality in general just keeps degrading.
🤬138😱22😢13👍9❤8🤔6🎉2👎1