AARD code

From Infogalactic: the planetary knowledge core
(Redirected from Aaron R. Reynolds)
Jump to: navigation, search

The AARD code was a segment of code in a beta release of Microsoft Windows 3.1 that would determine whether Windows was running on MS-DOS or PC DOS, rather than a competing workalike such as DR-DOS, and would result in a cryptic error message in the latter case. This XOR-encrypted, self-modifying, and deliberately obfuscated machine code used a variety of undocumented DOS structures and functions to perform its work, and appeared in the installer, WIN.COM and several other executables in the OS.

The AARD code was originally discovered by Geoff Chappell on 17 April 1992 and then further analyzed and documented in a joint effort with Andrew Schulman.[1][2][3][4] The name was derived from Microsoft programmer Aaron R. Reynolds (1955–2008),[5] who used "AARD" to sign his work; "AARD" was found in the machine code of the installer.[6][7] Microsoft disabled the AARD code for the final release of Windows 3.1, but did not remove it, so that it could have become reactivated anytime later by the change of a single byte in an installed system, thereby constituting a "smoking gun".[4][8]

DR-DOS publisher Digital Research released a patch to enable the AARD tests to pass on its operating system in 1992.[9][10]

The rationale for the AARD code came to light when internal memos were released during the United States v. Microsoft antitrust case in 1999. Internal memos released by Microsoft revealed that the specific focus of these tests was DR-DOS.[11] At one point, Microsoft CEO Bill Gates sent a memo to a number of employees, reading "You never sent me a response on the question of what things an app would do that would make it run with MSDOS and not run with DR-DOS. Is there feature [sic] they have that might get in our way?"[10][12] Microsoft Senior Vice President Brad Silverberg later sent another memo, stating: "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."[10][12]

Following the purchase of DR-DOS by Novell and its renaming to "Novell DOS", Microsoft Co-President Jim Allchin stated 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."[10][12]

What had been DR-DOS changed hands again. The new owner, Caldera, Inc., began a lawsuit against Microsoft over the AARD code, Caldera v. Microsoft,[10][13][14] which was later settled.[12][15] It was believed that the settlement ran in the order of $150 million,[16] but was revealed in November 2009 with the release of the Settlement Agreement to be $280 million.[17]

See also

References

  1. Geoff Chappell. Record of AARD Research. Web article published by Geoff Chappell on 3 September 1999 about an e-mail sent to Andrew Schulman on 17 April 1992 ([1]).
  2. Web article published by Geoff Chappell on 8 May 1999 about public messages documenting the AARD code in the CIX message system on 8 June 1992: Lua error in package.lua at line 80: module 'strict' not found.[dead link]
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. 4.0 4.1 Lua error in package.lua at line 80: module 'strict' not found.
  5. http://www.legacy.com/obituaries/seattletimes/obituary.aspx?pid=114850359
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. wired.com: "How a Crypto ‘Backdoor’ Pitted the Tech World Against the NSA" (Zetter) 24 Sep 2013
  9. Lua error in package.lua at line 80: module 'strict' not found.; 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 compatiblity [sic]. 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.")
  10. 10.0 10.1 10.2 10.3 10.4 Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. 12.0 12.1 12.2 12.3 Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.

External links