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. JDK Throwable

    Throwable 1. 使用大量数组和List常量: private static final StackTraceElement[] UNASSIGNED_STACK = new StackTra ...

  2. 3.数据校验和SpringEL

    1.数据验证 数据验证不应该被限定在web层去处理,他应该在任何需要做数据验证的地方做验证: 基于以上考虑,Spring设计了一个既方便又可以在所有层使用的Validator接口 Spring提供了V ...

  3. 缓存方案:本地guavaCache, 远程redis?

    线程内部缓存:a. 局部变量HashMap, 方法间传递  b. 使用ThreadLocal 本地缓存:单jvm内共享 可以使用(Concurrent)HashMap自己实现,也可以使用GuavaCa ...

  4. Subarray Sum K

    Given an nonnegative integer array, find a subarray where the sum of numbers is k. Your code should ...

  5. my.助战选择

    ZC:我的选项:铁扇.小白龙.北海龙女.北海龙子(涌浪).老鼠精(避敌锋芒).惠岸.银角 ZC:我的选择(日常速推不是我急需的,慢一点无所谓,我需要过难度):老鼠精(避敌锋芒).银角(首回合隐身,每回 ...

  6. mybatis 动态行转列

    SELECT user_name , MAX(CASE course WHEN '数学' THEN score END ) 数学, MAX(CASE course WHEN '语文' THEN sco ...

  7. 在Application_Error获取Asp.Net未处理异常信息

    在Application_Error获取Asp.Net未处理异常信息 protected void Application_Error(object sender, EventArgs e) { // ...

  8. 06-spring常见的连接池配置

    1 准备工作 首先,我们准备jdbc属性文件 database.properties,用于保存连接数据库的信息,利于我们在配置文件中使用. 只要在applicationContext.xml(Spri ...

  9. macOS 从睡眠中恢复出来之后没有声音的解决方案

    打开Active Monitor, 找到coreaudiod进程, 将其quit掉即可

  10. HDU 5532——Almost Sorted Array——————【技巧】

    Almost Sorted Array Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Ot ...