iOS逆向系列-Reveal】的更多相关文章

概述 Reveal是一款调试iOS程序UI界面的神器. 官网地址:https://revealall.com 下载:https://revealapp.com/download/ 建议下载Reveal4及以上版本,因为在Reveal4开始支持USB连接调试,速度快.低版本只支持WIFI连接调试. 调试环境配置 iPhone配置 安装插件Reveal Loader.所属软件源http://apt.so/codermjlee.不要安装其他的源版本,有可能不支持新版Reveal. 安装Reveal L…
界面分析 通过Cycript.Reveal. 对于Reveal安装配置可参考配置iOS逆向系列-Reveal 通过Reveal找到内存中的UI对象 静态分析 开发者编写的所有代码最终编译链接到Mach-O文件中. 如果我们要分析App的代码也就是说要分析Mach-O中的代码.静态的代码分析常用的工具MachOView.class-dump.Hopper Disassermbler.ida等. 静态分析 class-dump class-dump作用就是把Mach-O文件的Class信息给dump…
概述 通过iOS逆向系列-逆向App中使用class-dump工具导出App的Mach-O文件所有头文件.Hopper工具分析App的Mach-O文件代码大概实现.但是这些前体是App的Mach-O没有被加壳的.通过pp助手下载安装的App都是经过脱壳的如果我们从Appstore下载安装的App都是苹果加壳的. 加壳就是利用特殊的算法,对可执行文件的编码进行改变(比如压缩.加密),以达到保护程序代码的目的. 我们编写的程序的Mach-O文件上传到苹果后台,苹果会对我们的程序的Mach-O文件进行…
tweak加载资源 开发自己的deb插件需要加载自己的资源,比如图片资源.iOS中常用的两种加载图片资源的方式: + (nullable UIImage *)imageNamed:(NSString *)name; // load from main bundle - (nullable instancetype)initWithContentsOfFile:(NSString *)path; +imageNamed:方式从程序的main bundle加载图片,由于我们自己单独开发的插架,资源是…
Reveal是一个强大的UI分析工具,使用它可以查看各个界面的视图层级,在解决界面显示问题时非常有用.它最大的特点就是非常直观,查看UI布局的时候非常方便. 我们知道,Reveal官网提供的方法只能监测.调试自己的App,第三方的App无法监测.本篇我们来用Reveal工具实现分析任意的App. 1.准备工作 准备一个越狱的设备: 获取libReveal.dylib并导入到设备: 打开Reveal, 点击菜单栏上的Help, 选择Show Reveal Library in Finder,如下图…
概述 Mach-O是Mach object的缩写,是Mac\iOS上用于存储程序.库的标准格式. 常见的Mach-O文件 属于Mach-O格式的文件类型有. 可以在xnu源码中,查看到Mach-O格式的详细定义(https://opensource.apple.com/tarballs/xnu/) MH_OBJECT 代码编译中间的产物目标文件(.o)属于MH_OBJECT类型Mach-O格式文件.我们平时制作的静态库本质就是N个.O文件的集合,所以静态库也是属于MH_OBJECT类型Mach-…
概述 Cycript 是Objective-C++.ES(JavaScript).Java等语法的混合物. 可以用来探索.修改.调试正在运行的Mac\iOS App. 通过Cydia安装Cycript,即可在iPhone上调试运行中的APP. Cycript基本使用 开启 cycript 退出 ctrl + D 清屏 commond + R 调试App cycript -p 进程ID cycript -p 进程名称 要获取iPhone安装app进程ID,首先需要安装adv-cmds插件.执行ps…
Xcode调试App原理 Mac安装了Xcode Xcode的安装包中包含了debugserver 可执行类型的Mach-O文件,iPhone第一次连接Xcode调试会将Xcode中的debugserver安装到iPhone上. debugserver在Xcode路径: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/9.1/DeveloperDiskImage.dmg/us…
概述 theos是GitHub开源的一个项目,通过nic.pl创建tweak项目.通过编写我们注入代码,然后执行编译.打包.安装等操作将代码注入iPhone安装的制定程序. theos环境配置 安装签名工具ldid 确保安装了brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 利用brew安装ldid $ brew install…
--iOS核心动画 概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画.动画组.转场动画,如何通过UIView的装饰方法对这些动画操作进行简化等.在今天的文章里您可以看到动画操作在iOS中是如何简单和高效,很多原来想做但是苦于没有思路的动画在iOS中将变得越发简单: CALayer CALayer简介 CALayer常用属性 CALayer绘图 C…