- 博客(98)
- 资源 (33)
- 收藏
- 关注
原创 在 macOS 上禁止 App 连网的一个方法
在 macOS 上禁止 App 连网的一个方法在 macOS 上可以使用沙盒策略来禁止 App 连网。App假设目标 App 的目录结构如下:/Applications/AbcdEfg.app└── Contents ├── Info.plist ├── MacOS │ ├── AbcdEfg ├── PkgInfo ├...
2019-12-15 18:30:10
7135
1
原创 For Fun:使用 IDA 调试 iOS 程序的步骤
前提要求1、熟悉基本的 IDA 操作。2、会对手机进行越狱。3、从手机上拷贝文件到电脑,从电脑上拷贝文件到手机。4、会使用 ldid 对 debugserver 签名,增加权限。5、会使用工具(如:iproxy)映射手机端口。6、了解如何使用 LLDB 调试应用,可以参考我 15 年写的文章:《在非越狱设备上使用LLDB 调试第三方 App》。实验环境64 位 iO
2017-09-25 11:39:54
12166
原创 iOS 内核堆利用技术点之 mach_msg ool
说明在内核堆利用中,mach_msg 主要用来填充内核堆、读内核堆。这个技术点无法单独使用,需要配合内核堆信息泄露、堆整理技术(比如:堆风水),即:首先要使堆可控。关于 mach_msg ool详细的信息大家可以参考《Mac OS X and iOS Internals: to Apple’s Core》的第十章、《Mac OS X Internals:A Systems
2015-06-01 20:37:25
5809
原创 在非越狱设备上Hook C++的虚函数是否可能?
关于C++中虚函数与普通函数的区别,大家可以参考:《深度探索C++对象模型》。对于Hook普通的C++函数,与Hook C函数没什么太大区别,主要的却别在于C++有名称改编,原理是在函数入口加入跳转指令。这块儿在Windows平台上有微软的Detours,也有开源的EasyHook。在Mac平台上有MobileSubstrate,相信做过越狱开发的对这个都比较熟悉。所有上面列到的工具在
2014-08-12 13:59:36
5474
原创 对苹果“五仁”编程语言Swift的简单分析
苹果在昨天的WWDC上,发布了新的编程语言Swift。这两天开发社区都在讨论这个语言,从语言的特性上大家发现了好多语言的影子,这样的情况可以说是集大成,也可以说是“五仁”。每个人看问题的角度都不同,下面从编译、工具链、逆向、及其对越狱开发的影响的角度对其进行简单分析。
2014-06-04 18:35:37
31804
5
原创 Cydia Substrate 工作流程图
【附-腾讯安全管家替换 MobileSubstrate 的流程】com.qq.mqqsecure.deb-postinst--->QSCommand--->QSTempRunner
2014-06-01 01:15:59
4950
原创 [实验]通过内核Patch去掉iOS-v4.3.3的沙盒特性
环境:1、Mac OS X 10.9.22、xcode 5.1.13、gcc 4.84、redsn0w 0.9.15b3前提:1、获取 iOS 4.3.3 的kernelcache,并解密操作步骤:1、修改 datautils0/sandbox.S 的19行,将“movs r2, #19”改为“movs r2, #1”2、编译
2014-05-30 22:44:33
4713
原创 Class Model of Quick Time Plugin
Quick Time Plugin 的类图。类图的矢量PDF格式:http://pan.baidu.com/s/1o6oFV8Q简要说明:FigPluginView实现了WebKit的插件接口。FPVMediaPlayerHelper 是处理插件与对应DOM媒体元素的辅助类,比如:处理事件等等。类图:
2014-03-31 15:20:52
4016
原创 调试没有符号的 iOS 应用
使用场景: 1、调试被 strip 了的 iOS 应用 2、调试被 strip 了的 iOS 系统 dylib在调试时没有符号的 iOS 应用时,设置断点非常不方便: 1、App:在没有开启 ASLR 时,需要首先找到方法的地址,然后针对地址设置断点 2、Dylib:在没有开启 ASLR 时,需要找到dylib的基地址,然后计算偏移如果开启了 ASLR,设置断点会更麻烦。
2014-03-05 20:47:27
5900
原创 iOS中 Web 页面与 Native Code 的一种通信方式
通过 HTML5 的 socket API 实现 Native Code 与 Web 页面的通信。
2013-08-26 23:26:42
4455
原创 使用MachOView辅助破解AppStore应用
在破解iOS应用的过程中,需要经常使用 otool 获取程序本身的信息(比如:是否启用了PIE),获取加密信息,但是CLI的程序在直观性上还是不如GUI的,下面描述使用MachOView来查看到相关信息。1、加载可执行文件。运行 MachOView 后,会提示选择文件,选择将要分析的文件,会在后台进行分析,等待分析完毕,如下图:2、文件头信息。
2013-07-28 15:35:16
5907
原创 逆向iOS SDK -- _UIImageAtPath 的实现(SDK 5.1)
+[UIImage imageNamd:]的实现分析:如果查找图片,查找哪些图片,查找顺序,缓存等。注释过的反汇编代码:http://pan.baidu.com/share/link?shareid=3491166579&uk=537224442伪代码(不精确,仅供参考): NSString* _UICacheNameForImageAtPath(NSString *imageName, NSBundle *bundle);NSString* ProductSu
2013-07-25 00:19:43
4395
原创 逆向iOS SDK -- _UIImageAtPath 的实现(SDK 6.1)
汇编代码:; 状态:R0 = imageFileName, R1 = mainBundle, R2 = isRetina PUSH {R4-R7,LR}; R0 = imageFileName, R1 = mainBundle, R2 = isRetina ADD R7, SP, #0xC PUSH.W {R8,R
2013-07-07 01:24:35
3753
原创 逆向iOS SDK -- +[UIImage imageNamed:] 的实现
汇编代码:; Dump of assembler code for function +[UIImage imageNamed:]; R0 = UIImage, R1 = "imageNamed:", R2 = imageFileNamepush {r4, r5, r7, lr} ; 从右向左,依次将这些寄存器压栈movw r1, #62936 ;R
2013-07-05 00:23:51
2893
2
原创 逆向iOS SDK -- “添加本地通知”的流程分析
观点:代码面前没有秘密添加通知的 Demo 代码- (void)scheduleOneLocalNotification { [[UIApplication sharedApplication] cancelAllLocalNotifications]; UILocalNotification *localNotification = [[UILocal
2013-06-30 11:12:14
4062
原创 破解从 AppStore 下载的 IPA
破解从 AppStore 下载的 IPA 主要包括如下步骤:1、去除可执行文件中的加密数据。2、重新签名打包。可以参考:http://tungchingkai.blogspot.com/2009/02/how-to-decrypt-iphone-ipa-file.html如上的文章中附了一个 shell 脚本文件可以方便破解。这个脚本文件的使用方法是:
2013-02-06 14:55:22
5603
1
原创 关于 UDP Hole Punching 的资料
平时用两台电脑,一台 Win, 一台Mac,在这两个平台上进行文件传送非常不方便,原因是公司不让用企鹅传公司内部文件。于是想自己写一个传送文件的工具,服务器使用 GAE,开发语言可以选择 Python 或者 Go(最近学习了下 Go,正好练练手)。客户端打算用 Python,至于是否带 GUI 还没考虑好。写这个程序,对于我来说主要问题在于 UDP 这块,一
2013-02-06 14:53:55
2882
原创 关于移动应用UI部分管理的一些思考
我认为移动应用程序相对于桌面程序的主要特点是:强交互。这样就引出一个问题:用什么样的设计可以使程序的 UI,Animation 等交互部分有序、受控?我最近在思考这个问题,目前认为解决这类问题有两个思路:1、基于游戏的技术,比如场景管理。对于游戏开发的领域不是很了解,这个暂且放一放。2、基于状态机的UI管理框架。在想到第二个思路时,用 Google 搜索了下
2013-01-22 13:15:12
1821
原创 Hook Objective-C 的方法
在 Windows 中主要有两种钩子:消息钩子与函数钩子,有时在实现某些功能时必须用钩子。对函数挂钩子主要是进行入口地址的替换,广义的理解很多东西都是钩子,比如中断向量表。可以对 C++ 中的静态函数与虚函数挂钩子,但是很难对普通函数挂钩子,主要原因是C++没有统一的 ABI标准。但是可以对 Objective-C 挂钩子,而且OC提供了一些运行时方法,让挂钩子相对简单,比
2013-01-07 17:03:13
1691
原创 关于替换 UIWebView 网络模块的一些初步想法
使用了Chrome-iOS后开始思考这个问题,如何才能替换掉 UIWebView 的网络模块。单纯解决这个问题,有两个方法:1、实现 NSURLProtocol,替换 HTTP 协议的处理方式。优点:正规缺点:影响范围大2、实现 NSURLCache,在对应的方法中用自己的网络模块发出请求。优点:只影响 UIWebView缺点:只能单线程加载
2013-01-07 11:41:15
2052
1
转载 在 UIWebView 中监控 XMLHttpRequest
需要 Javascript 与 ObjC 合作从而达到这个目标。There are two parts to make this work: a JavaScript handler and UIWebView delegate methods. In JavaScript, we can modify prototype methods to trigger events whe
2013-01-07 11:40:36
2636
原创 Disable & Enable xcode Indexing
无奈,笔记本内存有限,在浏览一些大的工程时,需要禁用 xcode 的索引服务:defaults write com.apple.dt.XCode IDEIndexDisable 1如果需要再次打开则:defaults write com.apple.dt.XCode IDEIndexDisable 0
2013-01-07 11:39:45
1859
原创 在 LLDB 中为 Objective-C 设置断点
To set a breakpoint Objective C selectors named alignLeftEdges: you can enter either of:(lldb) breakpoint set --selector alignLeftEdges: (lldb) breakpoint set -S alignLeftEdges:You can limit a
2012-12-26 22:42:04
1560
转载 iAP Cracker for iPhone/iPod/iPad
源:http://cydia.myrepospace.com/urus==========================================iAP Cracker by urus; it cracks easy dlc/inapp purchases. As long as the game/app doesn’t check the purchase wit
2012-12-26 22:41:27
2370
原创 iOS & Max_OS_X Debugging Magic
iOS: http://developer.apple.com/library/ios/#technotes/tn2239/_index.htmlMac OS X: http://developer.apple.com/library/ios/#technotes/tn2004/tn2124.html=============================================
2012-12-26 22:40:57
1085
转载 A working GNU Debugger on iOS >= 4.3
People know that the gdb package coming from Cydia is broken since 4.3.But here is a simple way to have a working gdb running on your iOS device : use the one from the Apple SDK !P
2012-12-26 22:40:20
969
转载 Cydia and XCode Local App Testing
1. Go to /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/SDKSettings.plist and change CODE_SIGNING_REQUIRED to NO and save it. (if it complains about file permission right click
2012-12-26 22:39:56
1190
转载 iOS 设备上的 debugserver 补丁
debugserver is a console app that as server for remote gdb debugging. It is installed when a device is marked for development. It can be found in /Developer/usr/bin/debugserver. This is also the pro
2012-12-26 22:39:22
2314
转载 IDA + GDBServer实现iPhone程序远程调试
源地址:http://bbs.pediy.com/showthread.php?t=138472IDA + GDBServer实现iPhone程序远程调试By:obaby在早期的IDA中包含了一个iphoneserver的程序,这个程序就是配合IDA实现远程调试的。但是在最新版的IDA中这个东西已经不复存在了,因而下载的破解版的IDA中没有那个文件并不是被删除掉了,而是本来
2012-12-26 22:38:53
1659
转载 用IDA 6.2导出的idc增强IDA 6.1的分析
源地址:http://zhiwei.li/text/2012/04/%E7%94%A8ida-6-2%E5%AF%BC%E5%87%BA%E7%9A%84idc%E5%A2%9E%E5%BC%BAida-6-1%E7%9A%84%E5%88%86%E6%9E%90/在IDA 6.2对Objective-C程序的分析已经能去区分 类方法和 对象方法了-[UserAccount
2012-12-26 22:38:12
1390
转载 Tracing Objective-C messages
In my OS X programming of late, one debugging technique I thought would be handy is the ability log and trace Objective-C messages sent. It turns out this is not only possible, but quite easy. However
2012-12-26 22:37:46
1143
转载 objc_msgSend 的 ARM 汇编分析
Here's the disassembly for objc_msgSend on ARMv6, iOS4.2.1 (sorry no ARMv7 devices on my desk at the moment). I'll try to annotate it: 0x32d98f0c : teq r0, #0 ; 0x0 0x32d98f10 : moveq r1,
2012-12-26 22:37:02
1682
Optimizing Compilers for Modern Architectures
2017-03-07
Zero Configuration Networking: The Definitive Guide
2015-11-09
Open Source Fuzzing Tools
2015-09-09
MachOView-build-2013-05-22
2013-07-28
Programming with Quartz 2D and PDF Graphics in Mac OS X
2013-01-09
Hack the Stack
2012-02-03
The Indispensable PC Hardware Book - Third Edition
2010-10-09
ASP.NET MVC 2 in Action 2nd
2010-06-23
iPhone开发需要看的3本书
2010-03-30
BoundsChecker 6.5 VC++ -----------(6)
2007-11-29
BoundsChecker 6.5 VC++ -----------(5)
2007-11-29
BoundsChecker 6.5 VC++ -----------(4)
2007-11-29
BoundsChecker 6.5 VC++ -----------(3)
2007-11-29
BoundsChecker 6.5 VC++ -----------(2)
2007-11-29
BoundsChecker 6.5 VC++ -----------(1)
2007-11-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人