Pro C# 7This essential classic title provides a comprehensive foundation in the C# programming language and the frameworks it lives in. Now in its 8th edition, you'll find all the very latest C# 7.1 and .NET 4.7 features here, along with four brand new chapters on Microsoft's lightweight, cross-platform framework, .NET Core, up to and including .NET Core 2.0. Coverage of ASP.NET Core, Entity Framework (EF) Core, and more, sits alongside the latest updates to .NET, including Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), and ASP.NET MVC.
Dive in and discover why Pro C# has been a favorite of C# developers worldwide for over 15 years. Gain a solid foundation in object-oriented development techniques, attributes and reflection, generics and collections as well as numerous advanced topics not found in other texts (such as CIL opcodes and emitting dynamic assemblies). With the help of this book you'll have the confidence to put C# into practice and explore the .NE ...
Attacking Network ProtocolsAttacking Network Protocols is a deep dive into network protocol security from James Forshaw, one of the world's leading bug hunters. This comprehensive guide looks at networking from an attacker's perspective to help you discover, exploit, and ultimately protect vulnerabilities.
You'll start with a rundown of networking basics and protocol traffic capture before moving on to static and dynamic protocol analysis, common protocol structures, cryptography, and protocol security. Then you'll turn your focus to finding and exploiting vulnerabilities, with an overview of common bug classes, fuzzing, debugging, and exhaustion attacks.
Learn how to: Capture, manipulate, and replay packets; Develop tools to dissect traffic and reverse engineer code to understand the inner workings of a network protocol; Discover and exploit vulnerabilities such as memory corruptions, authentication bypasses, and denials of service; Use capture and analysis tools like Wireshark and develop your ow ...
Serious CryptographyThis practical guide to modern encryption breaks down the fundamental mathematical concepts at the heart of cryptography without shying away from meaty discussions of how they work. You'll learn about authenticated encryption, secure randomness, hash functions, block ciphers, and public-key techniques such as RSA and elliptic curve cryptography.
You'll also learn: Key concepts in cryptography, such as computational security, attacker models, and forward secrecy; The strengths and limitations of the TLS protocol behind HTTPS secure websites; Quantum computation and post-quantum cryptography; About various vulnerabilities by examining numerous code examples and use cases; How to choose the best algorithm or protocol and ask vendors the right questions.
Each chapter includes a discussion of common implementation mistakes using real-world examples and details what could go wrong and how to avoid these pitfalls.
Whether you're a seasoned practitioner or a beginner looking to dive i ...
Gray Hat C#Learn to use C#'s powerful set of core libraries to automate tedious yet important tasks like fuzzing, performing vulnerability scans, and analyzing malware. With some help from Mono, you'll write your own practical security tools that will run on Windows, OS X, Linux, and even mobile devices.
After a crash course in C# and some of its advanced features, you'll learn how to: Generate shellcode in Metasploit to create cross-platform and cross-architecture payloads; Automate Nessus, OpenVAS, and sqlmap to scan for vulnerabilities and exploit SQL injections; Write a .NET decompiler for OS X and Linux; Parse and read offline registry hives to dump system information; Automate the security tools Arachni and Metasploit using their MSGPACK RPCs.
Streamline and simplify your workday by making the most of C#'s extensive repertoire of powerful tools and libraries with Gray Hat C#. ...
Coding iPhone Apps for KidsApple's Swift is a powerful, beginner-friendly programming language that anyone can use to make cool apps for the iPhone or iPad. In Coding iPhone Apps for Kids, you'll learn how to use Swift to write programs, even if you've never programmed before.
You'll work in the Xcode playground, an interactive environment where you can play with your code and see the results of your work immediately! You'll learn the fundamentals of programming too, like how to store data in arrays, use conditional statements to make decisions, and create functions to organize your code - all with the help of clear and patient explanations.
Once you master the basics, you'll build a birthday tracker app so that you won't forget anyone's birthday and a platform game called Schoolhouse Skateboarder with animation, jumps, and more!
As you begin your programming adventure, you'll learn how to: Build programs to save you time, like one that invites all of your friends to a party with just the click of a but ...
Practical Packet Analysis, 3rd EditionIt's easy to capture packets with Wireshark, the world's most popular network sniffer, whether off the wire or from the air. But how do you use those packets to understand what's happening on your network?
Updated to cover Wireshark 2.x, the third edition of Practical Packet Analysis will teach you to make sense of your packet captures so that you can better troubleshoot network problems. You'll find added coverage of IPv6 and SMTP, a new chapter on the powerful command line packet analyzers tcpdump and TShark, and an appendix on how to read and reference packet values using a packet map.
Practical Packet Analysis will show you how to: Monitor your network in real time and tap live network communications; Build customized capture and display filters; Use packet analysis to troubleshoot and resolve common network problems, like loss of connectivity, DNS issues, and slow speeds; Explore modern exploits and malware at the packet level; Extract files sent across a network from packet ...
Learn Java the Easy WayJava is the world's most popular programming language, but it's known for having a steep learning curve. Learn Java the Easy Way takes the chore out of learning Java with hands-on projects that will get you building real, functioning apps right away.
You'll start by familiarizing yourself with JShell, Java's interactive command line shell that allows programmers to run single lines of code and get immediate feedback. Then, you'll create a guessing game, a secret message encoder, and a multitouch bubble-drawing app for both desktop and mobile devices using Eclipse, an industry-standard IDE, and Android Studio, the development environment for making Android apps.
As you build these apps, you'll learn how to: Perform calculations, manipulate text strings, and generate random colors; Use conditions, loops, and methods to make your programs responsive and concise; Create functions to reuse code and save time; Build graphical user interface (GUI) elements, including buttons, menus, pop ...
Cracking Codes with PythonLearn how to program in Python while making and breaking ciphers - algorithms used to create and send secret messages!
After a crash course in Python programming basics, you'll learn to make, test, and hack programs that encrypt text with classical ciphers like the transposition cipher and Vigenère cipher. You'll begin with simple programs for the reverse and Caesar ciphers and then work your way up to public key cryptography, the type of encryption used to secure today's online transactions, including digital signatures, email, and Bitcoin.
Each program includes the full code and a line-by-line explanation of how things work. By the end of the book, you'll have learned how to code in Python and you'll have the clever programs to prove it!
You'll also learn how to: Combine loops, variables, and flow control statements into real working programs; Use dictionary files to instantly detect whether decrypted messages are valid English or gibberish; Create test programs to make sur ...
Kubernetes CookbookKubernetes is becoming the de-facto standard for container orchestration and distributed applications management across a microservices framework. With this practical cookbook, you'll learn hands-on recipes for automating the deployment, scaling, and operations of application containers across clusters of hosts.
The book's easy-lookup problem-solution-discussion format helps you find the detailed answers you need - quickly. Kubernetes lets you deploy your applications quickly and predictably, so you can efficiently respond to customer demand. This cookbook, ideal for developers and system administers alike, provides the essential knowledge you need to get there.
You'll find recipes for: Kubernetes installation; Kubernetes API, API groups; Application primitives; Monitoring; Troubleshooting. ...
React Native CookbookTackling an app development project on multiple platforms is usually an arduous task, but with React Native, you can build cross-platform mobile apps that look and behave just like native apps built with Swift or Java. If you're familiar with JavaScript, the recipes in this cookbook will help you understand the React Native ecosystem, deal with design and hardware issues, take on the deployment process, and write maintainable code.
How do you organize a project? Or design an app that can access a device's camera? Based on author Jonathan Lebensold's personal journey through the app development process, the recipes in this cookbook will not only provide you with quick answers, they can also inspire you to come up with your own solutions.
Examine the software tools you'll use to build a React Native app; Leverage components and JavaScript libraries in the React ecosystem; Design cross-platform apps that balance UX, platform conventions, and technical complexity; Get common use case ...