ios 逆向工程文档汇总

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

 

原文地址:https://www.cnblogs.com/feng9exe/p/6874241.html