iOS
唐胜云
这个作者很懒,什么都没留下…
展开
-
NSURLProtocol处理重定向时需要注意301和302状态
-(NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response { if ([response isKindOfClass:[NSHTTPURLResponse class]原创 2015-10-22 15:24:56 · 2594 阅读 · 0 评论 -
svn一次添加所有未添加的文件
最近在linux下使用svn,有个蛋疼的问题就是每次有新文件添加了,但是自己并不能记得所有被添加的路径。 也就无法一一的使用svn add命令添加了。 然而linux下也并没有像windows中那么友好的界面操作。所幸我在网上找到了大神的遗迹,大神说“我用15分钟写出了这串命令,然后使用了他成百上千次”。 我想说的是,没有大神的潇洒与坦荡,渊博的知识,我先花了15分钟迷茫无措,思考未来。然后又转载 2017-06-13 17:26:40 · 1989 阅读 · 3 评论 -
移动App入侵与逆向破解技术-iOS篇
如果您有耐心看完这篇文章,您将懂得如何着手进行app的分析、追踪、注入等实用的破解技术,另外,通过“入侵”,将帮助您理解如何规避常见的安全漏洞,文章大纲:- 简单介绍ios二进制文件结构与入侵的原理- 介绍入侵常用的工具和方法,包括pc端和手机端- 讲解黑客技术中的静态分析和动态分析法- 通过一个简单的实例,来介绍如何综合运用砸壳、寻找注入点、lldb远程调试、追踪、反汇编技术来进行黑客实战原创 2016-07-01 19:24:56 · 83448 阅读 · 29 评论 -
如何在Method Swizzling之后如何恢复
使用了Method Swizzling的各种姿势之后, 是否有考虑如何恢复到交换之前的现场呢?一种方案就是通过一个开关标识符, 如果需要从逻辑上面恢复到交换之前, 就设置一下这个标识符, 在实现中判定如果设定了该标识符, 逻辑就直接调用原方法的实现, 其它什么事儿也不干, 这是目前大多数代码的实现方法, 当然也是非常安全的方式, 只不过当交换方法过多时, 每一个交换的方法体中都需要增加这样的逻辑,转载 2016-10-19 16:02:13 · 911 阅读 · 0 评论 -
关于不同类的Method Swizzling
iOS的Method Swizzling是一个非常有意思的run time应用案例.用它可以实现AOP,也可以用来hook很多API,进行很多hack的操作相关资料很多,总体来讲就是调换两个Method的Imp,也就是调换函数指针.在很多AOP的案例中,使用这种方式hook住关键方法,在递归调用方法前/后实现AOP.例如:在一个UIViewController的category中,可以这样+ (vo原创 2016-10-19 15:55:13 · 1596 阅读 · 0 评论 -
IOS的fat类型文件和thin类型文件的转换
ios可执行文件编译后默认包含armv7和arm64两种cpu架构,有时候我们逆向时需要分离出某一个架构,减少加载时间,可以用如下的命令瘦身:lipo binnary -thin armv7 -output bin-armv7lipo binnary -thin arm64 -output bin-armv64后续可以用如下命令再进行合并:lipo -create ./xxxx_v7.dylib原创 2016-10-19 11:10:26 · 1675 阅读 · 0 评论 -
iOS逆向工具推荐
还原符号表(作者blog)https://github.com/tobefuturer/restore-symbol转换成动态库(作者blog)https://github.com/tobefuturer/app2dylib原创 2016-11-09 10:24:16 · 2362 阅读 · 1 评论 -
xcode8插件管理工具
通过如下命令安装sudo gem install update_xcode_plugins安装完成后直接执行命令update_xcode_plugins原创 2016-11-05 13:11:25 · 1335 阅读 · 0 评论 -
使用symbolicatecrash分析crash文件
对于我们iOS开发者来说,最心碎的事莫过于苹果审核一个星期后上架app store,而第二天就报出闪退bug。一周前我刚经历过,而且最坑的是由于第一次做个人开发,经验不足,没有集成友盟的分析SDK,还好有几个好心同事下载了,然后果然有两台机器上出现了闪退。真是天无绝人之路,最重要的crash文件有了。下面我就来详细描述一下具体的心路历程以及分析方法。 iOS app的所有崩溃记录都会记录转载 2016-08-26 16:44:05 · 1644 阅读 · 0 评论 -
通过usb方式ssh到越狱设备
通过usb方式ssh到越狱设备转载 2016-07-21 13:23:47 · 3777 阅读 · 0 评论 -
对App Store App进行重签名、解密
工具 Clutch https://github.com/KJCracks/Clutch 说明 Clutch支持解密可执行文件或ipa。 原理 将应用程序运行(系统在此前会解密程序),将内存中的代码转存为另外一个可执行文件。 实践 查看应用列表 命令: Clutch -i dump应用 命令: Clutch -d <应用编号> dumping~~成功后可在/privat原创 2016-03-02 17:46:41 · 2765 阅读 · 1 评论 -
升级到xcode7之后ipa文件尺寸增大,strip无效问题
If you have recently updated to new Xcode, you must have noticed the significant change in binary size. I saw it first when I was updating the JXcore's iOS binaries. (If you didn't hear before, JXco转载 2015-12-23 16:06:06 · 1210 阅读 · 0 评论 -
Xcode升级后插件失效的原理与修复办法
Xcode 的插件大大丰富了 Xcode 的功能,而且有了 Alcatraz ,插件的管理也非常容易,像我这种 Vim 党完全离不开 XVim。但是有个非常恼人的问题:一旦升级 Xcode ,插件就失效!之前 Xcode 升级到6.2的时候遇到过插件失效的问题,Google 之后把一段很长命令复制到 Terminal 后运行一下即可,当时一看解决了,顿时觉得满足感爆棚,自己可以拯救转载 2015-12-23 14:02:55 · 644 阅读 · 0 评论 -
IPA安装包瘦身指南
Xcode's Link Map File在讲可执行文件瘦身之前先介绍Xcode的LinkMap文件。LinkMap文件是Xcode产生可执行文件的同时生成的链接信息,用来描述可执行文件的构造成分,包括代码段(__TEXT)和数据段(__DATA)的分布情况。只要设置Project->Build Settings->Write Link Map File为YES,并设置Path to Li原创 2015-12-17 17:28:28 · 3611 阅读 · 0 评论