Intro 虽然“只有偏执狂才能够生存”这句话已经被假药停给毁了,但是作为一只有逼格的高大上的iOS逆向分析研究员,难道如果有现成的macOS/iOS全版本镜像可以下载并且无限“漫游”,难道你就不想来一套么? 在本文中,你将能够获得的是: macOS:10.12.10.11.10.10.10.9.10.8.10.7:六个版本的虚拟机一键安装: 使用苹果的KDK套件(Kernel Develop Kit)对虚拟机里的macOS Sierra 10.12进行内核调试: iPhone 4s iOS 9…
原 iOS面试题收集 发表于2年前(2013-07-22 13:47)   阅读(369) | 评论(0) 4人收藏此文章, 我要收藏 赞0 听云性能监测产品App.Server.CDN免费试用,绑定账号送京东卡 iOS 面试题 Objective-C 1.ARC 是什么? ARC 是 iOS 5 推出的新功能,全称叫 ARC(Automatic Reference Counting).简单 地说,就是代码中自动加入了 retain/release,原先需要手动添加的用来处理内存管 理的引用计数…
前言 自从MD设计规范出来后,关于系统状态栏的适配越受到关注,因为MD在5.0以后把系统状态栏的颜色改为可由开发者配置的,而在5.0之前则无法指定状态栏的颜色,所以这篇就说说使用Toolbar对系统状态栏的适配策略 主流App的适配效果 手Q在这方面适配非常好,将标题栏和状态栏合为一起了,和iOS效果一模一样,如下: 4.4.5.0+ 4.4以下版本 4.4以下版本则是系统默认的黑色状态栏,因为4.4以下没办法对状态栏进行改变和配置. 关于手Q的适配,对4.4以上所有版本都保留着一致的UI效果,…
小白:小程,我一直想问,什么是逆向来着?是逆向行驶吗? 小程:理解为逆向行驶也没错.一般的项目是从无到有,而逆向是从已有的状态入手,分析出已有的流程与结构的手段. iOS上的逆向开发,是一件有趣的事情(虽然有时很痛苦),而且还可能给你带来收益. 在接下来的几篇文章,小程会尝试介绍iOS逆向的一系列的知识与技能:从基础工具的使用,到目标类的定位.目标代码的调试,再到注入微信的实战示例. 本文介绍iOS逆向的基础工具的使用. 硬件方面,你需要一台iOS设备(iphone/itouch/ipad,以下…
1.class-dump class-dump是用来dump目标文件的类信息的工具.它利用Objective-C语言的runtime的特性,将存储在mach-O文件中的@interface和@protocol信息提取出来,并生成对应的.h文件.官方介绍如下: This is a command-line utility for examining the Objective-C runtime information stored in Mach-O files. It generates de…
感觉本文涉及内容有点多的,但是自己不愿意写太多,就简单的谢谢关于ios上手的东西吧 初级入手不免要用到,pp助手,i4 tools等 iOS逆向-ipa包重签名及非越狱手机安装多个应用 1.常识 我们平时开发的App,程序运行主要就是加载一个Mach-o可执行文件.当我们将程序打包成ipa文件,上传到App Store的时候,期间就是进行了一些加壳操作,比如:数字证书签名等.重签名的目的就是将别人的程序重新签上我们的证书信息.也可以简单理解为将别人的加密文件解密,加上我们自己的加密算法. 2.查…
  更新 2015-11-16 感谢微博好友@zyyy_000的评论,补充了为什么要在+ (void)load方法里面做Method Swizzling. 前言 最近,在做项目时,因为某种原因,突然要“适配”iOS6(也是醉了...),保证极少数的iOS6用户可以“用上”新的版本.哪怕界面上有瑕疵,只要功能正常就行.于是就只好花几天时间对iOS6进行紧急适配(心中一万头驼羊奔跑而过...) 本文总结了一些常规的,和“非常规”的iOS项目向老版本兼容的办法,结合了宏定义.Category和Runt…
概述 通过iOS逆向系列-逆向App中使用class-dump工具导出App的Mach-O文件所有头文件.Hopper工具分析App的Mach-O文件代码大概实现.但是这些前体是App的Mach-O没有被加壳的.通过pp助手下载安装的App都是经过脱壳的如果我们从Appstore下载安装的App都是苹果加壳的. 加壳就是利用特殊的算法,对可执行文件的编码进行改变(比如压缩.加密),以达到保护程序代码的目的. 我们编写的程序的Mach-O文件上传到苹果后台,苹果会对我们的程序的Mach-O文件进行…
iOS逆向之一-工具的安装和使用 最近在学习iOS安全方面的技术,有些东西就记录下来了,所有有了这篇文章.顺便也上传了DEMO,可以再这里找到这些DEMO的源码:dhar/iOSReProject 越狱手机安装软件 ssh 远程连接到越狱手机需要的软件 在Cydia中搜索.安装OpenSSH软件. ssh 连接到手机:ssh root@192.168.1.112[手机IP] apt-get 包管理软件 cydia搜索:APT 0.6 Transitional 安装使用apt-get 之前要先up…
LLDB是Low Level Debugger的简称,在iOS开发的调试中LLDB是经常使用的,LLDB是Xcode内置的动态调试工具.使用LLDB可以动态的调试你的应用程序,如果你不做其他的额外处理,因为debugserver缺少task_for_pid权限,所以你只能使用LLDB来调试你自己的App.那么本篇博客中就要使用LLDB来调试从AppStore下载安装的App,并且结合着Hopper来分析第三方App内部的结构.LLDB与Hopper的结合,会让你看到不一样的东西,本篇博客就会和你…