- 博客(24)
- 资源 (8)
- 收藏
- 关注
原创 iOS 逆向编程(二十一)代码编译过程(以及什么阶段可反编译)
在 iOS 开发中,我们的代码是怎么编译成 Mach-O 文件的?从下面的图我们可以看出,它是从 OC -> 汇编 -> 机器语言 这么一个步骤编译过去的,那能不能进行反编译回来呢?因为我们是能拿到 Mach-O 文件的,答案是:能反编译到 汇编阶段,但是无法从 汇编阶段 到 OC。因为从 OC 到 汇编,不同的 OC 代码,编译出来的汇编代码可能是一样的,所以也就无法从 汇编 反编译为 OC。...
2020-12-28 11:48:20 553
原创 iOS 逆向编程(二十)class-dump 安装与使用(如何导出APP头文件流程)
一、简介class-dump 是进行 iOS 逆向开发常用的一款工具,其主要作用是导出 App 的头文件内容。根据这些头文件可以大致分析出 APP 的结构和内容。二、安装1、class-dump 下载地址2、下载 class-dump-3.5 后,将 .dmg 文件里的 class-dump 复制到 /usr/local/bin 下:(注意:从 Mac OS X 10.11 开始,/usr/bin 文件已经不能写入了,管理员权限也不行,以前是放到 /usr/bin 文件里面,但是现在不允许写入了
2020-12-28 11:25:55 1331
原创 iOS 逆向编程(十九)Mach-O 入门了解(如何通过 Mach-O 逆向 APP 思路)
一、Mach-O 简介Mach-O 是一种文件格式,是 Mac 上可执行文件的格式,类似于 Windows 上的 PE 格式 (Portable Executable ), Linux 上的 elf 格式 (Executable and Linking Format)。我们编写的 C、C++、Swift、OC 最终编译链接生成 Mach-O 可执行文件,更详细的介绍自行百度。通常,在我们开发完成之后,就会打包发布,在我们打出的包里面有这样一个 应用程序 包,ipa 包解压之后里面也会有这样一个文
2020-12-25 10:51:39 907
原创 iOS 逆向编程(十八)Reveal 详细安装(以及安装问题解决)
一、Reveal 简介Reveal 是 Mac OS X 平台上的一款方便开发者调试 iOS 应用的开发软件,Reveal 能够在运行时调试和修改 iOS 应用程序。 Reveal 能连接到应用程序,并允许开发者编辑各种用户界面参数,而且会立即反应在程序的 UI 上。开发者要将 应用程序 与 Reveal 安装的框架层关联。Reveal 会扫描其网络中关联的应用程序,并让开发者选择连接其中之一,当连接到一个应用程序后,Reveal 将显示其 UI,其中包括大量的参数和设置。开发人员现在可以检查U
2020-12-24 15:11:28 2382 4
原创 iOS 逆向编程(十七)Cycript 使用对APP实测
上一章介绍了下 DZMCycript,这章做一个小测试,修改一下 微信钱包 的 零钱金额 跟 提示文字。// 连接手机终端dengzemiaodeMacBook-Pro:ssh dengzemiao$ sh login.sh // 搜索微信程序(微信APP需要处于启动状态)iPhone:~ root# ps -A | grep WeChat 1668 ?? 1:11.60 /var/containers/Bundle/Application/2771997E-6A14-4AC..
2020-12-23 14:03:23 740
原创 iOS 逆向编程(十六)DZMCycript 脚本使用(封装了常用的快捷函数,后续会继续添加)
上一篇文章 已经说完怎么封装使用 .cy 脚本文件了,这里借鉴 MJ大佬 的阳光普照封装了一些常用的操作,可以帮助快速的分析软件,后续会在这基础上继续更新脚本。脚本里面都有注释,可以下载自己去看看,下面会安装使用一下其中的部分方法,其他的方法也就是大同小异,可以自己参考或者自己编写了。其实会了都不难,也就是 JS + OC,会 前端 加 iOS开发 都能写得出来,后面可以加入一些有难度点的东西。一、安装使用脚本1、下载 DZMCycript 脚本文件2、通过 手机终端命令 或者 ..
2020-12-22 17:12:18 876 1
原创 iOS 逆向编程(十五)Cycript 语法进阶(封装 .cy 脚本文件)
一、简介每次进入 Cycript 调试之后,需要敲很多的调试指令,其实这些指令也是可以封装成 .cy 的 脚本文件,然后引用进行使用。只要安装了 Cycript 在越狱的手机上就会有这个 cycript 文件夹,我们可以通过 iFunBox 查看,或者通过终端连接手机进行查看:iFunBox 查看 cycript 文件夹终端连接手机查看 cycript 文件夹iPhone:~ root# cd /usr/lib/cycript0.9iPhone:/usr/lib/cycript
2020-12-22 17:10:51 1177
原创 iOS 逆向编程(十四)Cycript 语法入门
一、Cycript 语法简介根据 上一篇文章 进入 Cycript 调试模式之后,就需要通过脚本语言来进行操作调试了,比如:获取页面控制器、获取对象属性、手动调用对象方法、页面上添加自己的UI…等等。Cycript 也是有语法例子的,可以进去参考。在进入 cycript 调试环境后,就可以直接写 OC、JS … 等支持的语法了,例如:OC(其实也就是跟 OC 语法非常非常像的语法格式):cy# [UIApp description]@"<NMApplication: 0x1
2020-12-21 15:29:19 782
原创 iOS 逆向编程(十二)Cycript 安装与使用
Cycript 是由 Cydia 创始人 saurik 推出的一款脚本语言,混合了 Objective-C、C++、JavaScript 等语法的一个工具。让开发者在 命令行 下和应用交互,在运行时查看和修改应用,可以用来探索、修改、调试正在运行的 Mac 或 iOS APP。一、安装 Cycript通过 Cydia 安装 Cycript进程ID 与 进程名称 如何获取?Cycript 常用命令开启// 方式一$ cycript// 方式一 (进程ID 重新..
2020-12-21 13:52:40 641
原创 iOS 逆向编程(Error)ssh_exchange_identification: read: Connection reset by peer
Mac终端 连接登录 越狱手机 时,如果报错 ssh_exchange_identification: read: Connection reset by peer。问题1:手机是否为 非完美越狱?,中途有没有关过机,如果关机则丢失越狱环境,需要重新越狱回到越狱环境。问题1:如果是 免密登录,检查电脑 USB 是否有连接其他 非越狱手机,也就是你得保证你电脑只连接了越狱手机。...
2020-12-21 11:13:01 347 1
原创 iOS 逆向编程(十三)PS命令获取进程PID与名称(Process Status)
在 越狱环境 下,怎么列出系统当前所有的进程,手机默认是不支持。需要通过 Cydia 安装 adv-cmds,默认情况应该是安装了的,如果没有安装需要手动的安装一下安装好之后,操作如下:列出所有的进程$ ps -AiPhone:~ root# ps -APID TTY TIME CMD······5372 ?? 0:17.11 /Applications/Cydia.app/Cydia······搜索关键词$ ps -A..
2020-12-14 15:27:04 1973
原创 iOS 逆向编程(十一)iPhone 终端支持中文输入与vim命令(编辑文件)
通过终端连接手机之后,进入了手机的终端环境,会发现是无法输入中文的,输入中文会出现莫名的问题。如果想要 iPhone 终端里面支持中文输入1、进入 iPhone 终端,新建 ~/.inputrc 文件。dengzemiaodeMacBook-Pro:ssh dengzemiao$ sh login.shiPhone:~ root# vim .inputrc// 说明不支持 vim 命令,看下面有支持方式-bash: vim: command not found// 安装成功之后再次..
2020-12-14 14:22:23 920
原创 Vue 前端接口跨域,本地 Nginx 代理配置
在本地开发 Vue 的时候,我们可以通过 vue.config.js 配置 devServer。其实服务器那边都是有配置代理的,只是我们本地平常不是特殊情况只需要通过 vue.config.js 配置 devServer 即可。但是当我们需要 原生 html 嵌入 Vue 的时候或者我们不通过 vue.config.js 配置 devServer的时候,我们就需要安装一下本地 Nginx 配置代理了。下载安装 Nginx 安装之后,启动 Nginx,然后找到 nginx.conf,在我..
2020-12-11 15:37:10 1384
原创 iOS 逆向编程(十)sh脚本(shell)编写与执行指令区别
上一篇文章 端口映射命令,每次都需要去进入脚本文件在执行映射命令,但是这些常用的命令或者操作,可以专门存放到一个 sh脚本 文件,每次只需要执行这个脚本文件即可。一、上篇文章映射操作:1、进入 usbmuxd 文件夹$ cd /Users/dengzemiao/Downloads/usbmuxd2、执行映射命令,然后就可以通过客户端(电脑)10010 端口给服务端(手机)22 端口发送数据了。$ python tcprelay.py -t 22:10010二、将上面操作制作成 sh 脚本
2020-12-10 18:26:19 1004 1
原创 iOS 逆向编程(九 - 1)通过 USB 连接登录 iPhone 以及端口映射
一、简介之前操作都是通过 客户端(MAC)与 服务端(iPhone) 处于同一个 Wifi 下通过 SSH 进行连接。这种方式有个问题,就是网速不是很好的时候,输入一个命令会等一会才会显示,因为你输出成功了需要网络同步到手机上,你这边才会显示。如果通过 USB 连接两者将 SSH 传到 服务端(iPhone) 就不会有这个问题了,效率也高。二、端口介绍端口就是设备对外提供服务的窗口,每个端口都有个端口号(范围是 0~65535,共 65536 个)有些端口号是保留的,已经
2020-12-10 16:34:44 1706
原创 iOS 逆向编程(八)远程拷贝 - 客户端(电脑)通过 ssh 拷贝文件到服务端(手机)
根据 上一篇文章 已经将公钥远程上传了,现在需要删掉,这样才能更好的测试远程拷贝。// 登录手机dengzemiaodeMacBook-Pro:~ dengzemiao$ ssh root@10.0.89.184// 进入 ~/.ssh 文件夹iPhone:~ root# cd ~/.sshiPhone:~/.ssh root# ls -ltotal 4-rw------- 1 root wheel 403 Dec 8 17:49 authorized_keys// 移除之前上传的 a..
2020-12-09 11:50:32 737
原创 iOS 逆向编程(七)客户端(手机)免密认证登录
SSH-2 目前提供了 2 种常用的客户端认证方式。1、基于密码的客户端认证,使用账号和密码认证2、基于密钥的客户端认证,免密码认证SSH-2 默认会优先尝试 密钥认证, 如果认证失败,才会尝试 密码认证。如果做到 免密码认证登录 ?流程图:操作流程简单介绍:在客户端生成公私钥,然后将公钥追加到服务器授权文件尾部,为什么是追加到尾部呢?因为这个授权文件里面会存放很多的授权公钥或者别的验证数据,自然是不能覆盖的,只能追加。操作流程1、生成公私钥,输入命令之后一路回车即可$ s..
2020-12-08 18:14:03 446
原创 iOS 逆向编程(六) SSH、OpenSSH、SSL、OpenSSL 简介与关系
一、简介如果你仔细注意,在使用 Cydia 安装 OpenSSH 的时候,你会发现它是先安装了 OpenSSL 在安装 OpenSSH,他们直接是有什么关联跟区别呢?SSL:Secure Sockets Layer 的缩写,是为网络通信提供安全及数据完整性的一种安全协议,在传输层对网络连接进行加密,可以说它是一个协议或者说一个标准。OpenSSL:既然说 SSL 是协议或者标准,那么就有对应的实现,OpenSSL 就是 SSL 的开源实现,绝大部分 HTTPS 请求等价于: HTTP +
2020-12-08 13:54:51 982
原创 iOS 逆向编程(五)通过 (OpenSSH) Wifi 远程连接登录 iPhone
一、安装 Mac 上提高效率的辅助工具 (可选)二、简介1、我们经常在 Mac 的终端上通过敲一些命令行来完成一些操作。2、iOS 和 Mac OS X 都是基于 Darwin (苹果的一个基于 Unix 的开源系统内核) ,所以 iOS 中同样支持终端的命令行操作。3、在逆向工程中,我们经常会通过命令行来操纵 iPhone。4、为了能够让 Mac 终端中的命令行能作用在 iPhone 上,我们得让 Mac 和 iPhone 建立连接。5、通过 Mac 远程登录到 iPhone 的方式建立连接。
2020-12-07 17:01:01 1083
原创 Mac 提高工作效率的工具
XtraFinder: 增强型 Finder,可以多开标签页,系统的 Finder 一个窗口一个文件夹,这个支持一个窗口多个标签栏,一个标签栏对应一个文件夹。iTerm2:一个带颜色区分的命令行工具,支持颜色自定义等。Go2Shell:有时候访问文件夹,系统的需要将文件夹拖进命令行才有路径,这个插件只需要点击 Finder 上的按钮则直接进入命令行到这个文件目录下Alfred:便捷搜索,可以自定义搜索,包括自定义按键。...
2020-12-04 17:46:29 328
原创 iOS 逆向编程(三)实操 Jailbreak 详细流程
一、使用 CheckRa1n 越狱常见越狱工具可以看这篇 iOS 逆向编程(二)越狱入门知识我的手机是 iPhone 5s 版本为 ios 12.4.6(推荐先看) 如果嫌麻烦,直接下面有推荐手机直接越狱文章,毕竟无论是用工具,还是低版本系统问题导致报错,操心事多。最好事先查一下自己的手机版本,以及工具是否支持这个版本或者手机型号,CheckRa1n 支持低版本,当然其他的工具也有,用...
2020-12-03 13:42:07 1118
原创 iOS 逆向编程(三)实操越狱详细流程
一、使用 CheckRa1n 越狱常见越狱工具可以看这篇 iOS 逆向编程(二)越狱入门知识我的手机是 iPhone 5s 版本为 ios 12.4.6(推荐先看) 如果嫌麻烦,直接下面有推荐手机直接越狱文章(但是需要 微劈恩),毕竟无论是用工具,还是低版本系统问题导致报错,操心事多。最好事先查一下自己的手机版本,以及工具是否支持这个版本或者手机型号,CheckRa1n 支持低版本,当然其他的工具也有,用之前自行了解一下,因为有的新出的工具都是支持高点系统版本。1、下载 Che
2020-12-03 11:39:35 4589
原创 iOS 逆向编程(四)实操越狱进阶必备软件
一、辅助软件安装根据 上一篇文章 越狱成功之后,对于技术学习来说,在安装一个辅助软件效果会更好,能帮助我们更深入的学习一些东西。iPhone 通过 Cydia 安装这几个辅助软件1、【Apple File Conduit "2"】:作用是:保证我们可以访问整个 iOS 设备的文件系统,它是 Cydia 之父 Jay Freeman 为了解决 ios 7.x 越狱后无法访问系统文件(越狱)的问题,该插件与 afc2add、afc2 服务补丁功能一样,但是该插件是新出的,推荐使用。2、【AppS
2020-12-03 11:37:11 724
原创 iOS 逆向编程(四)实操 Jailbreak 进阶必备软件
一、辅助软件安装根据 上一篇文章 越狱成功之后,对于技术学习来说,在安装一个辅助软件效果会更好,能帮助我们更深入的学习一些东西。iPhone 通过 Cydia 安装这几个辅助软件1、【Apple File Conduit "2"】:作用是:保证我们可以访问整个 iOS 设备的文件系统,它是 Cydia 之父 Jay Freeman 为了解决 ios 7.x 越狱后无法访问系统文件(越狱...
2020-12-03 11:34:39 896
Desktop Goose For Mac (Mac 网红桌面宠物:鹅)
2024-02-04
iOS、Android 双平台AES128加密源代码
2019-07-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人