![]() |
Advanced Apple Debugging & Reverse Engineering PDF, EPUB Update Swift 4.2 and IOS 12 |
Book Details
- Title:Download Advanced Apple Debugging & Reverse Engineering
- ISBN-10:1942878359
- Author:Derek Selander, raywenderlich.com Team; Florent Pillet; Junior Bontognali; Marin Todorov; Scott Gardner
- Publisher:Razeware LLC
- Language:English
- Publish date:2017
- Subject:Swift / Computers & Technology / Programming / Apple Programming
- No. of pages: 475
- Format:PDF, EPUB, Full Souce code
Do you want download book: Advanced Apple Debugging & Reverse EngineeringRecently I bought a set of 10 books advanced IOS and Swift bundle by Ray Wenderlich. As you can see in the image above, which includes Advanced Apple Debugging & Reverse Engineering. And now I want to transfer it to you for $ 60 (10 books), All books are the latest version that supports swift 4.2 and have full source code. I will share it for you for $ 60 Includes PDF, EPUB file and full source code, you can download on Google Drive.
List books:
1, Advanced Apple Debugging
2, Server Side Swift with Vapor
3, Push Notifications by Tutorials
4, Arkit books
5, Data Structures and Algorithms in Swift
6, Realm Building Modern Swift Apps with Realm
7, RxSwift Reactive Programming with Swift
8, Metal by Tutorials
9, Machine Learning by Tutorials
10, Advanced iOS App Architecture.
Please contact me by Email: truonghang0207@gmail.com.
You can see the full description at http://www.prograbooks.com/2018/05/advanced-swift-bundle-by-ray-wenderlich.html
Thank you
Introduction
Debugging has a rather bad reputation. I mean, if the developer had a complete
understanding of the program, there wouldn’t be any bugs and they wouldn’t be
debugging in the first place, right?
Don’t think like that.
There are always going to be bugs in your software — or any software, for that matter. No amount of test coverage imposed by your product manager is going to fix that. In fact, viewing debugging as just a process of fixing something that’s broken is actually a poisonous way of thinking that will mentally hinder your analytical abilities.
Instead, you should view debugging as simply a process to better understand a program. It’s a subtle difference, but if you truly believe it, any previous drudgery of debugging simply disappears.
The same negative connotation can also be applied to reverse engineering software. Images of masked hackers stealing bank accounts and credit cards may come to mind, but for this book, reverse engineering really is just debugging without source code — which in turn helps you gain a better understanding of a program or system.
There's nothing wrong with reverse engineering in itself. In fact if debugging was a game, then reverse engineering is simply debugging on the “difficult” setting — which is quite a fun setting if you’ve been playing the game for a while. :]
In this book, you'll come to realize debugging is an enjoyable process to help you better understand software. Not only will you learn to find bugs faster, but you’ll also learn how other developers have solved problems similar to yours. You'll also learn how to create custom, powerful debugging scripts that will help you quickly find answers to any item that piques your interest, whether it’s in your code — or someone else’s.
Don’t think like that.
There are always going to be bugs in your software — or any software, for that matter. No amount of test coverage imposed by your product manager is going to fix that. In fact, viewing debugging as just a process of fixing something that’s broken is actually a poisonous way of thinking that will mentally hinder your analytical abilities.
Instead, you should view debugging as simply a process to better understand a program. It’s a subtle difference, but if you truly believe it, any previous drudgery of debugging simply disappears.
The same negative connotation can also be applied to reverse engineering software. Images of masked hackers stealing bank accounts and credit cards may come to mind, but for this book, reverse engineering really is just debugging without source code — which in turn helps you gain a better understanding of a program or system.
There's nothing wrong with reverse engineering in itself. In fact if debugging was a game, then reverse engineering is simply debugging on the “difficult” setting — which is quite a fun setting if you’ve been playing the game for a while. :]
In this book, you'll come to realize debugging is an enjoyable process to help you better understand software. Not only will you learn to find bugs faster, but you’ll also learn how other developers have solved problems similar to yours. You'll also learn how to create custom, powerful debugging scripts that will help you quickly find answers to any item that piques your interest, whether it’s in your code — or someone else’s.
This release has the following chapters ready:
• Chapter 1: Getting Started
• Chapter 2: Help & Apropos
• Chapter 3: Attaching with LLDB
• Chapter 4: Stopping in Code
• Chapter 5: Expression
• Chapter 6: Thread, Frame and Stepping Around
• Chapter 7: Image
• Chapter 8: Persisting & Customizing Commands
• Chapter 9: Regex Commands
• Chapter 10: Assembly Register Calling Convention
• Chapter 11: Assembly & Memory
• Chapter 12: Assembly and the Stack
• Chapter 13: Hello, Ptrace
• Chapter 14: Dynamic Frameworks
• Chapter 15: Hooking & Executing Code with dlopen & dlsym
• Chapter 16: Exploring and Method Swizzling Objective-C Frameworks
• Chapter 17: Hello Script Bridging
• Chapter 18: Debugging Script Bridging
• Chapter 19: Script Bridging Classes and Hierarchy
• Chapter 20: Script Bridging with Options & Arguments
• Chapter 21: Script Bridging with SBValue & Memory
• Chapter 22: SB Examples, Improved Lookup
• Chapter 23: SB Examples, Resymbolicating a Stripped ObjC Binary
• Chapter 24: SB Examples, Malloc Logging
• Appendix A: LLDB Cheatsheet
• Appendix B: Python Environment Setup
• Chapter 2: Help & Apropos
• Chapter 3: Attaching with LLDB
• Chapter 4: Stopping in Code
• Chapter 5: Expression
• Chapter 6: Thread, Frame and Stepping Around
• Chapter 7: Image
• Chapter 8: Persisting & Customizing Commands
• Chapter 9: Regex Commands
• Chapter 10: Assembly Register Calling Convention
• Chapter 11: Assembly & Memory
• Chapter 12: Assembly and the Stack
• Chapter 13: Hello, Ptrace
• Chapter 14: Dynamic Frameworks
• Chapter 15: Hooking & Executing Code with dlopen & dlsym
• Chapter 16: Exploring and Method Swizzling Objective-C Frameworks
• Chapter 17: Hello Script Bridging
• Chapter 18: Debugging Script Bridging
• Chapter 19: Script Bridging Classes and Hierarchy
• Chapter 20: Script Bridging with Options & Arguments
• Chapter 21: Script Bridging with SBValue & Memory
• Chapter 22: SB Examples, Improved Lookup
• Chapter 23: SB Examples, Resymbolicating a Stripped ObjC Binary
• Chapter 24: SB Examples, Malloc Logging
• Appendix A: LLDB Cheatsheet
• Appendix B: Python Environment Setup
What you need
To follow along with the tutorials in this book, you’ll need the following:
To follow along with the tutorials in this book, you’ll need the following:
-
A macOS running El Capitan (10.11.6) or later. Earlier versions might work, but
they're untested.
-
Xcode 8.2 or later. Packaged with Xcode is the latest and greatest version of
LLDB, the debugger you’ll use extensively throughout this book. At the time of
this writing, the version of LLDB packaged with Xcode is lldb-360.1.70.
-
Python 2.7. LLDB uses Python 2.7 to run its Python scripts. Fortunately, Python
2.7 automatically ships with macOS, as well as with Xcode. You can verify you
have the correct version installed by typing python --version in Terminal.
-
A 64 bit iOS device running iOS 10 or later, and a paid membership to
the iOS development program [optional]. For most chapters in the book, you
can run any iOS programs in the Simulator. However, you’ll get more out of this
book by using a 64-bit iOS device to test out certain ideas or suggestions littered
throughout the book.
Who this book is for
- Developers who want to become better at debugging with LLDB
- Developers who want to build complex debugging commands with LLDB
- Developers who want to take a deeper dive into the internals of Swift and Objective-C
-
Developers who are interested in understanding what they can do to their
program through reverse engineering
-
Developers who are interested in modern, proactive reverse engineering
strategies
- Developers who want to be confident in finding answers to questions they have
about their computer or software
This book is for intermediate to advanced developers who want to take their debugging and code exploration game to the next level.
Custom LLDB scripts repo
https://github.com/DerekSelander/LLDB
These scripts will help aid in your debugging/reverse engineering sessions and provide novel ideas for your own LLDB scripts.
Acknowledgments
We would like to thank many people for their assistance in making this possible:
• Our families: For bearing with us in this crazy time as we worked all hours of the night to get this book ready for publication!
• Everyone at Apple: For developing an amazing platform, for constantly inspiring us to improve our games and skill sets and for making it possible for many developers to make a living doing what they love!
• And most importantly, the readers of raywenderlich.com — especially you! Thank you so much for reading our site and purchasing this book. Your continued readership and support is what makes all of this possible!
About the cover
The Wana (pronounced “vah-na”) is a sea urchin native to the Indo-West Pacific region. This sea urchin has two types of spines: a longer hollow spine and a shorter, toxin producing spine. The Wana contains light-sensitive nerves on its skin which can detect potential threats and can move its spines accordingly towards the threat.
Much like finding bugs in a program, stepping on one of these creatures really, really sucks. Pain settles in (inflicted by either your product manager or the sea urchin) and can last up to several hours, even though the issue may remain for an extended period of time. In addition, just like bugs in a program, if you find one of these lovely creatures, there are usually many more in close proximity!
We would like to thank many people for their assistance in making this possible:
• Our families: For bearing with us in this crazy time as we worked all hours of the night to get this book ready for publication!
• Everyone at Apple: For developing an amazing platform, for constantly inspiring us to improve our games and skill sets and for making it possible for many developers to make a living doing what they love!
• And most importantly, the readers of raywenderlich.com — especially you! Thank you so much for reading our site and purchasing this book. Your continued readership and support is what makes all of this possible!
About the cover
The Wana (pronounced “vah-na”) is a sea urchin native to the Indo-West Pacific region. This sea urchin has two types of spines: a longer hollow spine and a shorter, toxin producing spine. The Wana contains light-sensitive nerves on its skin which can detect potential threats and can move its spines accordingly towards the threat.
Much like finding bugs in a program, stepping on one of these creatures really, really sucks. Pain settles in (inflicted by either your product manager or the sea urchin) and can last up to several hours, even though the issue may remain for an extended period of time. In addition, just like bugs in a program, if you find one of these lovely creatures, there are usually many more in close proximity!
No comments:
Post a Comment