The "Undocumented" Bookstore Text-only version also available [Image] Andrew Schulman in association with amazon.com This page last updated November 19, 1997 ---------------------------------------------------------------------------- I'll be expanding this page into what I hope will become a full-scale online "store" (in association with amazon.com) for books on operating-system internals and undocumented features, plus related topics such as reverse engineering, intellectual property, interoperability, innovation, antitrust and competition, Microsoft and Intel, the impact of the Web on software development, the history of technology, and the impact of technological changes on popular culture. I'll be updating this frequently, so you might want to check in often (you can register for update notices via email). Books on undocumented interfaces and operating system internals Books on intellectual property (copyright, patents, trade secrets, reverse-engineering law, etc.) Books on antitrust, competition, monopoly, and innovation Undocumented Interfaces and Operating System Internals [Image] Inside the Windows 95 File System (IFSMgr, the Installable File System) by Stan Mitchell. * The diskette that comes with the book includes a way-cool "spy" utility for Windows 95 called MULTIMON. I used an early version of MULTIMON in my online article about the Windows 95 Registration Wizard. * The author's web site for the book includes a detailed table of contents. * See also Windows NT File System Internals by Rajeev Nagar. The book Undocumented Windows NT, by Prasad Dabak, Sandeep Phadke, and Milind Borate, to be published by O'Reilly & Associates, is not finished yet, but here's an excerpt and sample program, "Run any Ring 0 code from a Win32 application on Windows NT". More "Undocumented NT" links (I'll be updating this list): * Windows NT File System Internals by Rajeev Nagar. * Inside Windows NT by Helen Custer. * Adding New System Services to the Windows NT Kernel (another excerpt from Undocumented NT). * NT Internals Home Page by Mark Russinovich and Bryce Cogswell. * The Windows Source 3 disassembly toolkit from V Communications can now reverse-engineer the Win32 PE ("Portable Executable") files used by Windows NT. * Differences Between NT Server and Workstation are Minimal: Registry Settings Used to Force Use of Microsoft Web Server by Andrew Schulman (based on research by Mark Russinovich). [Image] Inside the Windows 95 Registry by Ron Petrusha. * While this book (which I edited) covers many documented -- and even user-level -- aspects of the Windows 95 registry, there is a good amount of material on undocumented aspects of the registry, especially pages 171-4 on "Registry Locking" (excerpt available online) and Chapter 5 on "Win95 registry access from Win16, DOS, and VxDs." * The disk that comes with the book includes the excellent RegSpy95 utility by Alex Shmidt (see Alex's web site). * Despite the title, the book also covers the NT registry. * There's a web page for the book: Inside the Windows 95 and NT Registry. [Image] Second edition! The Undocumented PC: A Programmer's Guide to I/O, CPUs, and Fixed Memory Areas by Frank van Gilluwe. * The new second edition includes coverage of undocumented Pentium, Pentium Pro, and MMX instructions; coverage of 5x86 and 6x86 processors from AMD and Cyrix; information on Windows 95 keyboard functions. * An excerpt, Chapter 17 on interrupt control and NMI, is available online. * Frank is author of the famous Sourcer disassembler, available from his company, V Communications. [Image] Matt Pietrek's new book, Windows 95 System Programming Secrets. * Matt has given me permission to reprint a brief excerpt from this excellent book: "Dirty Little Secrets about Windows 95". * A review from Dr. Dobb's Journal is available online, as is Ron Burk's review from Windows Developer's Journal. [Image] MFC Internals: Inside the Microsoft Foundation Class Architecture by George Shepherd and Scott Wingo. * See long review ("Telling It Like It Is, Not How It Should Be"), excerpts, and table of contents available online at Ray Duncan's Electronic Review of Computer Books. * One of the authors maintains the MFC FAQ. * List of Scot Wingo's articles on undocumented MFC in Dr. Dobb's Journal. [Image] Walter Oney's System Programming for Windows 95 (Microsoft Press). * See review online (Windows Developer's Journal). [Image] DOS Internals by Geoff Chappell. * Don't be fooled by the title: this brilliant book is as much about Windows as it is about DOS. Chappell's book is the natural follow-on to Undocumented DOS, covering many topics in more detail (and more accurately!) than that book does. * Includes system configuration and startup, the system "footprint," extensive coverage of INT 19h, the IO.SYS loader, the INT 2Fh function 13h interface, DOS in ROM, Windows/DOS interaction, the INT 21h function 4B05h set-execution-state function, writing TSRs and device drivers in C, XMS, an entire chapter on the A20 line, LOADALL, a close look at HIMEM.SYS, SmartDrive, low-level disk access, boot sectors, generic IOCTL, and an entire chapter on error codes. * An amazing book! Ok, so it's a little out of date, and in 1997 few people may still care about INT 19h or A20, but this is still an awesome book. [Image] Windows Internals by Matt Pietrek (The Implementation of the Windows Operating Environment) 80x86 Architecture and Programming by Rakesh Agarwal. * This is actually volume 2 (Architecture Reference); I don't think volume 1 was ever published. * See my review from Dr. Dobb's Journal a few years ago: "Agarwal presents extremely detailed C (and pseudo-C) code for each Intel instruction. These in turn use a library of functions such as LA_rdChk() (linear-address read), LA_wrChk() linear-address write), priv_lev_switch_CALL() (privilege-level switch), enter_new_task(), and the sickeningly complex read_descr() (read-descriptor).... If you've ever asked what really happens when you MOV ES, AX in protected mode, or how Windows ... traps IN and OUT instructions using Virtual 8086 mode, this is the book to get. When you're finished, you may be sorry you asked, but that's a different story." [Image] John Lions' Commentary on UNIX 6th Edition, with Source Code. This is the famous "Lions Book, as described in the online jargon file and in the superb New Hacker's Dictionary compiled by Eric Raymond: superb New Hacker's Dictionary compiled by Eric Raymond: [Image] Lions Book n. "Source Code and Commentary on UNIX level 6", by John Lions. The two parts of this book contained (1) the entire source listing of the UNIX Version 6 kernel, and (2) a commentary on the source discussing the algorithms. These were circulated internally at the University of New South Wales beginning 1976--77, and were, for years after, the *only* detailed kernel documentation available to anyone outside Bell Labs. Because Western Electric wished to maintain trade secret status on the kernel, the Lions book was never formally published and was only supposed to be distributed to affiliates of source licensees (it is still possible to get a Bell Labs reprint of the book by sending a copy of a V6 source license to the right person at Bellcore, but *real* insiders have the UNSW edition). In spite of this, it soon spread by samizdat to a good many of the early UNIX hackers. [Image] Unauthorized Windows 95 by Andrew Schulman (with disk). * While the book is slightly out of date (it did come out in 1994, before Windows 95 itself!), I have posted updates on the web. * A review by Al Stevens in Dr. Dobb's Review is available online at Ray Duncan's Electronic Review of Computer Books; also see Jon Udell's review in Byte. [Image] Unauthorized Windows 95 by Andrew Schulman (without disk). See above. [Image] Undocumented Windows by Schulman, Maxey, and Pietrek. * This book is in some sense hopelessly outdated, but the first four chapters are still a good description of examining operating-system internals. * See Ray Duncan's Dr. Dobb's Journal review, available online. [Image] Undocumented DOS, 2nd edition, by Schulman, Maxey, Brown, Kyle, and Michels. Errata is available online. Dissecting DOS by Mike Podanoffsky. * The author's web site has more information about RxDOS (the DOS-compatible operating system described and distributed with Dissecting DOS) and about his other projects, and includes the table of contents for the book. Extending DOS, 2nd edition, by Ray Duncan et al. [Image] Windows++: Writing Reusable Windows Code in C++ by Paul Dilascia. * I don't care that it's about Windows 3.x: this is still a great book, containing many general lessons about user-interface programming (particularly about the need to separate the program from its data). The Personal Computer from the Inside Out: The Programmer's Guide to Low-Level PC Hardware and Software by Murray Sargent III and Richard L. Shoemaker (3rd edition). * Murray Sargent was directly involved in the original (1988) porting of Windows to protected mode; you can read all about this (and a lot of other important Microsoft history) in the great book Gates: How Microsoft's Mogul Reinvented an Industry -- and Made Himself the Richest Man in American by Stephen Manes and Paul Andrews. That such a book contains a detailed discussion of how Windows was ported to protected mode, indicates it is really a book about Microsoft and not (thankfully) a book about Bill Gates; it is the one book to get if you're interested in the history of Microsoft. Windows Network Programming by Ralph Davis Intellectual Property (Copyright, patents, trade secrets, reverse-engineering law, etc.) The Software Developer's and Marketer's Legal Companion by Gene K. Landy. * This book/disk package (the disk contains sample forms, letters, and agreements) has superb discussions of trade-secret law, reverse engineering, fair use, shrink-wrap licenses, warranties, and just about everything else a software engineer might want to know about the law. Gene helped write some of the legal discussions in the 2nd edition of Undocumented DOS. * A follow-on book is The Software Publishers Association Legal Guide to Multimedia by Thomas J. Smedinghoff. Who Owns Information?: From Privacy to Public Access by Anne Wells Branscomb. * A readable survey that reveals the fundamental tension in intellectual property between public and private rights. The chapter "Who Owns Religious Information?" includes a hilarious description of reverse- engineering the Dead Sea Scrolls from a concordance! Other chapters include "Who owns your name and address?", "Who owns your telephone number?", "Who owns your image?", "Who owns your electronic messages?", "Who owns computer software?", etc. * An excerpt is available online; also see online review. Secrets: On the Ethics of Concealment and Revelation by Sissela Bok. * A wonderful book on a topic with obvious relevance for anyone interested in reverse engineering. Chapter 10 deals specifically with trade and corporate secrecy. * Also see her brilliant Lying: Moral Choice in Public and Private Life, another book whose subject has clear relevance for the computer software industry. :-) Legal Secrets: Equality and Efficiency in the Common Law by Kim Lane Scheppelle. (Hardback only: very expensive.) * Has excellent discussion of trade secrets and reverse engineering. * Also see the chapter on "caveat emptor," which of course is the principle underlying the warranties of the computer software industry: "Caveat emptor, requiring that the buyer beware, seems to be difficult to square with rules about equal access to information.... if the goods were impossible to inspect, then perhaps the rule ought to be relaxed... this rule provides incentives for merchants to deliberately remain ignorant of the qualities of their wares..." Interfaces on Trial: Intellectual Property and Interoperability in the Global Software Industry by Jonathan Band and Masanobu Katoh. (Hardback only; very expensive.) * Excellent discussion of reverse engineering, disassembly, and "decompilation" to uncover undocumented interfaces for the purposes of interoperability. * Extensive coverage of Microsoft's position, including for example Nathan Myhrvold's testimony during the set-top box debates: "Myhrvold's testimony also reflects the ultraprotectionist penchant for misrepresenting the position of the interoperable developers...." Contested Culture: The Image, the Voice, and the Law by Jane M. Gaines. * A fascinating look at "intellectual property" of pop-culture images, with in-depth examinations of cases involving Oscar Wilde, Jackie Onassis, Nancy Sinatra, Bela Lugosi's Dracula, and the DC Comics Superman character. * Explores the paradox of "pop culture" that is widely disseminated but closely owned. * There's an interesting article online that discusses this book: "'Humanipulation': Legal Considerations in the Computer Animated Manipulation of the Human Image in Feature Film," by Lorene M. Duran. Copyright's Highway: The Law and Lore of Copyright from Gutenberg to the Celestial Jukebox by Paul Goldstein. * See the long review online (High Technology Law Review, Spring 1995). The Nature of Copyright: A Law of Users' Rights by L. Ray Patterson and Stanley W. Lindberg. * A provocative and well-argued assertion that the rights of "authors" (in actuality, owners) is only an incidental function of copyright, which exists primarily for the users' benefit. Contains a lot of good material on "fair use," on the monopolostic origins of copyright in 16-17th century England, and on how publishers and owners often hide behind the label of "authors. Authors and Owners: The Invention of Copyright by Mark Rose. * A detailed look at the early history of copyright, showing its early connection with monopoly and state censorship, and clarifying the important distinction between authors and owners. * Interestingly, the author's previous works include Alien Encounters: Anatomy of Science Fiction. Antitrust, competition, monopoly, and innovation Steven P. Schnaars, Managing Imitation Strategies: How Later Entrants Seize Markets from Pioneers. * Contains 28 case studies of "Imitators Who Surpassed Pioneers," including 35mm cameras, ATMs, computerized ticketing services, credit/charge cards, money- market mutual funds, light beer, nonalcoholic beer, paperback books, pocket calculators, PCs, PC spreadsheets, warehouse clubs, VCRs, videogames, and -- not surprisingly -- two cases involving Microsoft: PC operating systems, and PC word processors. * See the small slide slow based on the book, using the case example of "Ball Point Pens: First Mover vs. Later Entry." * Hmm, possible implications here for Microsoft's attempts to catch up to the Internet? James M. Utterback, Mastering the Dynamics of Innovation: How Companies Can Seize Opportunities in the Face of Technological Change. * Contains a fascinating case study of the typewriter industry (including the history of the QWERTY keyboard layout); the chapter on "Invasion of a Stable Business by a Radical Innovation" discusses the impact of mechanically-made ice on the natural-ice industry in the 19th century. Great stuff! Richard N. Langlois and Paul L. Robertson, Firms, Markets, and Economic Change: A Dynamic Theory of Business Institutions. * The long chapter on "External Capabilities andd Modular Systems" discusses not only the PC industry, but other industries where success depends on wide adaptation (on building a "network," in fact) and compatibility: for example, the development of hi-fi and stereo systems, the origin of 33 rpm records, LP records, FM broadcasting. * Also see the Internet Site for the Economics of Networks (network externalities). Walter Adams and James W. Brock, Antitrust Economics on Trial: A Dialogue on the New Laissez-Faire. * A brief, entertaining polemic (in the form of a play!) against the Chicago School of Economics' defense of tying arrangements and other predatory practices discussed in chapter 1 of Undocumented DOS. * Pages 30-37 on "the predation problem" are particularly useful. W. Brian Arthur, Increasing Returns and Path Dependence in the Economy. * Why does one product such as VHS "win out" over another product such as VHS? Why did the QWERTY keyboard win? How does an operating system such as MS-DOS or Windows "lock-in" its customors? * Using Polya urns, random walks, and so on, the author tries to develop a formal model to explain some paradoxes of the hi-tech economy. * These paradoxes involve "path dependence," a phrase which clearly helps describe Microsoft's dominance of the PC software industry (not surprisingly, Arthur was involved as an "expert" in the Microsoft antitrust case; see the Gary Reback amicus brief). * Arthur's work is discussed in Mitchell Waldrop's excellent book Complexity: The Emerging Science at the Edge of Order and Chaos. * The author's home page has PostScript copies of many of his papers, including "Positive Feedbacks in the Economy" (Scientific American, Feb. 1990). * For an interesting counterpoint, see the article "We Don't Know Why She Swallowed the Fly: Policy and Path Dependence" online, especially the section "Typewriter Keyboards and Other Fables." * Also see the Bibliography on the Economics of Standards and Standardization online. ---------------------------------------------------------------------------- Enter your email address to receive email when this page is updated (on approximately a weekly basis). This uses the free URL-minder service ("Your own personal web robot!") from NetMind. Your Internet email address: ---------------------------------------------------------------------------- Unauthorized Windows 95 Update