Jump to content

英文维基 | 中文维基 | 日文维基 | 草榴社区

AARD code

From Wikipedia, the free encyclopedia

An example of the error message the AARD code would produce

The AARD code was a segment of code in a beta release of Microsoft Windows 3.1 that would issue a cryptic error message when run on the DR-DOS operating system rather than the Microsoft-affiliated MS-DOS or PC DOS. Microsoft inserted the code in an attempt to manipulate people into not using competing operating systems; it is an example of the company's fear-uncertainty-doubt tactics.

Description

[edit]

This XOR-encrypted, self-modifying, and deliberately obfuscated x86 assembly code used a variety of undocumented MS-DOS structures and functions to detect if a machine was running DR-DOS. The code was present in the installer, in the WIN.COM file used to load Windows, and in several other EXE and COM files within Windows 3.1.[1]

The AARD code was discovered by Geoff Chappell on 17 April 1992 and further analyzed and documented in a joint research effort with Andrew Schulman.[2][3][4][5][6] The name "AARD code" came from the letters "AARD" that were found in a hex dump of the Windows 3.1 installer; this turned out to be the signature of Microsoft programmer Aaron R. Reynolds (1955–2008).[7][8][9]

Microsoft disabled the AARD code for the final release of Windows 3.1, but did not remove it so it could be later reactivated by the change of a single byte.[5]

DR-DOS publisher Digital Research released a patch named "business update" in 1992 to bypass the AARD code.[10][11][12]

Memos

[edit]

The rationale for the AARD code came to light when internal memos were released during the United States v. Microsoft Corp. antitrust case in 1999. Internal memos released by Microsoft revealed that the specific focus of these tests was DR-DOS.[1][13][14] At one point, Microsoft CEO Bill Gates sent a memo to a number of employees that said, "You never sent me a response on the question of what things an app would do that would make it run with MS-DOS and not run with DR-DOS. Is there [sic] feature they have that might get in our way?"[12][15] Microsoft Senior Vice President Brad Silverberg later sent another memo, saying, "What the [user] is supposed to do is feel uncomfortable, and when he has bugs, suspect that the problem is DR-DOS and then go out to buy MS-DOS."[12][15]

After Novell bought DR-DOS and renamed it "Novell DOS", Microsoft Co-President Jim Allchin wrote in a memo, "If you're going to kill someone there isn't much reason to get all worked up about it and angry. Any discussions beforehand are a waste of time. We need to smile at Novell while we pull the trigger."[16][12][15]

Lawsuit and settlement

[edit]

Novell DOS changed hands again. The new owner, Caldera, Inc., began a lawsuit against Microsoft over the AARD code, Caldera v. Microsoft,[12][17][18][19] which was later settled.[15][20][21][22] It was originally believed that the settlement was around $150 million,[a][23] but in November 2009, the settlement agreement was released, and the total was revealed to be $280 million.[b][24][21][22][25]

See also

[edit]

Footnotes

[edit]
  1. ^ approximately $265 million in 2023
  2. ^ approximately $495 million in 2023

References

