How we did it:
For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks
Eldad Eilam, Elliot J. Chikofsky
Beginning with a basic primer on reverse engineering-including computer internals, operating systems, and assembly language-and then discussing the various applications of reverse engineering, this book provides readers with practical, in-depth techniques for software reverse engineering. The book is broken into two parts, the first deals with security-related reverse engineering and the second explores the more practical aspects of reverse engineering. In addition, the author explains how to reverse engineer a third-party software library to improve interfacing and how to reverse engineer a competitor's software to build a better product. * The first popular book to show how software reverse engineering can help defend against security threats, speed up development, and unlock the secrets of competitive products * Helps developers plug security holes by demonstrating how hackers exploit reverse engineering techniques to crack copy-protection schemes and identify software targets for viruses and other malware * Offers a primer on advanced reverse-engineering, delving into "disassembly"-code-level reverse engineering-and explaining how to decipher assembly language
Andrew S. Tanenbaum
The widely anticipated revision of this worldwide best-seller incorporates the latest developments in operating systems technologies. The Third Edition includes up-to-date materials on relevant operating systems such as Linux, Windows, and embedded real-time and multimedia systems. Includes new and updated coverage of multimedia operating systems, multiprocessors, virtual machines, and antivirus software. Covers internal workings of Windows Vista (Ch. 11); unique even for current publications. Provides information on current research based Tanenbaum's experiences as an operating systems researcher. A useful reference for programmers.
Marc J. Rochkind
The long-awaited revision to one of the foundation titles in UNIX programming covers the latest POSIX standards, updated for Linux, FreeBSD, and Mac OS X. Includes a wide range of examples, including a Web browser, a Web server, a keystroke recorder/player and a real shell. Rochkind is regarded as one of the pioneers in UNIX programming, and this book is a true classic.
Marcus Zarra, Matt Long
The definitive full-color reference for Core Animation, Apple's powerful new framework for building feature-rich user interfaces • • Shows Mac developers how to use Core Animation to build state-of-the-art user interfaces that previously required intensely complex OpenGL programming. • Task-based coverage ranges from the absolute basics to advanced optimization and integration - and every feature is illuminates with projects and detailed sample code. • Contains a full chapter on using Core Animation on the iPhone. Apple's Core Animation API offers Mac developers a whole new way to think about user interface design - and the opportunity to quickly and easily integrate advanced UI features ranging from transparent windows to head-up displays. Core Animation contains all the goodies Mac UI designers have been craving - and could previously implement only with highly complex OpenGL code. Core Animation is the definitive reference to this powerful API for every Macintosh and iPhone developer. Leading OSX developers Marcus S. Zarra and Matt Long begin with a complete introduction to Core Animation, offering invaluable insights into when it should be used - and when it shouldn't be. Next, the authors drill down to each specific task developers are likely to perform. Building on the essentials, the authors introduce several advanced techniques, including code optimization and leveraging the GPU to run OpenGL, QuickTime, and Core Animation code in tandem. They also present brand-new coverage of Core Animation programming for the iPhone. Each concept and technique is illuminated with usable code, end-to-end sample projects, functional examples, and advanced project suggestions designed to promote even deeper understanding.
Scott Knaster, Mark Dalrymple
Take your coding skills to the next level with this extensive guide to Objective–C, the native programming language for developing sophisticated software applications for Mac OS X. Objective–C is a powerful, object–oriented extension of C, making this book the perfect follow–up to Dave Mark's bestselling Learn C on the Mac, Mac OS X Edition. Whether you're an experienced C programmer or you're coming from a different language such as C++ or Java, leading Mac experts Mark Dalrymple and Scott Knaster show you how to harness the powers of Objective–C in your applications! A complete course on the basics of Objective–C using Apple's free Xcode tools An introduction to object–oriented programming Comprehensive coverage of inheritance, composition, object initialization, categories, protocols, memory management, and organizing source files A brief tour of Cocoa's foundation framework and AppKit A helpful “learning curve” guide for non–C developers
David Gelphman, Bunny Laden
An in-depth overview of the new sophisticated graphics system of Mac OS X Tiger explains how to exploit the latest state-of-the-art graphics of OS X in a variety of applications, providing an introduction to 2D graphics concepts and tips on working with PDF documents, bitmap graphics, and text. Original. (Intermediate)
W. J. Chun
A quick guide to everything anyone would want to know about the soaringly popular Internet programming language, Python. Software architect Chun provides an introduction to new features introduced in Python 1.6, and topics covered include regular expressions, extending Python, and OOP. The CD-ROM includes the source code for all of the examples in the text.
Richard G. Lyons
This edition adds extensive new coverage of quadrature signals for digital communications, recent improvements in digital filtering, and much more. It also contains more than twice as many "DSP Tips and Tricks"...including clever techniques even seasoned professionals may have overlooked.
Ole Henry Halvorsen, Douglas Clarke
OS X and iOS Kernel Programming combines essential operating system and kernel architecture knowledge with a highly practical approach that will help you write effective kernel-level code. You’ll learn fundamental concepts such as memory management and thread synchronization, as well as the I/O Kit framework. You’ll also learn how to write your own kernel-level extensions, such as device drivers for USB and Thunderbolt devices, including networking, storage and audio drivers. OS X and iOS Kernel Programming provides an incisive and complete introduction to the XNU kernel, which runs iPhones, iPads, iPods, and Mac OS X servers and clients. Then, you’ll expand your horizons to examine Mac OS X and iOS system architecture. Understanding Apple’s operating systems will allow you to write efficient device drivers, such as those covered in the book, using I/O Kit. With OS X and iOS Kernel Programming, you’ll: Discover classical kernel architecture topics such as memory management and thread synchronization Become well-versed in the intricacies of the kernel development process by applying kernel debugging and profiling tools Learn how to deploy your kernel-level projects and how to successfully package them Write code that interacts with hardware devices Examine easy to understand example code that can also be used in your own projects Create network filters Whether you’re a hobbyist, student, or professional engineer, turn to OS X andiOS Kernel Programming and find the knowledge you need to start developing What you’ll learn OS X and iOS common core architecture How to write extremely efficient code by exploiting kernel details Coding kernel-level extensions How to write device drivers How to program the I/O Kit framework Key mobile device topics like power management drivers and video capture modules To understand OS X memory management and threads To parse kernel debug messages and package projects ready for deployment Who this book is for This book is suited for: Intermediate and advanced iPhone and OS X programmers ready for the next step Kernel-level programmers interested in how OS X and iOS function Open source programmers with a background in Linux or BSD, OS X and iOS Programmers interested in application performance System administrators running OS X clusters Table of Contents Operating System Fundamentals Mac OS X and iOS Xcode and the Kernel Development Environment The I/O Kit Framework Interacting with Drivers from Applications Memory Management Synchronisation and Threading USB Drivers PCI and Thunderbolt Power Management Serial Port Drivers Core Audio Network Drivers Storage Drivers and Filesystems User-Space Drivers Debugging and Profiling Advanced Kernel Programming Deployment
Mana Takahashi, Shoko Azuma, Trend-pro Co., Ltd
Want to learn about databases without the tedium? With its unique combination of Japanese-style comics and serious educational content, The Manga Guide to Databases is just the book for you. Princess Ruruna is stressed out. With the king and queen away, she has to manage the Kingdom of Kod's humongous fruit-selling empire. Overseas departments, scads of inventory, conflicting prices, and so many customers! It's all such a confusing mess. But a mysterious book and a helpful fairy promise to solve her organizational problems—with the practical magic of databases. In The Manga Guide to Databases, Tico the fairy teaches the Princess how to simplify her data management. We follow along as they design a relational database, understand the entity-relationship model, perform basic database operations, and delve into more advanced topics. Once the Princess is familiar with transactions and basic SQL statements, she can keep her data timely and accurate for the entire kingdom. Finally, Tico explains ways to make the database more efficient and secure, and they discuss methods for concurrency and replication. Examples and exercises (with answer keys) help you learn, and an appendix of frequently used SQL statements gives the tools you need to create and maintain full-featured databases. (Of course, it wouldn't be a royal kingdom without some drama, so read on to find out who gets the girl—the arrogant prince or the humble servant.) This EduManga book is a translation of a bestselling series in Japan, co-published with Ohmsha, Ltd., of Tokyo, Japan.
To guide readers through the new scripting language, Python, this book discusses every aspect of client and server programming. And as Python begins to replace Perl as a favorite programming language, this book will benefit scripters and serious application developers who want a feature-rich, yet simple language, for deploying their products. The text explains multitasking network servers using several models, including forking, threading, and non-blocking sockets. Furthermore, the extensive examples demonstrate important concepts and practices, and provide a cadre of fully-functioning stand alone programs. Readers may even use the provided examples as building blocks to create their own software.
Learn Objective-C for Java Developers will guide experienced Java developers into the world of Objective-C. It will show them how to take their existing language knowledge and design patterns and transfer that experience to Objective-C and the Cocoa runtime library. This is the express train to productivity for every Java developer who has dreamed of developing for Mac OS X or iPhone, but felt that Objective-C was too intimidating. So hop on and enjoy the ride! Provides a translation service that turns Java problem-solving skills into Objective-C solutions Allows Java developers to leverage their existing experience and quickly launch themselves into a new domain Takes the risk out of learning Objective-C What you’ll learn Apply Java experience to Objective-C and Cocoa Use elegant alternatives that increase productivity Maximize the powerfully unique constructs of Objective-C, like class clusters Think like an object-oriented C programmer to create more reusable code Use all of the things in Java and Objective-C that are actually quite similar, like MVC design patterns Learn how to do all of it within Apple's powerful Xcode programming environment using Cocoa frameworks Who this book is for Experienced Java developers interested in developing native applications for Apple's Mac OS X operating system, iPhone, and iPod touch. Table of Contents Introduction Java and C: Key Differences Welcome to Objective-C Creating an Xcode Project Exploring Protocols and Categories Sending Messages Making Friends with nil Strings and Primitive Values Garbage Collection Introspection Files Serialization Communicating Near and Far Exception Handling Threads Collection Patterns Delegation Pattern Provider/Subscriber Pattern Observer Pattern Model-View-Controller Pattern Lazy Initialization Pattern Factory Pattern Singleton Pattern Memory Management Mixing C and Objective-C Runtime
Provides information on the basics of ActionScript programming to create multiplayer games and virtual worlds.
Hamish Sanderson, Hanaan Rosenthal
AppleScript is an English-like, easy-to-understand scripting language built into every Mac. AppleScript can automate hundreds of AppleScript-able applications, performing tasks both large and small, complex and simple. Learn AppleScript: The Comprehensive Guide to Scripting and Automation on Mac OS X, Third Edition has been completely updated for Mac OS X Snow Leopard. It’s all here, with an emphasis on practical information that will help you solve any automation problem—from the most mundane repetitive tasks to highly integrated workflows of complex systems. Friendly enough for beginners, detailed enough for advanced AppleScripters Includes major contributions from expert AppleScripters: Emmanuel Levy, Harald Monihart, Ian Piper, Shane Stanley, Barry Wainwright, Craig Williams, and foreword by AppleScript inventor, William Cook What you’ll learn See how AppleScript represents information as objects—including numbers, strings, lists, and records. Learn how to manipulate these objects using commands and operators, and how to store them in variables. Organize your code using handlers and script objects. Understand how applications describe their objects and commands in dictionaries and how to interpret that information when learning to script applications. Manipulate the Mac OS X file system. Automate iTunes, Mail, iCal, and other popular lifestyle applications in Mac OS X. Discover sophisticated text processing techniques using regular expressions. Script professional productivity applications—Apple iWork, Microsoft Office, FileMaker Pro, and Adobe InDesign. Harness the power of the Unix command line in Mac OS X. Create your own Cocoa applications with the new AppleScriptObjC bridge. Who this book is for First-time scripters who want to automate tasks on their Macs Existing AppleScripters looking to develop proficient, professional, or guru-level knowledge and skills Professional Mac OS X developers wishing to understand this powerful and pervasive technology Table of Contents Introducing AppleScript AppleScript in Principle AppleScript in Practice Writing Scripts in AppleScript Editor Understanding How Application Scripting Works Learning to Work with AppleScript Objects Working with Text Working with Numbers Working with Dates Working with Lists and Records Storing Objects in Variables More on Commands More on Operators and Coercions Making Decisions Using Conditionals and Loops Making Decisions When Dealing with Errors Interacting with the User Working with Files Organizing Your Code with Handlers Organizing Your Code with Script Objects Scripting the File System Scripting Apple Applications Extending AppleScript with Scripting Additions AppleScript Amenities Scripting iWork and Office Scripting Data and Databases Scripting Adobe InDesign Interacting with the Unix Command Line Using Smile: The AppleScript Integrated Production Environment Tips and Techniques for Improving Your Scripts Creating Cocoa Applications with AppleScriptObjC
David Mark, Jeff LaMarche, Jack Nutting
The Cocoa frameworks are some of the most powerful frameworks for creating native desktop applications available on any platform today, and Apple gives them away, along with the Xcode development environment, for free! However, for a first-time Mac developer, just firing up Xcode and starting to browse the documentation can be a daunting task. The Objective-C class reference documentation alone would fill thousands of printed pages, not to mention all the other tutorials and guides included with Xcode. Where do you start? Which classes are you going to need to use? How do you use Xcode and the rest of the tools? This book answers these questions and more, helping you find your way through the jungle of classes, tools, and new concepts so that you can get started on the next great Mac OS X application today. Jack Nutting is your guide through this forest; he's lived here for years, and he'll show you which boulder to push, which vine to chop, and which stream to float across in order to make it through. You will learn not only how to use the components of this rich framework, but also which of them fit together, and why. Jack Nutting's approach, combining pragmatic problem-solving with a deep respect for the underlying design philosophies contained within Cocoa, stems from years of experience using these frameworks. He'll show you which parts of your application require you to jump in and code a solution, and which parts are best served by letting Cocoa take you where it wants you to go. The path over what looks like a mountain of components and APIs has never been more thoroughly prepared for your travels. With Jack's guidance, the steep learning curve becomes a pleasurable adventure. There is still much work for the uninitiated, but by the time you're done, you will be well on your way to becoming a Cocoa master.