专栏首页向治洪ios逆向工具MonkeyDev简介

ios逆向工具MonkeyDev简介

MonkeyDev简介

虽然是米国的苹果开发的的的我操作系统系统,但是要论越狱iPhone和逆向分析来说,那国内远胜于米国了,可能是国内很多相关的灰色产业链吧。在之前,我们想动态调试一个没有源码的应用程序,通常是要借助于THEOS,自己操作LLVM来动态连接到应用程序,然后再使用LLVM的调试命令,整个的过程是非常耗时和繁琐的。

不过在17年的时候,iOS逆向后起之秀AloneMonkey对这些常用的工具进行了一些整合,弄了一个极为方便的逆向调试平台MonkeyDev,这个平台集成了常用的库,工具,并且还可以更加方便的使用pod库来集成三方库。使用这个工具,逆向分析一下子变得容易了。

MonkeyDev主要包含四个模块:

Logos Tweak

使用theos提供的logify.pl工具将.xm文件转成.mm文件进行编译,集成了CydiaSubstrate,可以使用MSHookMessageEx和MSHookFunction来Hook OC函数和指定地址。

CaptainHook Tweak

使用CaptainHook提供的头文件进行OC 函数的Hook以及属性的获取。

Command-line Tool

可以直接创建运行于越狱设备的命令行工具。

MonkeyApp

这是自动给第三方应用集成Reveal、Cycript和注入dylib的模块,支持调试dylib和第三方应用,支持Pod给第三放应用集成SDK,只需要准备一个砸壳后的ipa或者app文件即可。

安装MonkeyDev

关于安装和使用可以查看官方Wiki文档,本文按照以下几个步骤来安装MonkeyDev环境。 1,安装最新的theos,安装命令如下:

sudo git clone --recursive https://github.com/theos/theos.git /opt/theos

2,安装LDID(如安装theos过程安装了LDID,跳过),命令如下:

brew install ldid

3,配置免密码登录越狱设备(如果没有越狱设备,跳过)

ssh-keygen -t rsa -P ''
ssh-copy-id -i /Users/username/.ssh/id_rsa root@ip

安装或者sshpass自己设置密码:

brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb

你可以通过以下命令选择指定的Xcode中进行安装:

sudo xcode-select -s /Applications/Xcode-beta.app

默认安装是:

xcode-select -p

然后执行安装命令:

it clone https://github.com/AloneMonkey/MonkeyDev.git
cd MonkeyDev/bin
sudo ./md-install

当然,不用,运行下面的命令卸载命令:

sudo ./md-uninstall

如果没有发布特殊说明,使用如下命令更新即可:

sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-update)"

使用

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • android个推平台

    最近有个朋友想要推送一些消息到自己的APP上,自己用了HTTP轮询的方式比较耗电,也比较占用流量,一旦用户关闭了进程,消息则很难触达,于是,咨询我有没有什么好的...

    xiangzhihong
  • JavaScript 的时间消耗

    随着我们的网站越来越依赖 JavaScript, 我们有时会(无意)用一些不易追踪的方式来传输一些(耗时的)东西. 在这篇文章中, 我会介绍一些能让你的网站在移...

    xiangzhihong
  • ios入门之消息推送

    前言 在去年的苹果大会上,苹果带来的iOS 10 系统中将之前繁杂的推送通知统一成UserNotifications.framework 来集中管理和使用通知功...

    xiangzhihong
  • 变量赋值

    Tcl脚本的构成如图所示,可以只包含一条命令,也可以包含多条命令,命令之间可以是分号隔开,也可以是换行。如下图所示。

    Lauren的FPGA
  • 一份优秀的简历该长成什么样

    作为一个面试官,我个人面试过不下百份简历,几个硬伤,我在之前的文章也提到过,大家在写的时候一定要避免:

    暴走大数据
  • 一份优秀的简历该长成什么样

    作为一个面试官,我个人面试过不下百份简历,几个硬伤,我在之前的文章也提到过,大家在写的时候一定要避免:

    王知无
  • 零基础学习Python的7个热点问题解答

    Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取...

    python学习教程
  • 代理模式 PROXY Surrogate 结构型 设计模式(十四)

    代理角色和真实对象角色拥有共同的抽象类型,他们拥有相同的对外接口request()方法

    noteless
  • IOS 定位CoreLocation

    import CoreLocation 2 class ViewController:UIViewController,CLLocationManagerDe...

    用户5760343
  • 【AI识人】你需要知道的10种行人属性

    当我们识别两个人是不是一个人的时候,其实不会直接得出答案,而是先看他们的属性,是不是同性,或者说他们是不是穿一样的衣服(短时间内)。这有助于我们得出最后的判断。

    OpenCV学堂

扫码关注云+社区

领取腾讯云代金券