iOS逆向工程工具集

http://www.jianshu.com/p/7f9511d48e05

移动App入侵与逆向破解技术-iOS篇

http://blog.csdn.net/heiby/article/details/51792151

一台越狱的手机,并装有以下软件

  • cycript
  • dumpdecrypted
  • debug server
  • openssh

一台苹果电脑,并装有以下软件

  • class_dump
  • Theos
  • Hopper Disassembler v3
  • xcode
  • insert_dylib
  • pp助手

stefanesser / dumpdecrypted

Theos make install 出现了问题

http://www.iosre.com/t/theos-make-install/6706

Theos:iOS越狱程序开发框架

http://blog.csdn.net/zcrong/article/details/51615947

include theos/makefiles/common.mk  

APPLICATION_NAME = firstdemo  

[applicationName]_FILES = main.m firstdemoApplication.mm RootViewController.mm  

[applicationName]_FRAMEWORKS = UIKitFoundationQuartzCoreAudioToolboxCoreGraphics

设置环境变量

打开命令行然后输入

export THEOS=export SDKVERSION=7.1

一、Cycript的介绍与安装

木马程序

Cycript是由Cydia创始人Saurik推出的一款脚本语言,Cycript 混合了Objective-C与javascript语法的解释器,这意味着我们能够在一个命令中用Objective-C或者javascript,甚至两者兼用。

它能够挂钩正在运行的进程,能够在运行时修改应用的很多东西。

Cycript的安装简单,可在越狱设备上从Cydia自带源Cydia/Telesphoreo下载,直接打开设备上的Cydia然后搜索Cycript后安装即可。

iOS在越狱后,会默认安装一个名叫mobilesubstrate的动态库,它的作用是提供一个系统级的入侵管道,所有的tweak都可以依赖它来进行开发,目前主流的开发工具有theos和iOSOpenDev,前者是采用makefile的一个编译框架,后者提供了一套xcode项目模版,可以直接使用xcode开发可调试,但是这个项目已经停止更新了,对高版本的xcode支持不好,大家酌情选择(本文中的例子全部采用theos)

Cydia的主要目的是为越狱的iOS用户提供一个高级包装工具的图形界面前端以安装不被App Store接受的程序。它也是一个软件仓库的聚合器

很多苹果的老用户都知道MobileSubstrate这款插件,因为它是越狱后cydia插件/软件运行的一个基础依赖包。MobileSubstrate提供软件运行的公共库,可以用来动态替换内存中的代码、数据等。

cycript是大神saurik开发的一个非常强大的工具,可以让开发者在命令行下和应用交互,在运行时查看和修改应用。它确实可以帮助你破解一些应用,但我觉得这个工具主要还是用来学习其他应用的设计(主要是UI的设计及实现)。

这个工具使用了Objective-CJavaScript的混合模式,可以实时的和应用交互甚至修改应用。它的网址请猛戳这里。在官网上可以下载到完整的软件包。使用的方式有两种,一种是在越狱的设备上通过MobileSubstrate加装,这样可以在所有的应用里使用;另一种是通过静态库的方式把cycript集成到自己的应用,这样做不要求越狱,当然也只能在自己的应用内使用了。

mobilesubstrate

MobileSubstrate主要由3部分组成:MobileHooker,MobileLoader和safe mode。

iOS在越狱后,会默认安装一个名叫mobilesubstrate的动态库,它的作用是提供一个系统级的入侵管道,所有的tweak都可以依赖它来进行开发

