Kali Linux has not only become the information security professional´s platform of choice, but evolved into an industrial-grade, and world-class operating system distribution-mature, secure, and enterprise-ready. Through the decade-long development process, Muts and his team, along with countless volunteers from the hacker community, have taken on the burden of streamlining and organizing our work environment, freeing us from much of the drudgery. They provided a secure and reliable foundation, allowing us to concentrate on securing our digital world. An amazing community has built up around Kali Linux. Every month, more than 300,000 of us download a version of Kali. We come together in online and real-world training rooms and grind through the sprawling Offensive Security Penetration Testing Labs, pursuing the near-legendary Offensive Security certifications. We come together on the Kali forums, some 40,000 strong, and hundreds of us at a time can be found on the Kali IRC channel. We gather at conferences and attend Kali Dojos to learn from the developers themselves how to best leverage Kali. However, the Kali team has never released an official Kali Linux manual, until now. In this book, we´ll focus on the Kali Linux platform itself, and help you understand and maximize Kali from the ground up. The developers will walk you through Kali Linux features and fundamentals, provide a crash course in basic Linux commands and concepts, and then walk you through the most common Kali Linux installation scenarios. You´ll learn how to configure, troubleshoot and secure Kali Linux and then dive into the powerful Debian package manager. Throughout this expansive section, you´ll learn how to install and configure packages, how to update and upgrade your Kali installation, and how to create your own custom packages. Then you´ll learn how to deploy your custom installation across massive enterprise networks. Finally, you´ll be guided through advanced topics such as kernel compilation, custom ISO creation, industrial-strength encryption, and even how to install crypto kill switches to safeguard your sensitive information. Whether you´re a veteran or an absolute n00b, this is the best place to start with Kali Linux, the security professional´s platform of choice.
Build a voice-controlled virtual assistant using speech-to-text engines, text-to-speech engines, and conversation modules. This book shows you how to program the virtual assistant to gather data from the internet (weather data, data from Wikipedia, data mining); play music; and take notes. Each chapter covers building a mini project/module to make the virtual assistant better. You´ll develop the software on Linux or OS X before transferring it to your Raspberry Pi, ready for deploying in your own home-automation or Internet of Things applications. Building a Virtual Assistant for Raspberry Pi walks you through various STTs and TTSs and the implementation of these components with the help of Python. After that you will start implementing logic for handling user queries and commands, so that the user can have conversations with Melissa. You will then work to improve logic handling to detect what the user wants Melissa to do. You will also work on building some useful applications/modules for Melissa, which will allow you to gain interesting information from Melissa such as the time, weather information, and data from Wikipedia. You will develop a music playing application as well as a note taking application for Melissa, laying the foundations for how Melissa can be further extended. Finally, you will learn how to deploy this software to your Raspberry Pi and how you can further scale Melissa to make her more intelligent, interactive and how you can use her in other projects such as home automation as well. What You´ll Learn Design the workflow and discover the concepts of building a voice controlled assistant Develop modules for having conversations with the assistant Enable the assistant to retrieve information from the internet Build utilities like a music player and a note taking application for the virtual assistant Integrate this software with a Raspberry Pi Who This Book Is For Anyone who has built a home automation project with Raspberry Pi and now want to enhance it by making it voice-controlled. The book would also interest students from computer science or related disciplines.
Fully updated for Android Studio 3.5, Android 10 (Q), Android Jetpack and the modern architectural guidelines and components, the goal of this book is to teach the skills necessary to develop Android-based applications using the Kotlin programming language. An overview of Android Studio is included covering areas such as tool windows, the code editor and the Layout Editor tool. An introduction to the architecture of Android is followed by an in-depth look at the design of Android applications and user interfaces using the Android Studio environment. Chapters are also included covering the Android Architecture Components including view models, lifecycle management, Room databases, app navigation, live data and data binding. More advanced topics such as intents are also covered, as are touch screen handling, gesture recognition and the playback and recording of audio. This edition of the book also covers printing, transitions, cloud-based file storage and foldable device support. The concepts of material design are also covered in detail, including the use of floating action buttons, Snackbars, tabbed interfaces, card views, navigation drawers and collapsing toolbars. In addition to covering general Android development techniques, the book also includes Google Play specific topics such as implementing maps using the Google Maps Android API, and submitting apps to the Google Play Developer Console. Other key features of Android Studio 3.5 and Android 10 are also covered in detail including the Layout Editor, the ConstraintLayout and ConstraintSet classes, constraint chains and barriers, direct reply notifications and multi-window support. Chapters also cover advanced features of Android Studio such as App Links, Dynamic Feature Modules, the Android Studio Profiler and Gradle build configuration. Assuming you already have some programming experience, are ready to download Android Studio and the Android SDK, have access to a Windows, Mac or Linux system and ideas for some apps to develop, you are ready to get started.
Sams Teach Yourself C++ in 24 Hours is a hands-on guide to the C++ programming language. Readers are provided with short, practical examples that illustrate key concepts, syntax, and techniques. Using a straightforward approach, this fast and friendly tutorial teaches you everything you need to know, from installing and using a compiler, to debugging the programs you´ve created, to what´s new in C++14. Step-by-step instructions carefully walk you through the most common C++ programming tasks Quizzes and exercises at the end of each chapter help you test yourself to make sure you´re ready to go on Learn how to... Install and use a C++ compiler for Windows, Mac OS X, or Linux Build object-oriented programs in C++ Master core C++ concepts such as functions and classes Add rich functionality with templates and lambda expressions Debug your programs for flawless code Learn exception and error-handling techniques Put to use the new features in C++14, the latest version of the language Create and use templates Control program flow with loops Store information in arrays and strings Declare and use pointers Use operator overloading Extend classes with inheritance Use polymorphism and derived classes Employ object-oriented analysis and design
Create powerful, marketable applications with Tizen for thesmartphone and beyond Tizen is the only platform designed for multiple devicecategories that is HTML5-centric and entirely open source. Writtenby experts in the field, this comprehensive guide includes chapterson both web and native application development, covering subjectssuch as location and social features, advanced UIs, animations,sensors and multimedia. This book is a comprehensive resource for learning how todevelop Tizen web and native applications that are polished,bug-free and ready to sell on a range of smart devices, beyond justsmartphones. Tizen is an open source platform that is housed withinthe Linux Foundation and is fully supported by Intel, Samsung andthe Tizen Association. Professional Tizen Application Development: * Explains how web applications can combine HTML5 featureswith Tizen device APIs to unleash the full potential of the Tizenplatform * Provides detailed, practical explanations of the mostimportant Tizen native APIs * Demonstrates best practices for adding key features likelocation, contacts and calendars to your apps * Shows you how to use advanced features such asanimations, face recognition and sensors to help you createapplications that stand out from the crowd * Shares code on advanced topics including multi-threadingand hybrid applications * Includes numerous fully functional code examples, forboth web and native applications, complete with hints and tips toget the most out of the Tizen APIs Hojun Jaygarl, Yoonsoo Kim, Eunyoung Choi are Samsung engineersworking on Tizen. Cheng Luo, Kevin Bradwick and Jon Lansdell areexperienced professional developers. Professional Tizen Application Development prepares youto start creating amazing apps for multiple devices with the Tizenplatform.
- This much-anticipated revision, written by the ultimate group of top security experts in the world, features 40 percent new content on how to find security holes in any operating system or application - New material addresses the many new exploitation techniques that have been discovered since the first edition, including attacking ´´unbreakable´´ software packages such as McAfee´s Entercept, Mac OS X, XP, Office 2003, and Vista - Also features the first-ever published information on exploiting Cisco´s IOS, with content that has never before been explored - The companion Web site features downloadable code files The black hats have kept up with security enhancements. Have you? In the technological arena, three years is a lifetime. Since the first edition of this book was published in 2004, built-in security measures on compilers and operating systems have become commonplace, but are still far from perfect. Arbitrary-code execution vulnerabilities still allow attackers to run code of their choice on your system--with disastrous results. In a nutshell, this book is about code and data and what happens when the two become confused. You´ll work with the basic building blocks of security bugs--assembler, source code, the stack, the heap, and so on. You´ll experiment, explore, and understand the systems you´re running--and how to better protect them. * Become familiar with security holes in Windows, Linux, Solaris, Mac OS X, and Cisco´s IOS * Learn how to write customized tools to protect your systems, not just how to use ready-made ones * Use a working exploit to verify your assessment when auditing a network * Use proof-of-concept exploits to rate the significance of bugs in software you´re developing * Assess the quality of purchased security products by performing penetration tests based on the information in this book * Understand how bugs are found and how exploits work at the lowest level
This book is written for Windows professionals who are familiar with PowerShell and want to learn to build, operate, and administer their Windows workloads in the Microsoft cloud . Pro PowerShell for Microsoft Azure is packed with practical examples and scripts, with easy-to-follow explanations for a wide range of day-to-day needs and essential administration tasks. Author Sherif Talaat begins by explaining the fundamental concepts behind the Microsoft Azure platform and how to get started configuring it through PowerShell. Readers will find out how to deploy, configure and manage the various components of the Azure platform, from storage and virtual networks to Azure Web Sites, HDInsight clusters and the Azure SQL Database. Workload automation, scheduling and resource management are covered in depth to help build efficiency in everyday tasks, and administrators will gain full control over Azure identity and access rights using Azure Active Directory and Rights Management Services. Put your PowerShell skills to good use and ensure that your applications and data are available anywhere at any time, with Pro PowerShell for Microsoft Azure . What You´ll Learn Create and manage virtual networks and VPNs using PowerShell. Configure and maintain Azure Storage accounts, blobs, and containers. Provision and manage a redundant Windows or Linux server. Deploy and configure your sites in the cloud using Microsoft Azure Web Sites. Provision Apache Hadoop clusters in the cloud using Azure HDInsight. Deploy, configure and manage a Microsoft Azure SQL Database. Protect and secure identities and resources with Azure Active Directory and Azure Rights Management Services. Who This Book Is For This is book is for the intermediate to advanced Windows professional who is ready to make the leap to the cloud.
Design and build custom hardware interfaces for the Raspberry Pi and discover low cost display and sensor options for embedded system projects. With this book you´ll master 12C communications using Raspbian Linux in C++ and perform ADC and DAC experiments. You´ll experiment with debounce buttons and switches using hardware and software solutions. Develop flywheel rotary encoder effects for ease of tuning and construct a hardware interface to the Music Playing Daemon (MPD) with developed software. Discover how to add your own hardware keypad for remote combination lock applications. Custom Raspberry Pi Interfaces offers a thorough chapter on interfacing 5-volt systems to 3.3-volt Raspberry Pis designed to expand your choice of peripheral options. Ready to go C++ programs involving GPIO and I2C peripherals are provided. This book also explores ADC, DAC, rotary encoders, CMOS shift registers. I2C I/O extenders. What you´ll learn: Build simple, low cost input/output interfaces including rotary encoders Interface with 5-volt devices from a 3-volt Raspberry Pi system Apply analog to digital and digital to analog conversions on the Pi Read potentiometers (volume control) from the Pi Determine step, directions, and velocity of a rotary encoder Perform remote interfacing using the I2 PCF8574 chip Work with external CMOS devices like the 74HC595 (in C++) Who this book is for: Students and hobbyists interested in building custom interfaces for their Raspberry Pis.
Use ASP.NET Core 2 to create durable and cross-platform web APIs through a series of applied, practical scenarios. Examples in this book help you build APIs that are fast and scalable. You´ll progress from the basics of the framework through to solving the complex problems encountered in implementing secure RESTful services. The book is packed full of examples showing how Microsoft´s ground-up rewrite of ASP.NET Core 2 enables native cross-platform applications that are fast and modular, allowing your cloud-ready server applications to scale as your business grows. Major topics covered in the book include the fundamentals and core concepts of ASP.NET Core 2. You´ll learn about building RESTful APIs with the MVC pattern using proven best practices and following the six principles of REST. Examples in the book help in learning to develop world-class web APIs and applications that can run on any platform, including Windows, Linux, and MacOS. You can even deploy to Microsoft Azure and automate your delivery by implementing Continuous Integration and Continuous Deployment pipelines. What You Will Learn Incorporate automated API tooling such as Swagger from the OpenAPI specification Standardize query and response formats using Facebook´s GraphQL query language Implement security by applying authentication and authorization using ASP.NET Identity Ensure the safe storage of sensitive data using the data protection stack Create unit and integration tests to guarantee code quality Who This Book Is For Developers who build server applications such as web sites and web APIs that need to run fast and cross platform; programmers who want to implement practical solutions for real-world problems; those who want in-depth knowledge of the latest bits of ASP.NET Core 2.0