MASTG-TECH-0065: 逆向工程 iOS 应用
iOS 逆向工程比较复杂。一方面,用 Objective-C 和 Swift 编程的应用可以被很好地反汇编。在 Objective-C 中,对象方法通过名为 "selectors" 的动态函数指针来调用,这些指针在运行时按名称解析。运行时名称解析的优点是这些名称需要在最终的二进制文件中保持完整,从而使反汇编更具可读性。不幸的是,这也意味着反汇编器中没有方法之间的直接交叉引用,并且构建流程图具有挑战性。
参考资料¶
- [#miller] - Charlie Miller, Dino Dai Zovi. The iOS Hacker's Handbook. Wiley, 2012 - https://www.wiley.com/en-us/iOS+Hacker%27s+Handbook-p-9781118204122
- [#levin] Jonathan Levin. Mac OS X and iOS Internals: To the Apple's Core. Wiley, 2013 - http://newosxbook.com/MOXiI.pdf