Live data from Hacker News

Any sufficiently advanced uninstaller is indistinguishable from malware

devblogs.microsoft.com

41–50 of 556 posts

Re: Any sufficiently advanced uninstaller is indistinguishable from malware

#45

Any time I see a Microsoft link with a cheeky title, I assume it’s a great Raymond Chen deep dive. Haven’t been wrong yet!

As an aside every time I come across a Raymond Chen article I remember this post from Joel Spolsky - https://www.joelonsoftware.com/2005/05/11/making-wrong-code-...

I remember very distinctly this quote about him:

> The only person in the world who leapt to my defense was, of course, Raymond Chen, who is, by the way, the best programmer in the world, so that has to say something, right?

So in my mind I've made the connection that Raymond Chen = best programmer in the world since then haha.

Re: Any sufficiently advanced uninstaller is indistinguishable from malware

#46
post #7

...or maybe Windows should just offer an API for marking a file for deletion once it's not in use anymore (I understand unlink semantics may not be possible, but that's not what my suggestion above is saying)

I thought I'll be the guy to point out that once again mandatory file locking is to blame, but you beat me to it. I never digged into the question, but why is it used, what benefits did it provide over the UNIX unlink behaviour?

> I never digged into the question, but why is it used, what benefits did it provide over the UNIX unlink behaviour?

How do you defragment/move files that are unreachable on the file system? How do you shrink volumes when you can't move files that need to be moved?

Edit: Actually, hmm... as I type this, I suddenly recall you can also open a file by its ID on NTFS. And you can enumerate its streams as well. So presumably this could work on NTFS if you loop through all file IDs? Though then that would make these files still accessible, not truly unreachable.

Re: Any sufficiently advanced uninstaller is indistinguishable from malware

#48
post #39

Why is the recommended javascript way of doing it var fso = new ActiveXObject("Scripting.FileSystemObject"); rather than var fs = require('fs') // (or the appropriate ES6 incantation) ?

Windows doesn't ship with node.js.

Re: Any sufficiently advanced uninstaller is indistinguishable from malware

#49

I’m probably missing something but why is an uninstaller allowed to inject code into explorer.exe? That seems like a massive security flaw?

What’s the difference between an uninstaller and any other process running as root?

Re: Any sufficiently advanced uninstaller is indistinguishable from malware

#50
post #39

Why is the recommended javascript way of doing it var fso = new ActiveXObject("Scripting.FileSystemObject"); rather than var fs = require('fs') // (or the appropriate ES6 incantation) ?

Because it’s JScript, which was abandoned prior to ES6.
Post reply on HN