Rating: Summary: For Adults Only! Review: Here is a technical book about Windows that is finally written for the 'adult' computer professional. Books targeting an adult computer professional are becoming very rare as publishing editors 'dumb' down their books to get a mass audience appeal. At the other extreme are the 'scholarly' technical books that are filled with mind numbing technical descriptions without offering a hint as to whether all of the underlying technology is of any value in the real word. What this book offers is a good description of the underlying technology with a critique as to the worthiness of its design. I hope Mr. Schreiber is encouraged to write many more books on many other computer subjects. We sorely need his type of writing in this industry.
Rating: Summary: For Adults Only! Review: Here is a technical book about Windows that is finally written for the `adult' computer professional. Books targeting an adult computer professional are becoming very rare as publishing editors `dumb' down their books to get a mass audience appeal. At the other extreme are the `scholarly' technical books that are filled with mind numbing technical descriptions without offering a hint as to whether all of the underlying technology is of any value in the real word. What this book offers is a good description of the underlying technology with a critique as to the worthiness of its design. I hope Mr. Schreiber is encouraged to write many more books on many other computer subjects. We sorely need his type of writing in this industry.
Rating: Summary: 2000 taken by the scruff of the neck! Review: I have overwhelming thankfulness that someone else has done all this hard work! Sven has taken Windows 2000 by the scruff of the neck and has explained many of its internal features in a refreshingly straightforward way - he is a great communicator with obvious and infectious enthusiasm for the subject. I believe this book will be one of those classics, since it is of use not only to explain 2000 but also NT4 and no doubt many future versions of the OS as well.
Rating: Summary: 2000 taken by the scruff of the neck! Review: I have overwhelming thankfulness that someone else has done all this hard work! Sven has taken Windows 2000 by the scruff of the neck and has explained many of its internal features in a refreshingly straightforward way - he is a great communicator with obvious and infectious enthusiasm for the subject. I believe this book will be one of those classics, since it is of use not only to explain 2000 but also NT4 and no doubt many future versions of the OS as well.
Rating: Summary: Very informative and well written Review: I picked up this book to try to fill the gaps between Inside Microsoft Windows 2000 and Undocumented Windows NT and it did just that. The author wrote this book in a very clear manner. The documented internal structures and file formats were very helpful although don't depend on this book to find all structures. The author seemed to document only the ones that he happened across in his research. For example, he documents PTEs, but does not touch Prototype PTEs. All in all though, I think it is an excellent book and has some helpful utility programs included.
Rating: Summary: A Truly Extraordinary Book Review: I will start will a caveat - the name "Undocumented Windows 2000 Secrets" is clearly modeled on two books written by Matt Pietrek - "Undocumented Windows" and "Windows 95 Programming Secrets". Despite this deliberate title plagiarism, the style and content of Schreiber's book is quite different to those of Pietrek. Pietrek concentrated on examining the Win32 API functions, disassembling them, exposing many functions not formerly documented, but used internally, and occasionally exploring the Kernel-mode modules which lie beneath the entire Win32 API. Schreiber has almost nothing to say about the Win32 API, exposes no new Win32 API functions, and shows disassembly for none of them.Caveat aside, Schreiber has done some remarkable work here. Firstly, he knows how to write. Given the generally poor style of most programming books, which are either entirely incomprehensible and poorly edited, or banal, silly, and full of margin pictures etc, this books stands as a shining example of how to present difficult content. The English is flawless, and chapters follow a clear design and progression. Difficult material is presented as such, and I for one, enjoy Schreiber telling me how hard he worked on a certain problem, and how revolutionary is his generic solution. Assembly code is presented with an apology that it could not have been written in straight "C", and clearly explained. He also avoids the pitfall of ignoring older systems. This book is clearly not about the 9x family, so I have no problem with him ignoring that, but he does an excellent job of pointing out that everything he writes is valid for NT version 4, except in a few cases that he highlights. He is also very careful about not covering ground already adequately covered by others, and provides clear references to other books where relevant, for example Nebbett's "Native API Reference" and Solomon & Russinovich's "Inside Windows 2000". So, what does he cover? Firstly, how to debug system-level programs, using low-level debuggers, and also shows the internal structure of Microsoft debug files. Then a review of the Native API - not a catalogue like Nebbett, but the mechanism of invoking them, and how the system instructions flow from one module to another. Then comes a wonderful introduction to writing a simple Kernel Mode device driver. Anybody who has tried this will know that most device driver documentation is written for those already expert, and if all you want is a minimal driver to access some Kernel Mode function, you have to grope around in the dark vainly hoping for somebody to guide you. Well, here it is at last - a clear guide to writing simple device drivers, clearly explained, and even with an MSDev Wizard to whip up a framework! For this alone it is worth getting the book. Using his device driver, he explores Win2000 memory, and most importantly, develops a wonderful generic mechanism for monitoring and intercepting all calls to the Native API - managed from a user-mode GUI application! He then builds a user-mode application that allows you to make a call to any Kernel function from the user mode, seamlessly calling down to the minimal device driver. Wow! Finally, he gives a concise description of Kernel Objects, and covers the most important ones. The appendixes are really huge catalogues of the various WindDBG commands, the Native APIs, and the structures on encounters in the Kernel Mode. Do I have any criticism? Amazingly, none at all! And this is the first Amazon review I have written in which I have none! In summary, if you are at all interested in understanding Win2000 internals, monitoring calls to the Kernel Mode, or making your own calls to privileged functions, this book is one of the most important, and most accessible books on the market. Also, the author is available on email - I contacted him, and within a day received a good response. So, after all, Schreiber may go down in history as Peitrek's successor!
Rating: Summary: A Truly Extraordinary Book Review: I will start will a caveat - the name "Undocumented Windows 2000 Secrets" is clearly modeled on two books written by Matt Pietrek - "Undocumented Windows" and "Windows 95 Programming Secrets". Despite this deliberate title plagiarism, the style and content of Schreiber's book is quite different to those of Pietrek. Pietrek concentrated on examining the Win32 API functions, disassembling them, exposing many functions not formerly documented, but used internally, and occasionally exploring the Kernel-mode modules which lie beneath the entire Win32 API. Schreiber has almost nothing to say about the Win32 API, exposes no new Win32 API functions, and shows disassembly for none of them. Caveat aside, Schreiber has done some remarkable work here. Firstly, he knows how to write. Given the generally poor style of most programming books, which are either entirely incomprehensible and poorly edited, or banal, silly, and full of margin pictures etc, this books stands as a shining example of how to present difficult content. The English is flawless, and chapters follow a clear design and progression. Difficult material is presented as such, and I for one, enjoy Schreiber telling me how hard he worked on a certain problem, and how revolutionary is his generic solution. Assembly code is presented with an apology that it could not have been written in straight "C", and clearly explained. He also avoids the pitfall of ignoring older systems. This book is clearly not about the 9x family, so I have no problem with him ignoring that, but he does an excellent job of pointing out that everything he writes is valid for NT version 4, except in a few cases that he highlights. He is also very careful about not covering ground already adequately covered by others, and provides clear references to other books where relevant, for example Nebbett's "Native API Reference" and Solomon & Russinovich's "Inside Windows 2000". So, what does he cover? Firstly, how to debug system-level programs, using low-level debuggers, and also shows the internal structure of Microsoft debug files. Then a review of the Native API - not a catalogue like Nebbett, but the mechanism of invoking them, and how the system instructions flow from one module to another. Then comes a wonderful introduction to writing a simple Kernel Mode device driver. Anybody who has tried this will know that most device driver documentation is written for those already expert, and if all you want is a minimal driver to access some Kernel Mode function, you have to grope around in the dark vainly hoping for somebody to guide you. Well, here it is at last - a clear guide to writing simple device drivers, clearly explained, and even with an MSDev Wizard to whip up a framework! For this alone it is worth getting the book. Using his device driver, he explores Win2000 memory, and most importantly, develops a wonderful generic mechanism for monitoring and intercepting all calls to the Native API - managed from a user-mode GUI application! He then builds a user-mode application that allows you to make a call to any Kernel function from the user mode, seamlessly calling down to the minimal device driver. Wow! Finally, he gives a concise description of Kernel Objects, and covers the most important ones. The appendixes are really huge catalogues of the various WindDBG commands, the Native APIs, and the structures on encounters in the Kernel Mode. Do I have any criticism? Amazingly, none at all! And this is the first Amazon review I have written in which I have none! In summary, if you are at all interested in understanding Win2000 internals, monitoring calls to the Kernel Mode, or making your own calls to privileged functions, this book is one of the most important, and most accessible books on the market. Also, the author is available on email - I contacted him, and within a day received a good response. So, after all, Schreiber may go down in history as Peitrek's successor!
Rating: Summary: Build your knowledge muscle Review: This book is a fascinating book except for beginners. It targets on Windows 2000 especially the undocumented secrets. It involves lots of hacked internals just like Inside Windows 2000. But this book takes it a step futher and explains the hardcore secrets and sheds the light of Windows. However we are in a software technology that changes every few years so some of the secrets mentioned in this book may become obsolete or changed over time as the OS evolves. So if you want to implement the secrets in your code better beware and test the same code in every future OS. The memory management targets Intel processors and Windows 2000 runs on other processors like Alpha as well and these secrets can be invalid on those processors. Secrets on PDB and other file formats are not documented elsewhere but explained here. However it will be useful only for debugger writers and it can just be read and enjoyed. This book is especially useful if you have the car (Windows 2000) and would like to get your hands dirty with the engine and other parts when thing go wrong on the way of your software development.
Rating: Summary: Build your knowledge muscle Review: This book is a fascinating book except for beginners. It targets on Windows 2000 especially the undocumented secrets. It involves lots of hacked internals just like Inside Windows 2000. But this book takes it a step futher and explains the hardcore secrets and sheds the light of Windows. However we are in a software technology that changes every few years so some of the secrets mentioned in this book may become obsolete or changed over time as the OS evolves. So if you want to implement the secrets in your code better beware and test the same code in every future OS. The memory management targets Intel processors and Windows 2000 runs on other processors like Alpha as well and these secrets can be invalid on those processors. Secrets on PDB and other file formats are not documented elsewhere but explained here. However it will be useful only for debugger writers and it can just be read and enjoyed. This book is especially useful if you have the car (Windows 2000) and would like to get your hands dirty with the engine and other parts when thing go wrong on the way of your software development.
Rating: Summary: awesome book Review: This book is highly recommended to device driver writers and kernel hackers. This book revolves around the tools presented on the companion cd, an excellent kernel spy (with working source code and tools. Nowadays, so many books have source codes on their CD that just flat out don't work). The author of this book has carefully prepared the source code and made sure it works on both NT4 and w2k. My only complaint about building the source code is it requires windows 2000 DDK which is no longer available from msdn as free download. It'd been much more convenient if the author had actually provided some of the header files and libraries to build the tools without having to get the entire DDK library.
The author explains why/how the tools/source code on the companion CD works. These explanations bring you through some of the most exciting aspects of w2k hacking such as direct kernel call linking in userland app, hooking kernel native APIs. The assembly code demonstrates some very useful hacking tricks.
Appendix A is a summary of microsoft kernel debugger commands, which is extremely useful in itself!
This is a quality book for serious kernel hackers.
|