Stories
Slash Boxes
Comments

SoylentNews is people

posted by janrinok on Friday November 12 2021, @04:53PM   Printer-friendly
from the leopards-don't-change-their-spots dept.

Software analyst Geoff Chappell was the expert hired by Caldera to dig into the infamous AARD code. Recently he made a review of the discovery, publication, earlier work, personal work, and scale of effort involved in analyzing the AARD code, from a historical perpective. He doesn't adress the ethical or political repercussions of the code. However, being a principal in the analysis, he is able to set the record straight on some technical and legal facts.

The AARD code is from back when MS Windows was still just a graphical shell on top of a text-based disk operating system (DOS) and existed briefly as some XOR-encrypted, self-modifying, deliberately obfuscated machine code and using a variety of undocumented DOS structures and functions. The purpose of the code was to detect competing DOSes, specifically, the then popular DR-DOS, and throw up an unnecessary warning when detected.

Some programs and drivers in some pre-release builds of Windows 3.1 include code that tests for execution on MS-DOS and displays a disingenuous error message if Windows is run on some other type of DOS. The message tells of a "Non-fatal error" and advises the user to "contact Windows 3.1 beta support". Some programs in the released build include the code and the error message, and even execute the code, performing the same tests, but without acting on the result to display the error message.

The code in question has become known widely as the AARD code, named after initials that are found within. Although the AARD code dates from the start of the 1990s, it returned to controversy at the end of the 1990s due to its appearance in a suit at law between Caldera and Microsoft. Caldera was by then the owner, after Digital Research and Novell, of what had been DR DOS. It has ever since been treated as a smoking gun in analyses of anti-competitive practices by Microsoft.

It is not my intention here to comment on the rights or wrongs that I may or may not perceive in the AARD code's existence. However, I must declare a financial interest: in 1999 when this note was first published, I was engaged indirectly by Caldera to assist with their understanding of MS-DOS and Microsoft Windows for the suit just mentioned.

What I do intend here is to put on the public record a few points of history.

