调试
这是一份理解调试过程和应用程序运行机理的文档。
Mac OS X调试技巧笔记 (TN2124) (链接 - PDF镜像)
iOS调试技巧笔记 (TN2239) (链接 - PDF镜像)
了解和分析iOS应用程序崩溃(Crash)报告 (TN2151) (链接 - PDF镜像)
Mach-O Binaries
Mac OS X和iOS使用Mach-O文件格式的可执行二进制文件和共享库。
Mach-O 维基百科 (链接)
OS X ABI Mach-O文件格式参考 (链接 - PDF - PDF镜像)
分析
二进制分析简介及入门指南。
分析Binaries with Hopper (链接)
System ABIs
ABI 维基百科 (链接)
Calling Conventions 维基百科 (链接)
Mac OS X ABI (链接 - PDF - PDF镜像)
动态链接库编程话题 (链接 - PDF - PDF镜像) (文档 - 文档镜像)
OS X ABI动态加载程序参考 (链接 - PDF - PDF镜像)
编程语言学习资源
在理解程序运行的原理之前你需要又一个良好的编程语言基础。
ARM体系结构(ARMv7) (PDF镜像)
ARM体系结构(ARM64) (PDF镜像)
Learn C The Hard Way (链接)
C语言函数库参考指南 (链接)
Objective-C语言 (链接 - PDF - PDF镜像)
Objective-C运行时(Runtime)(链接 - PDF - PDF镜像)
进阶
收集博客等阅读资源,从多角度深入理解编程语言和系统功能。
NSBlog (链接)
Reverse Engineering Mac OS X (链接)
Landon's Blog (链接)
OS X Internals (链接)
Greg Parker's Blog (链接)
Ridiculous Fish (链接)
Snare's Blog (链接)
To The Apple's Core (链接)
The Objective-C Runtime: Understanding and Abusing (链接)
工具
Mach-O二进制分析:
MachOViewer (主页)
16进制编辑器:
Hex Fiend (主页)
0xED (主页)
Synalyze It! (主页)
反汇编:
Hopper (主页)
IDA (主页)
otool (man page)
otx (主页)
反编译:
Hopper (主页)
Hex-Rays (主页)
classdump (主页)
codedump (i386) (下载链接)
调试器:
GDB (Not shipped on OS X anymore) (主页)
LLDB (主页)
PonyDebugger (链接)
内存编辑器:
命令行工具:
nm (man page)
strings (man page)
dsymutil (man page)
install_name_tool (man page)
ld (man page)
lipo (man page)
codesign (man page)
hexdump (man page)
dyld_shared_cache (链接)
vbindiff (链接)
binwalk (链接)
xpwntool (链接)
objdump (链接)
有用的代码仓库
Apple Source Code (链接)
PLCrashReporter (链接)
Mike Ash's Github (链接)
Landon Fuller's Github (链接)
Jonathan Rentzsch's Github (链接)
fG!'s Github (链接)
本文由 安全客 翻译,转载请注明“转自安全客”,并附上链接。
原文链接:https://pewpewthespells.com/re.html