Live data from Hacker News

Any sufficiently advanced uninstaller is indistinguishable from malware

devblogs.microsoft.com

121–130 of 556 posts

Re: Any sufficiently advanced uninstaller is indistinguishable from malware

#121

Earlier quoted context omitted.

> This goes on for ~100 layers deep then at the end it just downloads and executes some file from the net. I understand doing one layer. I guess I could maybe see two layers. But why would it bother with 100 layers? Either the antivirus or reverse-engineering tool can grab the final product or it can't.

With enough conditional evals() with dynamic inputs you can make the search space unsearchable big.

The search space is linear as the algorithm is linear.

Re: Any sufficiently advanced uninstaller is indistinguishable from malware

#122
Microsoft makes Explorer an integral, unremovable, ever-present part of Windows. Raymond Chen gets very upset when people modify it. Smells of hypocrisy to me. Let go of the de-facto Explorer monopoly and you won't have to deal with these types of problems.

Re: Any sufficiently advanced uninstaller is indistinguishable from malware

#124
post #89
post #52

Earlier quoted context omitted.

Yes, and XULRunner allowed this too, using Gecko, Firefox's web engine, to render HTML-like markup specifically designed to build native-like GUIs. Apparently XULRunner was first released in 2006, but Thunderbird, which uses (used?) the same technology, was released as early as 2003, and maybe this was existing in the Mozilla Suite even before.

Thunderbird never quite used XULRunner, I think; they always built their own binary (though at some point quite a lot of the shared stuff moved into the XRE stuff). Think of it as they had a fork of Firefox (much like Firefox had a stripped down fork of the SeaMonkey stuff). Also, I think one of the Start Menus (might have been XP‽) was kind of HTA-ish? Not sure about that part, though.

> they always built their own binary

> Think of it as they had a fork of Firefox

Yep indeed, you are right.

Notable projects using actual XULRunner included Songbird (a music player) and BlueGriffon, an WYSIWYG HTML editor (a successor of Nvu and KompoZer, themselves succeeding Netscape Composer). Both released after 2006 indeed.

I liked XUL, I strongly believe Mozilla could have dominated the market taken by Electron, had they pushed XULRunner more, and perhaps make it transition to pure HTML, like they did to Firefox's core, because that's what people know and because XUL was a maintenance burden. I think XUL tags made more sense than HTML to build UIs, though, and with XUL, Gecko have had a CSS flex-like mechanism for a long time by the way.

[1] https://en.wikipedia.org/wiki/Songbird_%28software%29

[2] https://en.wikipedia.org/wiki/BlueGriffon

Re: Any sufficiently advanced uninstaller is indistinguishable from malware

#125

Earlier quoted context omitted.

There are already many services and APIs for doing this. It’s more like: A: There are a dozen ways to do this correctly. Which right way should we pick? B: I don’t know, I found this code on the internet. Should I just use it? A: Sure, if it’s on the internet it must be the right way.

> There are already many services and APIs for doing this I... don't think so? The particular problem here, is that an uninstaller executable needs to delete itself from disk after doing its main job. Other than using MoveFileEx with a NULL destination file and the MOVEFILE_DELAY_UNTIL_REBOOT flag, then suggesting/forcing a reboot, I can't think of a straightforward solution. And that solution instantly lights up you…

>Other than using MoveFileEx with a NULL destination file and the MOVEFILE_DELAY_UNTIL_REBOOT flag, then suggesting/forcing a reboot, I can't think of a straightforward solution.

And what's the problem with this?

Re: Any sufficiently advanced uninstaller is indistinguishable from malware

#126
post #16
post #3

And today I learned that Windows supports running Javascript as shell script. huh

Yes, the same way one could write VBS (Visual Basic Script). I think Windows 98 already had this ability. Possibly Windows 95 as well. It's a variant of the language called JScript, which is what was used in old versions of IE too.

It was about Windows 98 that Windows Scripting Host ended up prominent.

WSH btw allowed you to run any language that you had interpreter for - they had to support necessary COM interfaces (and to be truly usable, allow you to call COM objects), and register their interpreter class with ActiveScripting (WSH internal) engine.

Then you could use them not just for desktop automation, but also for scripts inside Internet Explorer (essentially, classic IE used WSH engines to implement scripts, iirc)

I've seen WSH (including HTAs) used with Perl, Python, Tcl, Rexx...so long as you install the interpreter with compatible COM service, you could use it.

Re: Any sufficiently advanced uninstaller is indistinguishable from malware

#127
post #31

Imagine knowing where each file in the system comes from. Imagine having a package system, instead of that crap.

Imagine having 2,000 different config file formats you have to edit within a terminal instead of a central registry hive.

Imagine a file explorer that doesn't simply prompt for admin rights when you need them, instead silently failing.

Re: Any sufficiently advanced uninstaller is indistinguishable from malware

#128
post #54

Earlier quoted context omitted.

For those of us who don't Windows, can you explain what a detour is?

Detours is a library for instrumenting arbitrary Win32 functions Windows-compatible processors. Detours intercepts Win32 functions by re-writing the in-memory code for target functions. The Detours package also contains utilities to attach arbitrary DLLs and data segments (called payloads) to any Win32 binary. Detours preserves the un-instrumented target function (callable through a trampoline) as a subroutine for us…

Interesting. Has anyone done the same thing on Linux?
Post reply on HN