iOS逆向
iOS逆向开发笔记
Geeks_Chen
一个记录学习和工作相关问题的平台
展开
-
【ios逆向】注入和hook
1.注入动态库应用场景:我们在分析竞品的时候,希望自己写的代码也能在程序中运行,这个时候,把咱的代码打包成动态库,然后注入在竞品中。1.1.注入动态库有三种方式:1.将制作好的动态库上传到Dynamic Libraries目录;2.使用DYLD_INSERT_LIBRARIES环境变量;3.为Mach-O文件插入Load Command(加载命令),加载动态库;1.2.上传自己的动态库到Dynamic Libraries目录/Library/MobileSubstrate/Dynami原创 2020-12-02 15:27:02 · 551 阅读 · 0 评论 -
【iOS逆向】在OC项目中使用汇编函数
前言在开发或研发的时候,有两种场景可能需要在OC中使用汇编函数:1.正向开发时你想把部分关键逻辑隐藏。2.逆向分析时你想直接使用别人的加密方法。1.在OC中使用汇编函数1.1.创建汇编文件.text.align 4.globl _funcAdd_arm_funcAdd_arm: add w0,w0,w1 add w0,w0,w2 add w0,w0,w3 add w0,w0,w4 add w0,w0,w5 ret说明:函数的功能就原创 2020-12-01 10:40:46 · 406 阅读 · 0 评论 -
【iOS逆向】如何在低版本手机上安装高版本应用
前沿逆向开发中,可能会分析一些高版本的应用,但是设备的版本号低于应用最低版本号,这个时候就可以看这篇文章了。方法1:1.越狱设备安装蚂蚁源(https://apt.cydia.love/)2.搜索LowerInstall并安装3.查看安装效果4.直接去App Store下载高版本应用方法2:1.先在一台高版本设备上安装目标应用,然后删掉2.在低版本手机上登录该Apple ID,来到App Store 更新页面,找到目标应用点击更新即可下载到低版本手机上。...原创 2020-11-28 17:39:57 · 25076 阅读 · 4 评论 -
【iOS逆向】还原oc和block符号
1 下载竟品,脱壳,获取ipa2 创建空白文件夹A,把原二进制文件放进去3 下载python脚本,放入空白文件夹A4 将原二进制文件拖进ida解析说明:没有发现_block5 解析结束后,选择File -》 Script File,找到python 脚本,执行6 回到原目录查看新生成的ipa,解压,找到新二进制文件(比原来二进制文件大一些)7 拖进ida解析,找到需要的函数,在MonkeyDev中直接下断点查看打印结果...原创 2020-11-28 17:39:35 · 316 阅读 · 0 评论 -
【iOS逆向】如何验证签名
前沿当你爬取某app的数据,发现所有接口中都有一个动态改变的参数,那么这个参数应该就是签名参数,一般都是通过一些算法组装生成的1 连接越狱设备frida-ps -Ua2 找到目标进程com.Xtone.ExpressionKingdom3 IDA找到目标函数3.1 追踪tracefrida-trace -U 9124 -m "+[NSURL URLWithString:]"3.2 通过IDA找到目标函数,进行追踪frida-trace -U 9124 -m "-[XTBase原创 2020-11-28 17:39:21 · 466 阅读 · 1 评论 -
【iOS逆向】frida一键脱壳
前沿iOS砸壳方式很多:dumpdecrypted,Clutch,Frida,本篇介绍Frida。1 准备工作1.1 iOS端安装ssh安装Frida源添加源:https://build.frida.re下载对应Frida 32或者64位1.2 Mac 端1.2.1 安装homebrew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install原创 2020-11-28 17:39:09 · 1545 阅读 · 0 评论 -
【ios逆向】Reveal使用
1、Reveal简介Reveal是由ITTY BITTY出品的UI分析工具,可以直观的查看App的UI布局。分左右两个界面,左侧包含所有的类,右侧是对应的UI展示,当选中右侧的控件,Reveal也能解析出对应的UI控件类名。2、安装Reveal Loader2.1、在Cydia中搜索并安装Reveal Loader。说明:由于网络原因,这个操作可能失败,我操作的时候是失败了。接下来需要SSH访问手机,查看/Library/RHRevealLoader 是否存在,如果不存在,需要创建文件。(原创 2020-11-28 17:38:49 · 641 阅读 · 1 评论 -
【ios逆向】Theos使用
1、Theos简介Theos是一款越狱开发工具包,是ios逆向开发工具。2、Theos安装2.1、下载Theos,指定安装路径,官方建议放在/opt/目录下export THEOS=/opt/theos2.2、下载Theos到指定目录git clone --recursive https://github.com/theos/theos.git $THEOS2.3、配置IdidIdid是专门用来签名iOS可执行文件的工具,用以在越狱iOS中取代Xcode自带的codesi原创 2020-11-28 17:38:36 · 3045 阅读 · 0 评论 -
【ios逆向】class-dump使用
1、class-dump简介class-dump就是用来dump目标对象的class信息的工具。利用OC的runtime机制将存储在Mach-O 文件中的头文件信息提取出来,并生成对应的.h文件。2、class-dump安装下载地址:http://stevenygard.com/projects/class-dump将dmg文件中的class-dump复制到usr/bin目录,然后在终端执行sudo chmod 777 /usr/bin/class-dump,给予足够的权限。运行cl原创 2020-11-26 16:09:34 · 443 阅读 · 0 评论 -
【ios逆向】如何获取线上应用的头文件
你是否曾因为应用上线的第一天即遭破解而无奈苦恼,想要加强防范,却又束手无策吗?你是否曾为某一个应用深深折服,想要借鉴学习,却又无从下手吗?本篇讲解如何对线上ipa进行砸包获得头文件1、用越狱手机下载目标app(微信)2、通过SSH连接越狱手机(默认密码alpine)3、ps -e 查看所有进程4、找到目标进程,记录进程编号和所在位置/var/mobile/Containers/Bundle/Application/000C1B36-0A0D-4004-B0ED-66FE.原创 2020-11-26 16:08:57 · 423 阅读 · 0 评论 -
【ios逆向】如何获取线上app所有的图片资源
你是否曾被线上的某款应用的UI设计深深折服,心里有一种想要尝试开发类似应用的冲动,当开始着手时,发现应用的图片资源没有而苦恼呢?莫方,这篇告诉你怎么搞到所有的静态图片资源。1、首先,我们要知道app静态图片资源保存的位置,一般有三种存储方式-直接拖入项目-存放在Assets-存放bundle文件2、如何获取到这些图片2.1、在越狱设备中下载目标app,然后越狱设备链接PP助手,选择应用游戏-》XX的iPhone,找到目标app2.2、获取目标app的ipa包2.3、此时.原创 2020-11-26 16:07:04 · 715 阅读 · 0 评论