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助手
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-C和JavaScript的混合模式,可以实时的和应用交互甚至修改应用。它的网址请猛戳这里。在官网上可以下载到完整的软件包。使用的方式有两种,一种是在越狱的设备上通过MobileSubstrate加装,这样可以在所有的应用里使用;另一种是通过静态库的方式把cycript集成到自己的应用,这样做不要求越狱,当然也只能在自己的应用内使用了。
mobilesubstrate
MobileSubstrate主要由3部分组成:MobileHooker,MobileLoader和safe mode。
iOS在越狱后,会默认安装一个名叫mobilesubstrate的动态库,它的作用是提供一个系统级的入侵管道,所有的tweak都可以依赖它来进行开发
iOS逆向工程(手动HOOK自己编写的APP)- 学习整理
http://www.jianshu.com/p/8982e9670fc6
iOS越狱开发环境(Theos)的配置(2017,2)
http://www.jianshu.com/p/751444520848
Mac10.11&Xcode7.3安装Mactheos和iOSOpenDev
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开发小记(五)theos的makefile
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
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
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安装Mactheos和iOSOpenDev
http://www.jianshu.com/p/45291fe89cc7
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 world-b
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
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]
localhost:Payload zzf073$ ssh root@10.10.212.127
ssh: connect to host 10.10.212.127 port 22: Connection refused
localhost:Payload zzf073$
./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 逆向学习1(iOS工具集: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 逆向工程文档汇总的更多相关文章
- Niagara技术文档汇总
Niagara技术文档汇总http://wenku.baidu.com/view/ccdd4e2c3169a4517723a38f.html Niagara讲解要点http://wenku.baidu ...
- Phylab2.0 文档汇总
实验数据处理脚脚本 编写规范 调用框架以及测试文件规范 脚本调用约定 API文档 用户部分后端请求说明 文章评论区部分后端请求说明 测试报告 测试报告集
- Linux(CentOS、Ububtu)一键安装Openstack及其它参考文档汇总
原文链接 http://www.aboutyun.com/thread-10920-1-1.html openstack相关资料 CentOS下一键安装Openstack http://blog. ...
- Spring 文档汇总
Spring Batch - Reference Documentation Spring Batch 参考文档中文版 Spring Batch 中文文档 Table 2. JdbcCursorIte ...
- Android开发之《常用工具及文档汇总》
GreenVPN:https://www.getgreenjsq.com/ Android开发工具.资料下载汇总:http://androiddevtools.cn/#img-size-handle- ...
- 前端文档汇总(含代码规范、开发流程、知识分享,持续更新) front-end-Doc
https://juejin.im/post/5b1205b1f265da6e1a602a62 https://juejin.im/post/5b1205b1f265da6e1a602a62 http ...
- 微信iOS SDK文档总结
至今共19个类.分3大类. (1)请求与响应类:微信终端和第三方程序:第三方程序和微信server. BaseReq:全部请求类的基类. GetMessageFromWXReq:微信终端向第三方程序请 ...
- 第四次作业——关于石墨文档(Android)客户端的案例分析
关于石墨文档(Android)客户端的案例分析 作业地址:[https://edu.cnblogs.com/campus/nenu/2016CS/homework/2505] 第一部分调研,评测 1. ...
- SpringBoot集成Swagger2在线文档
目录 SpringBoot集成Swagger2在线文档 前言 集成SpringBoot 登录接口文档示例 代码 效果 注解说明 总结 SpringBoot集成Swagger2在线文档 前言 不得不说, ...
随机推荐
- 移动性能测试 | 持续集成中的 Android 稳定性测试
前言 谈到Android稳定测试,大多数会联想到使用monkey工具来做测试.google官方提供了monkey工具,可以很快速点击被应用,之前我有一篇帖子提到了monkey工具的使用,详见: htt ...
- kafka删除主题数据和删除主题
1.删除主题 在server.properties中增加设置,默认未开启 delete.topic.enable=true 删除主题命令 /bin/kafka-topics --delete --to ...
- firewall 端口转发
centos 7 使用背景:某次新购阿里云服务器安装nginx后配置80转8080的内部转发 systemctl status firewalld ---查看守护进程状态systemctl start ...
- spring整合jpa
有点类似SSH整合,O(∩_∩)O哈哈~ <?xml version="1.0" encoding="UTF-8"?> <beans xmln ...
- Selenium2(WebDriver)中执行JavaScript代码 (转)
在用selenium编写web页面的自动化测试代码时,可能需要执行一些JavaScript代码,selenium本身就支持执行js,我们在代码中可以使用executeScript.executeAsy ...
- linux 查看页大小
# getconf PAGE_SIZE 一般是4096
- [转]LazyLoad.js及scrollLoading.js
本文转自:http://blog.csdn.net/ning109314/article/details/7042829 目前图片延迟加载主要分两大块,一是触发加载(根据滚动条位置加载图片):二是自动 ...
- CentOS 7 更新软件源和系统
[1] 首先备份/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/Cent ...
- 如何解决css和js的{}与smarty定界符冲突的问题
当输入url地址后网页出现:Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error i ...
- C++中string erase函数的使用
erase函数的原型如下:(1)string& erase ( size_t pos = 0, size_t n = npos );(2)iterator erase ( iterator p ...