[edit]
  1. ^ a b Reynolds, Aaron R. (1993-02-24) [1991-12-06]. "msdos detection - hot job for you" (PDF) (Court document). MS-PCA 1164868-1164869; X0532177-X0532178; Comes v. Microsoft Exhibit 1133; Gates Deposition Exhibit 85. Archived (PDF) from the original on 2018-08-03. Retrieved 2018-08-04. (NB. This court document is a copy of a mail by Aaron Reynolds written in 1991 and forwarded by one of its recipients, Phil Barrett, in 1993.)
  2. ^ Chappell, Geoff (2011-11-24) [1999-09-03, 1992-04-17]. "Record of AARD Research". Archived from the original on 2016-11-25. Retrieved 2016-11-25. (Web article published by Geoff Chappell on 3 September 1999 about an e-mail sent to Andrew Schulman on 17 April 1992.)
  3. ^ Chappell, Geoff (2011-11-24) [1999-05-08]. "First Public AARD Details". Archived from the original on 2013-04-02.
  4. ^ Schulman, Andrew (September 1993). "Examining the Windows AARD Detection Code - A serious message--and the code that produced it". Dr. Dobb's Journal. 18 (9). Miller Freeman, Inc.: 42, 44–48, 89. #204. Archived from the original on 2005-12-10. Retrieved 2013-10-05.
  5. ^ a b Schulman, Andrew; Brown, Ralf D.; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [November 1993]. Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1 (2 ed.). Addison Wesley. ISBN 0-201-63287-X. (xviii+856+vi pages, 3.5-inch floppy) Errata: [1][2]
  6. ^ Meyer, Egbert (1998-08-27). "Microsoft: Vorgetäuschter Bug legte DR-DOS lahm". Heise Online (in German). Verlag Heinz Heise. Archived from the original on 2018-07-14. Retrieved 2018-07-14. [3]
  7. ^ "Aaron R. Reynolds". Seattle Times. Obituary. 2008-08-04. Archived from the original on 2016-03-04 – via Legacy.
  8. ^ Dellert, Brian (1998-10-21). "Microsoft Plays Hardball". Eat the State!. 3 (7). Archived from the original on 2008-04-20. Retrieved 2008-08-21.
  9. ^ Pournelle, Jerry (2000-04-01). "The Microsoft Monopoly Debates". Archived from the original on 2008-08-29. Retrieved 2008-08-21.
  10. ^ "DR DOS 6.0 does Windows 3.1". Computerworld. News Shorts. 1992-04-20. p. 6. Archived from the original on 2019-07-22. Retrieved 2019-07-22.
  11. ^ Paul, Matthias R. (2000-09-18). "25 years of DR DOS history - Digital Research DOS history". FreeDOS.org. Archived from the original on 2016-11-25. Retrieved 2013-10-05. See footnote #19 (BDOS 1067h "DR DOS 6.0 Windows 3.1 update, April 1992"; 1992-03, 1992-04-07: "This public DR DOS 6.0 update only includes patches addressing full Windows 3.1 compatibility. There should have been a full "business update" for registered users, shipping a little bit later."), #27 (BDOS 1072h "Novell DOS 7 Panther/Smirnoff BETA 3", 1993-09: "This issue does not have workarounds for Windows 3.1 AARD code."), #29 (BDOS 1072h "Novell DOS 7 German release"; 1994-02-22: "This issue is known to have workarounds for Windows 3.1 AARD code. This should also apply to the earlier English issue.")
  12. ^ a b c d e Susman, Stephen Daily; Eskridge III, Charles R.; Southwick, James T.; Susman, Harry P.; Folse III, Parker C.; Palumbo, Ralph H.; Harris, Matthew R.; McCune, Philip S.; Engel, Lynn M.; Hill, Stephen J.; Tibbitts, Ryan E. (April 1999). "In the United States District Court - District of Utah, Central Division - Caldera, Inc. vs. Microsoft Corporation - Consolidated statement of facts in support of its responses to motions for summary judgement by Microsoft Corporation - Case No. 2:96CV 0645B" (Court document). Caldera, Inc. Archived from the original on 2018-08-05. Retrieved 2018-08-05.
  13. ^ Lea, Graham (1999-11-05). "How MS played the incompatibility card against DR-DOS - Real bear-traps, and spurious errors". The Register. Archived from the original on 2016-11-25. Retrieved 2013-09-26.
  14. ^ Bridis, Ted (1998-08-28). "Windows Warning Resurfaces in Suit". Associated Press. Archived from the original on 2016-11-25. Retrieved 2016-11-25.
  15. ^ a b c d Goodin, Dan (1999-04-28). "Microsoft emails focus on DR-DOS threat". CNET News. Archived from the original on 2016-03-10. Retrieved 2008-08-21.
  16. ^ Allchin, James Edward (1993-09-18). "Customers and Novell" (PDF) (Court document). pp. 72–73. MS 0186262-0186263; Comes v. Microsoft Exhibit 1793; Allchin Deposition Exhibit 14. Archived (PDF) from the original on 2018-08-03. Retrieved 2018-08-04.
  17. ^ Susman, Stephen Daily; Eskridge III, Charles R.; Susman, Harry P.; Southwick, James T.; Folse III, Parker C.; Borchers, Timothy K.; Palumbo, Ralph H.; Harris, Matthew R.; Engel, Lynn M.; McCune, Philip S.; Locker, Lawrence C.; Wheeler, Max D.; Hill, Stephen J.; Tibbitts, Ryan E. (May 1999). "In the United States District Court - District of Utah, Central Division - Caldera, Inc. vs. Microsoft Corporation - Case No. 2:96CV 0645B - Caldera, Inc.'s Memorandum in opposition to defendant's motion for partial Summary Judgment on plaintiff's "Technological Tying" claim" (Court document). Caldera, Inc. Archived from the original on 2018-08-05. Retrieved 2018-08-05.
  18. ^ Ball, Lyle (1999-04-28). "Caldera submits evidence to counter Microsoft's motions for partial summary judgment" (Press release). Caldera, Inc. Archived from the original on 2018-08-05. Retrieved 2018-08-05.
  19. ^ Wheeler, Max D.; Hill, Stephen J.; Tibbitts, Ryan E.; Susman, Stephen Daily; Eskridge III, Charles R.; Paterson, Thomas W.; Dow, Stuart J.; Palumbo, Ralph H.; Folse III, Parker C.; Borchers, Timothy K. "In the United States District Court - District of Utah, Central Division - Caldera, Inc. vs. Microsoft Corporation - Case No. 2:96CV 0645B - First amended complaint and jury demand". Tech Law Journal (Court document). Archived from the original on 2016-11-25.
  20. ^ Lea, Graham (2000-01-13). "Caldera vs Microsoft - the settlement". BBC News. Archived from the original on 2008-10-05. Retrieved 2008-08-21.
  21. ^ a b Burt, Thomas W.; Sparks, Bryan Wayne (2000-01-07). "Settlement agreement - Microsoft Corporation and Caldera, Inc. reach agreement to settle antitrust lawsuit" (PDF) (Faxed court document). Case 1:05-cv-01087-JFM, Document 104-8, Filed 2009-11-13; NOV00107061-NOV00107071; LT2288-LT2298; Lan12S311263739.1; Exhibit A. Archived (PDF) from the original on 2017-07-04. Retrieved 2018-08-03. […] Microsoft will pay to Caldera, by wire transfer in accordance with written instructions provided by Caldera, the amount of two hundred eighty million dollars ($280,000,000), as full settlement of all claims or potential claims covered by this agreement […] (NB. This document of the Caldera v. Microsoft case was an exhibit in the Novell v. Microsoft and Comes v. Microsoft cases.)
  22. ^ a b Wallis, Richard J.; Aeschbacher, Steven J.; Bettilyon, Mark M.; Webb, Jr., G. Stewar; Tulchin, David B.; Holley, Steven L. (2009-11-13). "Microsoft's memorandum in opposition to Novell's renewed motion for summary judgement on Microsoft's affirmative defenses and in support of Microsoft's cross-motion for summary judgement" (PDF) (Court document). United States District Court, District of Maryland. p. 16. Novell, Inc. v. Microsoft Corporation, Civil Action No. JFM-05-1087. Archived (PDF) from the original on 2019-05-24. Retrieved 2018-08-03. […] Microsoft paid $280 million to Caldera to settle the case, and $35.5 million of the settlement proceeds were provided by Caldera to Novell as a so-called "royalty." […] Dissatisfied with that amount, Novell filed suit in June 2000 against Caldera (succeeded by The Canopy Group), alleging that Novell was entitled to even more. […] Novell ultimately prevailed, adding $17.7 million to its share of the monies paid by Microsoft to Caldera, for a total of more than $53 million […]
  23. ^ Wilcox, Joe (2000-01-11). "Caldera settlement shows a new side of Microsoft". cnet. Archived from the original on 2016-11-25. Retrieved 2009-01-19.
  24. ^ Jones, Pamela (2009-11-23). "Exhibits to Microsoft's Cross Motion for Summary Judgment in Novell WordPerfect Case". Groklaw. Archived from the original on 2013-08-21. Retrieved 2011-10-22. […] exhibits attached to Microsoft's Memorandum of Law in support of Microsoft's cross motion for summary judgment in the Novell v. Microsoft antitrust litigation. We finally find out what Microsoft paid Caldera to settle the DrDOS litigation back in 2000: $280 million. We even get to read the settlement agreement. It's attached as an exhibit. […] The settlement terms were sealed for all these years, but […] now that mystery is solved. […] We also find out what Caldera/Canopy then paid Novell from that $280 million: $35.5 million at first, and then after Novell successfully sued Canopy in 2004, Caldera's successor-in-interest on this matter, an additional $17.7 million, according to page 16 of the Memorandum. Microsoft claims that Novell is not the real party in interest in this antitrust case, and so it can't sue Microsoft for the claims it has lodged against it, because, Microsoft says, Novell sold its antitrust claims to Caldera when it sold it DrDOS. So the exhibits are trying to demonstrate that Novell got paid in full, so to speak, via that earlier litigation. As a result, we get to read a number of documents from the Novell v. Canopy litigation. Novell responds it retained its antitrust claims in the applications market. […]
  25. ^ Gomes, Lee (2000-01-11). "Microsoft Will Pay $275 Million To Settle Lawsuit From Caldera". The Wall Street Journal. Archived from the original on 2016-12-31. Retrieved 2019-11-24. Microsoft Corp. agreed to pay an estimated $275 million to settle an antitrust lawsuit by Caldera Inc., heading off a trial that was likely to air nasty allegations from a decade ago. […] Microsoft and Caldera, a small Salt Lake City software company that brought the suit in 1996, didn't disclose terms of the settlement. Microsoft, though, said it would take a charge of three cents a share for the agreement in the fiscal third quarter ending March 31 […] the company has roughly 5.5 billion shares outstanding […]

Further reading

[edit]