The AARD code, during its short tenure, was particularly effective in scaring the public away from DR-DOS.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
  • (Score: 2) by iWantToKeepAnon on Friday November 12 2021, @06:29PM (16 children)

    by iWantToKeepAnon (686) on Friday November 12 2021, @06:29PM (#1195708) Homepage Journal
    There were so many systems better then MSDOS and Windows; sad that none of them took off and deposed MS. : |
    --
    "Happy families are all alike; every unhappy family is unhappy in its own way." -- Anna Karenina by Leo Tolstoy
    • (Score: 3, Funny) by weilawei on Friday November 12 2021, @06:49PM (3 children)

      by weilawei (109) on Friday November 12 2021, @06:49PM (#1195719)

      sad that none of them took off and deposed MS.

      Like that Linux thing that was a fad back in the early 90s?

      • (Score: 3, Touché) by DannyB on Friday November 12 2021, @07:09PM

        by DannyB (5839) Subscriber Badge on Friday November 12 2021, @07:09PM (#1195724) Journal

        Like back in 1982, long before that Linux thing.

        --
        People today are educated enough to repeat what they are taught but not to question what they are taught.
      • (Score: 0) by Anonymous Coward on Sunday November 14 2021, @04:43PM (1 child)

        by Anonymous Coward on Sunday November 14 2021, @04:43PM (#1196113)

        Who the hell needs an operating system anyway? Shit runs faster on the bare metal. I'm posting this on a customized C64 and still have 16k spare to...[carrier lost]

        • (Score: 2) by pipedwho on Monday November 15 2021, @04:44AM

          by pipedwho (2032) on Monday November 15 2021, @04:44AM (#1196276)

          I agree with you who needs a
          shitty os to low you down
          when you can just run bare
          metal on a C64. That said, my
          brother's system with MacOS
          seems to run a few thousands
          times faster than my C64 with
          an internet connection that runs
          faster than 1200 baud. The C64
          who could want more?

    • (Score: 4, Informative) by DannyB on Friday November 12 2021, @07:09PM (10 children)

      by DannyB (5839) Subscriber Badge on Friday November 12 2021, @07:09PM (#1195723) Journal

      There were so many systems better then MSDOS and Windows;

      People now don't realize it, but that is exactly right. There were several superior systems available for the PC.

      sad that none of them took off and deposed MS

      There is a reason for that. [soylentnews.org] I wrote that just earlier this morning. I'll repost some here:


      Bill Gates shrewdly asked and got IBM to agree to letting Microsoft rebrand PC DOS as MS DOS and sell it independently. I'm sure IBM couldn't see any possible harm in that. After all it is only IBM who makes the IBM PC. Apple, Tandy and other computer makers' computers won't be compatible with MS-DOS.

      Interesting thing though. The IBM PC was made out of off the shelf parts. Nothing custom. Easy to clone -- other than creating your own BIOS that just happens to have the same entry points for the same functions.

      Once PC clones were born. There was a market for MS-DOS.

      Now here is where Microsoft first turns evil. Hey, Mr PC Clone maker, if you want a license for MS-DOS, you have to pay for a copy of MS-DOS for EVERY computer you sell -- whether or not that computer comes with MS-DOS or not.

      What this did is make it impossible for other OSes (and there were some) to compete with MS-DOS. The customer still had to pay for MS-DOS even if they didn't want it and wanted a Brand X operating system.

      --
      People today are educated enough to repeat what they are taught but not to question what they are taught.
      • (Score: 0) by Anonymous Coward on Friday November 12 2021, @07:45PM (9 children)

        by Anonymous Coward on Friday November 12 2021, @07:45PM (#1195738)

        there were mac clones but apple squashed them?
        on topic: too young to care back then: joystick works? check! sound blaster works? check? himem and emm386 loaded all drivers above 640 kb leaving enough low mem for wing commander? check!

        my "luv" for m$ started to crumble when internet explorer became "unremovable" in win98se.
        *shrug*
        using wine now and noticed i forgot windows stuff already "f#ck me! look at that registry thing!" lolz

        • (Score: 2) by bzipitidoo on Friday November 12 2021, @10:11PM (3 children)

          by bzipitidoo (4388) on Friday November 12 2021, @10:11PM (#1195760) Journal

          What killed it for me was not just MS's untrustworthy code and ways. It was the Borland C++ compiler. Had several really horrendous bugs. Like, if your program used more than 64K RAM, the Borland C++ executable would just reuse the same 64K segment! This bug persisted to at least version 4.5, and I think into 5.0. One option was to pay lots more money for MS Visual C++. Switched to gcc on Linux, and never looked back.

          • (Score: 2) by DannyB on Friday November 12 2021, @10:23PM

            by DannyB (5839) Subscriber Badge on Friday November 12 2021, @10:23PM (#1195766) Journal

            The one C++ compiler that was a disaster for me, on Power Mac, was the Symantec C++ compiler version 8. Prior to that it worked great. And I also had used THINK C and MetroWerks CodeWarrior.

            What really did it in for me (mid-late 90's) was that no two platforms C++ compiler implemented the same subsets of the language. Thus I couldn't expect to make some large subset of my code generic across both Mac and PC.

            Now I'm sure that situation changed over time. But by then I had moved on to (something else) and then to Java.

            --
            People today are educated enough to repeat what they are taught but not to question what they are taught.
          • (Score: 0) by Anonymous Coward on Saturday November 13 2021, @03:20PM (1 child)

            by Anonymous Coward on Saturday November 13 2021, @03:20PM (#1195932)
            You should have bought the conpiler and the manuals, instead of purating it. You eere limited to 64k in tiny memory model (combines code and data into one segment) mode, 128k (separate code and data segments ) in small memory model, then you had compact, medium, large, and huge memory models.

            Reminds me of the time I was talking with the guys at Matrox, and they were complaining that Borland was optimizing away certain variables and replacing them with static values. This was actually a defect in the Microsoft compiler, which didn't have a "volitile" keyword for variables modified outside the programs control, such as an external clock or video hardware. So they wouldn't optimize out any variables that COULD be replaced by static values.

            That you thought the 64k limit was a compiler defect shows that you were incompetent. It was VERY easy to seitch memory model, especially in the IDE.

            • (Score: 3, Interesting) by bzipitidoo on Saturday November 13 2021, @10:40PM

              by bzipitidoo (4388) on Saturday November 13 2021, @10:40PM (#1195987) Journal

              You troll, but I'll respond anyway.

              I did buy it. Why did you assume otherwise? And I tried every one of those memory models, hoping to fix the problem. Not even "huge" avoided the flaw. Borland C++ is a toy compiler, okay for small school projects that stay well under 64K data. Even if your contention is correct that it was an intentional crippling to punish piracy, such treacherous design is stupidly risky. A false positive can too easily happen, and screw the paying customer. Sneakily injecting a flaw that could take much time to discover, rather than up-front telling the user of a licensing problem, is the height of treachery. Damned unfair to downstream users who had no part in any alleged piracy of the compiler by the developers. One has to wonder what else the compiler is doing? Maybe inserting back doors in the binary? Compilers must never abuse that trust. One reason it took me so long to figure out the problem is that I trusted the compiler, and thought that whatever was wrong was my mistake, in my code.

              One flaw in version 2 that was fixed by 4.5 was its inability to handle the =<< and =>> shift assignment operators. Version 2 would throw up a screen of x86 assembly showing either SHL AX,n or SHR AX,n respectively, and those instructions aren't supposed to have a immediate amount, it can be only a shift of 1, or the amount in CL. At least, that's the way it was in pre-64bit days, not sure now with the frequent extensions of the x86 instruction set. Easily worked around by using the slightly more verbose notation "y = x >> 1;" but not something to inspire confidence in the compiler.

        • (Score: 2) by DannyB on Friday November 12 2021, @10:20PM (4 children)

          by DannyB (5839) Subscriber Badge on Friday November 12 2021, @10:20PM (#1195765) Journal

          The only Mac cone was blessed by Apple.

          After much pressure, Apple finally decided to allow third parties to build Mac clones. One company bit. I can't remember for sure, but I think the name was Power Computing. (I can't swear to that.)

          We got one for testing. It worked. But it felt like a cheap PC clone. Not like a Mac. The software was the same. But the experience was not. Like a PC clone, you could be sure that the company had paid people to sharpen the edges of the metal inside the case so that you would cut your hand open if you dared open the case to insert a peripheral card into a slot. That was typical of PC clones. Why go to the expense of sharpening all of those metal edges? Or needing tools to open the case.

          With a Mac, you could safely open the case with your bare hands. No tools. Not even a screwdriver. The case was hinged. You flipped the top over exposing the inside. Everything was neatly arranged and accessible. As though someone had put actual thought into the user experience for someone adding or removing a card, or servicing a drive.

          --
          People today are educated enough to repeat what they are taught but not to question what they are taught.
          • (Score: 0) by Anonymous Coward on Saturday November 13 2021, @12:23AM

            by Anonymous Coward on Saturday November 13 2021, @12:23AM (#1195799)

            The sharp edges are a result of the stamping method used to make the cases. IBM, Apple, and the better clone case makers either rolled the edges afterwards or ran a dremel over them to remove the burs, but that costs money so the cheap case makers never bothered. It wasn't until the metal got thin enough that severe injuries happened and lawsuits forced them to change around the late 90's to early 2k's.

          • (Score: 0) by Anonymous Coward on Saturday November 13 2021, @11:53AM (2 children)

            by Anonymous Coward on Saturday November 13 2021, @11:53AM (#1195901)

            haha, "open a mac". new generation reading this today are like: "what is "open a mac"?"

            • (Score: 2) by DECbot on Saturday November 13 2021, @03:18PM (1 child)

              by DECbot (832) on Saturday November 13 2021, @03:18PM (#1195931) Journal

              That's what Apple geniuses do at the tech bar when you crack your screen. It requires lasers, special tools, and UV ovens.

              --
              cats~$ sudo chown -R us /home/base
              • (Score: 0) by Anonymous Coward on Saturday November 13 2021, @03:25PM

                by Anonymous Coward on Saturday November 13 2021, @03:25PM (#1195933)
                On the iPhone it requires a hair dryer and a few guitar picks. No genius there. And the glue is necessary for water resistance - gaskets would require thicker cases to distribute the pressure evenly along the gasket, fasteners, wtc.

                Not everyone wants a phone the size of an Otterbox in their pocket.

    • (Score: 0) by Anonymous Coward on Saturday November 13 2021, @02:47AM

      by Anonymous Coward on Saturday November 13 2021, @02:47AM (#1195837)

      But the other systems required more expensive hardware (more resources) to run than DOS did. They also didn't run on an open hardware platform with a thriving free market.

      Speaking of shit software platforms, I would give anything to have an alternative to our modern standard of open sores webshit software. It's the slowest, most unstable, and least documented platform to develop for. It was a giant leap backwards.

  • (Score: 2) by DannyB on Friday November 12 2021, @07:23PM (4 children)

    by DannyB (5839) Subscriber Badge on Friday November 12 2021, @07:23PM (#1195726) Journal

    I remember that Dr. Dobbs article. It reinforced my negative view of Microsoft. (disclosure: I was a card carrying Apple fanboy at the time, so naturally I wasn't a Microsoft fan.)

    --
    People today are educated enough to repeat what they are taught but not to question what they are taught.
    • (Score: 5, Interesting) by canopic jug on Friday November 12 2021, @07:33PM (3 children)

      by canopic jug (3949) Subscriber Badge on Friday November 12 2021, @07:33PM (#1195729) Journal

      I remember that Dr. Dobbs article. It reinforced my negative view of Microsoft.

      That's more than the Dr Dobbs does. You have to turn to the Internet Archive for that 1999 article: Examining the Windows AARD Detection Code: A serious message--and the code that produced it [archive.org]. Strange how of the few sites keeping archives, the inconvenient topics somehow vanish anyway.

      --
      Money is not free speech. Elections should not be auctions.
      • (Score: 2) by canopic jug on Friday November 12 2021, @07:40PM

        by canopic jug (3949) Subscriber Badge on Friday November 12 2021, @07:40PM (#1195735) Journal
        s/1999/1993/
        --
        Money is not free speech. Elections should not be auctions.
      • (Score: 0) by Anonymous Coward on Friday November 12 2021, @07:52PM

        by Anonymous Coward on Friday November 12 2021, @07:52PM (#1195740)
        That was a great read, thanks for the blast from the past.
      • (Score: 2) by DannyB on Friday November 12 2021, @10:12PM

        by DannyB (5839) Subscriber Badge on Friday November 12 2021, @10:12PM (#1195761) Journal

        I was a Mac guy. I remember reading about this. I am not completely sure what year it was, or even if it were Dr. Dobbs. But I do remember the news. And an article that explained some of the analysis.

        --
        People today are educated enough to repeat what they are taught but not to question what they are taught.
  • (Score: 3, Insightful) by epitaxial on Saturday November 13 2021, @04:32AM (5 children)

    by epitaxial (3165) on Saturday November 13 2021, @04:32AM (#1195849)

    Don't tell us what the fuck AARD code is or anything. https://en.wikipedia.org/wiki/AARD_code [wikipedia.org]

    • (Score: 0) by Anonymous Coward on Saturday November 13 2021, @05:21AM (1 child)

      by Anonymous Coward on Saturday November 13 2021, @05:21AM (#1195857)

      Don't tell us what the fuck AARD code is or anything.

      They probably felt it was unnecessary because it's so well known, like writing about wheels without taking the time to explain what they are and their historical significance.

      • (Score: 0) by Anonymous Coward on Sunday November 14 2021, @04:52PM

        by Anonymous Coward on Sunday November 14 2021, @04:52PM (#1196117)

        Mmm I love cheese1

    • (Score: 3, Touché) by canopic jug on Saturday November 13 2021, @05:25AM

      by canopic jug (3949) Subscriber Badge on Saturday November 13 2021, @05:25AM (#1195859) Journal
      From the summary, second paragraph: > [...] existed briefly as some XOR-encrypted, self-modifying, deliberately obfuscated machine code and using a variety of undocumented [MS-]DOS structures and functions. The purpose of the code was to detect competing DOSes, specifically, the then popular DR-DOS, and throw up an unnecessary warning when detected. Or, you could have read either link.
      --
      Money is not free speech. Elections should not be auctions.
    • (Score: 2) by drussell on Saturday November 13 2021, @09:46AM (1 child)

      by drussell (2678) on Saturday November 13 2021, @09:46AM (#1195892) Journal

      It is literally the second paragraph of the summary....

      The AARD code is from back when MS Windows was still just a graphical shell on top of a text-based disk operating system (DOS) and existed briefly as some XOR-encrypted, self-modifying, deliberately obfuscated machine code and using a variety of undocumented DOS structures and functions. The purpose of the code was to detect competing DOSes, specifically, the then popular DR-DOS, and throw up an unnecessary warning when detected.

      • (Score: 0) by Anonymous Coward on Saturday November 13 2021, @03:30PM

        by Anonymous Coward on Saturday November 13 2021, @03:30PM (#1195935)
        Anyone seeking out DrDos knew the warning was bogus, same as the warning for not using a Microsoft mouse driver.

        It was poor marketing that killed DrDos. I went looking for it and couldn't buy it. If you're not in retailers, you were invisible.

(1)