iOS逆向工程(手动HOOK自己编写的APP- 学习整理

http://www.jianshu.com/p/8982e9670fc6

iOS越狱开发环境(Theos)的配置(20172

http://www.jianshu.com/p/751444520848

Mac10.11&Xcode7.3安装MactheosiOSOpenDev

http://www.jianshu.com/p/45291fe89cc7

iOS Reveal窥探他人app (逆向攻防一)

http://www.jianshu.com/p/d172826fe578

使用Reveal查看任意App的技巧

http://www.jianshu.com/p/4dc8f94ca27c

iphone JB开发小记(五)theosmakefile

http://www.cnblogs.com/qiezi/archive/2012/09/29/2708726.html

iOS逆向工程thoes报错处理方案总结

http://www.jianshu.com/p/6a872dea187e

http://www.blogfshare.com/ioss-openssh.html

iOS安全安装OpenSSH

iOS-在iphone上使用ps命令查看进程

http://blog.csdn.net/diyagoanyhacker/article/details/7239992

iOS逆向工程(Cycript脚本语言使用与实战)

http://www.jianshu.com/p/7c41b03c9eb3

Logos语法:

http://iphonedevwiki.net/index.php/Logos

多个hook文件

logify.pl  ./heads/QRCodeScanner.h ./heads/QRStoreQrListVC.h > ./../Tweak.xm

手把手安装最新版Theos

http://blog.csdn.net/app_ios/article/details/52596230

iOS逆向工程-OSX工具集之Theos

http://www.jianshu.com/p/2efa44f2151f

https://my.oschina.net/iq19900204/blog/618713

iOS越狱开发到底是什么鬼啊???

http://www.cocoachina.com/bbs/read.php?tid-1712869-page-1.html

Mac10.11&Xcode7.3安装MactheosiOSOpenDev

http://www.jianshu.com/p/45291fe89cc7

Class-dump 安装和使用方法

http://blog.csdn.net/msyqmsyq/article/details/51363659

class-dump -H /Users/zzf073/Desktop/FqlMerchantX\ /Payload/FqlMerchantX.app -o /Users/zzf073/Desktop/FqlMerchantX/heads

class-dump -H /Users/zzf073/Desktop/jianshe/jianshebank/Payload/CCBMobileBank.app -o /Users/zzf073/Desktop/jianshe/heads

越狱开发:iosOpenDev配置越狱开发环境编写第一个hello worldb

http://www.cnblogs.com/isItOk/p/5645292.html

如何安装Tweak动态生成的.dylib文件(非越狱手机)

http://www.jianshu.com/p/40d31abbed5e

Tweak_01  语法说明

http://www.jianshu.com/p/7a4950ec6628

theos-tweak 多个hook文件合并一个?

http://www.jianshu.com/p/7ebcf320e430

iOS–http://www.tuicool.com/articles/7BBBbq2

class-dump 执行失败

http://blog.csdn.net/jiajiayouba/article/details/51353548

砸壳工具有:AppCrackr、Clutch、dumpcrypted 等;由于 AppCrackr 、Clutch 暴力砸壳、操作简单,招致公愤,因此一些核心功能,已经下架,在高级系统中,已不能使用;因此,推荐: dumpcrypted  砸壳工具。工具获取及使用方法,参考:https://github.com/stefanesser/dumpdecrypted

iOS逆向工程(简单利用"dumpdecrypted"ipa砸壳)

http://www.jianshu.com/p/a4373b5feca0

http://www.jianshu.com/p/a4373b5feca0

iOS运行时工具-cycript

http://blog.csdn.net/sakulafly/article/details/29633627

可以使用模拟器先行调试。

cycript是大神saurik开发的一个非常强大的工具,可以让开发者在命令行下和应用交互,在运行时查看和修改应用。它确实可以帮助你破解一些应用,但我觉得这个工具主要还是用来学习其他应用的设计(主要是UI的设计及实现)。

cycript查看UI层次。

iOS逆向工程(简单利用"dumpdecrypted"ipa砸壳)

http://blog.csdn.net/app_ios/article/details/52583687

二、总结步骤

1,设备中打开需要砸壳的APP。

2,SSH连接到手机,找到ipa包的位置并记录下来。

3,Cycript附加到进程,找到App的Documents文件夹位置并记录下来。

4,拷贝dumpdecrypted.dylib 到App的Documents 的目录。

5,执行砸壳后,并拷贝出砸壳后的文件,然后完成。

以上就是步骤了,其实很简单,下面进行演示砸腾讯视频的壳:

第一步:分别找到两个地址:

需要用到的命令:

1, ssh root@10.10.245.208 (iP地址为设备的iP地址)

2, ps -e       (查看进程)

3, cycript -p  (附加进程)

4, [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory

inDomains:NSUserDomainMask][0]

ssh root@10.10.212.127

localhost:Payload zzf073$ ssh root@10.10.212.127

ssh: connect to host 10.10.212.127 port 22: Connection refused

localhost:Payload zzf073$

10.10.212.127

./cycript -r 10.10.212.127:8888

http://www.cnblogs.com/wangkangluo1/archive/2011/09/23/2185938.html

名称:使用权限:所有使用者
使用方式:说明:显示瞬间行程的动态

Charles 从入门到精通

http://blog.devtang.com/2015/11/14/charles-introduction/

iOS 逆向学习1iOS工具集:openssh cycript)持续更新

http://www.jianshu.com/p/80f0c5d9f28c

查看进程

既然知道了沙盒路径就可以各种 cd ls 看看微信的目录结构了

logify.pl  ./heads/QRStoreQrListVC.h > ./../Tweak.xm

使用Logify跟踪函数调用

http://www.jianshu.com/p/75273bfe6961

我使用的是我自己工程下面的LoginViewController

Logify.pl脚本在你安装theos的时候就自带了

所以:

/opt/theos/bin/logify.pl LoginViewController.h >Tweak.xm

____________________________________________________

localhost:~ DH$ cd /Users/DH/Desktop/CycriptTest

localhost:CycriptTest DH$ /opt/theos/bin/logify.pl /Users/DH/Desktop/CycriptTest/Header/LoginViewController.h >Tweak.xm

CycriptTest DH$

localhost:CycriptTest DH$ /opt/theos/bin/nic.pl

NIC 2.0 - New Instance Creator

------------------------------

[1.] iphone/activator_event

[2.] iphone/application_modern

[3.] iphone/cydget

[4.] iphone/flipswitch_switch

[5.] iphone/framework

[6.] iphone/ios7_notification_center_widget

[7.] iphone/library

[8.] iphone/notification_center_widget

[9.] iphone/preference_bundle_modern

[10.] iphone/tool

[11.] iphone/tweak

[12.] iphone/xpc_service

Choose a Template (required): 11

Project Name (required): TrackFunction

Package Name [com.yourcompany.trackfunction]: com.coralsec

Author/Maintainer Name [小伍]: 小xiaowu

[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]: com.coralsec.cycriptest

[iphone/tweak] List of applications to terminate upon installation (space-separated, '-' for none) [SpringBoard]: CycriptTest

Instantiating iphone/tweak in trackfunction/...

Done.

localhost:CycriptTest DH$

, ,

xxx

Macho文件浏览器---MachOView

http://blog.csdn.net/zhangjie1989/article/details/54614246

iOS逆向Reveal查看任意app 的界面

http://www.jianshu.com/p/060745d5ecc2

 

ios 逆向工程文档汇总的更多相关文章

  1. Niagara技术文档汇总

    Niagara技术文档汇总http://wenku.baidu.com/view/ccdd4e2c3169a4517723a38f.html Niagara讲解要点http://wenku.baidu ...

  2. Phylab2.0 文档汇总

    实验数据处理脚脚本 编写规范 调用框架以及测试文件规范 脚本调用约定 API文档 用户部分后端请求说明 文章评论区部分后端请求说明 测试报告 测试报告集

  3. Linux(CentOS、Ububtu)一键安装Openstack及其它参考文档汇总

    原文链接  http://www.aboutyun.com/thread-10920-1-1.html openstack相关资料 CentOS下一键安装Openstack  http://blog. ...

  4. Spring 文档汇总

    Spring Batch - Reference Documentation Spring Batch 参考文档中文版 Spring Batch 中文文档 Table 2. JdbcCursorIte ...

  5. Android开发之《常用工具及文档汇总》

    GreenVPN:https://www.getgreenjsq.com/ Android开发工具.资料下载汇总:http://androiddevtools.cn/#img-size-handle- ...

  6. 前端文档汇总(含代码规范、开发流程、知识分享,持续更新) front-end-Doc

    https://juejin.im/post/5b1205b1f265da6e1a602a62 https://juejin.im/post/5b1205b1f265da6e1a602a62 http ...

  7. 微信iOS SDK文档总结

    至今共19个类.分3大类. (1)请求与响应类:微信终端和第三方程序:第三方程序和微信server. BaseReq:全部请求类的基类. GetMessageFromWXReq:微信终端向第三方程序请 ...

  8. 第四次作业——关于石墨文档(Android)客户端的案例分析

    关于石墨文档(Android)客户端的案例分析 作业地址:[https://edu.cnblogs.com/campus/nenu/2016CS/homework/2505] 第一部分调研,评测 1. ...

  9. SpringBoot集成Swagger2在线文档

    目录 SpringBoot集成Swagger2在线文档 前言 集成SpringBoot 登录接口文档示例 代码 效果 注解说明 总结 SpringBoot集成Swagger2在线文档 前言 不得不说, ...

随机推荐

  1. sql CET实现循环

    表结构 CREATE TABLE city( id INT IDENTITY(1,1) PRIMARY KEY, NAME NVARCHAR(100), ParentID INT , Parents ...

  2. python发送微信

    申请企业微信 使用python发送信息到企业微信,同时支持python2与python3环境,需要先申请一个企业微信,然后创建应用,获取以下三个信息 企业IP.Agentid.Secret 网信为创建 ...

  3. maya2012安装失败如何卸载重装

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  4. jquery中beforeSend和complete的使用 --- 提高用户体验&&设置请求头

    beforeSend方法的用户主要有下面几个: 第一:用于在发送ajax请求之前设置请求头 即作为前端,如果我们希望在发送数据之前设置请求头,就可以像下面这么做: beforeSend: functi ...

  5. node+mongoDB+express项目需求解释

    1. morgon模块 --- morgon 用于打印日志,分别为向后台打印和向文件中打印两种情况.stackoverflow. 2. app.use(bodyParser.json()) 3. de ...

  6. gdb调试汇总

    1. 启动GDB开始调试: (1)gdb program ///最常用的用gdb启动程序,开始调试的方式(2)gdb program core ///用gdb查看core dump文件,跟踪程序cor ...

  7. C#天气预报程序

    首先要引用这个服务,http://www.webxml.com.cn/Webservices/WeatherWebService.asmx 出现对话框后,把中央气象的服务网址添加到里面 选择高级, 添 ...

  8. Tiled 地图编辑器使用教程-官方demo

    一.Tiled Map Editer 下载地址 http://www.mapeditor.org/download.html 二.官方教程查看 下载安装后,不管windows还是Mac系统都包含官方例 ...

  9. VMWare 9 安装 win8

    http://tieba.baidu.com/p/1954912175 http://down.51cto.com/data/497803 win8专业版:NBCCB-JJJDX-PKBKJ-KQX8 ...

  10. C#图表控件ZedGraph使用

    最近从java转到C#下开发PC端的桌面程序,之前也尝试用java GUI写桌面程序,发现java写桌面程序还是诸多不便变,虽然最后也写出来了,但是决心还是另起平台,有了一定的java基础,来学习C# ...