iOS越狱系列(一):使用Reveal分析APP
TOOLS
1.已越狱的设备,并且已安装了OpenSSH,MobileSubstrate等实用工具 Cydia源/Telesphoreo里有 里面有个包 可以基本集合所有开发工具提供库
2.mac os已安装了Reveal revealapp.com , theos,itools ,dyld_decache,Mesasqlite等工具
这里主要讲解两种分析他人app界面方式:
第一: 系统app (如app store等)
第二:普通app(如易信,微信,instagram等)
下面讲解第一种:
1. 拷贝Reveal的framework和dylib到越狱设备
scp -r /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/Reveal.framework root@192.173.1.60:/System/Library/Frameworks
scp /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib root@192.173.1.60:/Library/MobileSubstrate/DynamicLibraries

<这里提及到:ssh到远程设备root 密码默认是:alpine>
2. 登陆到远程设备 然后编辑libReveal.plist


/Library/MobileSubstrate/DynamicLibraries/下创建文件libReveal.plist,指定app的Bundle 3. 重启
1)killall SpringBoard
2) reboot
第二种: (分析普通app)(激动人心的时候来了)
以下将拿网易 "易信"app做案例分析.
设备信息:iphone4s
版本: ios7.0.4
(以下是简单的所需工具)

下载好一切工具之后 执行安装命令. Tweak

具体可以看老外几个大神的安装教程,这里我稍后给出,以上一系列操作完成之后在目录下会生成如下:

图中 RevealUtils.h RevealUtils.m文件是在Reveal官网拉取简单修改了下已做处理.

至于.xm后缀名文件一些语法你们可以看看相关教程 很简单.
com.yixin.yixin_0.0.1-1_iphoneos-arm.deb 是make package之后生成的文件:如下是命令日志
applematoMacBook-Pro-:yixin applepc$ make clean
mack pa/Users/applepc/Documents/mygithubDir/jarlbreak/yixin/theos/makefiles/targets/Darwin/iphone.mk:: Deploying to iOS 3.0 while building for 6.0 will generate armv7-only binaries.
rm -rf ./obj
-- ::27.593 xcodebuild[:d07] Could not fetch 'View' main menu item
ckagrm -rf "/Users/applepc/Documents/mygithubDir/jarlbreak/yixin/_"
applematoMacBook-Pro-:yixin applepc$ mack package
-bash: mack: command not found
applematoMacBook-Pro-:yixin applepc$ make clean
/Users/applepc/Documents/mygithubDir/jarlbreak/yixin/theos/makefiles/targets/Darwin/iphone.mk:: Deploying to iOS 3.0 while building for 6.0 will generate armv7-only binaries.
rm -rf ./obj
rm -rf "/Users/applepc/Documents/mygithubDir/jarlbreak/yixin/_"
applematoMacBook-Pro-:yixin applepc$ make
/Users/applepc/Documents/mygithubDir/jarlbreak/yixin/theos/makefiles/targets/Darwin/iphone.mk:: Deploying to iOS 3.0 while building for 6.0 will generate armv7-only binaries.
Making all for tweak yixin...
Preprocessing Tweak.xm...
Compiling Tweak.xm...
make Preprocessing Tweak_Instagram.xm...
Compiling Tweak_Instagram.xm...
Compiling RevealUtils.m...
pc Linking tweak yixin...
a Stripping yixin...
Signing yixin...
^R
make pcapplematoMacBook-Pro-:yixin applepc$ make package
/Users/applepc/Documents/mygithubDir/jarlbreak/yixin/theos/makefiles/targets/Darwin/iphone.mk:: Deploying to iOS 3.0 while building for 6.0 will generate armv7-only binaries.
Making all for tweak yixin...
make[]: Nothing to be done for `internal-library-compile'.
Making stage for tweak yixin...
dpkg-deb: building package `com.yixin.yixin' in `./com.yixin.yixin_0.0.1-2_iphoneos-arm.deb'.
applematoMacBook-Pro-:yixin applepc$
然后只需把com.yixin.yixin_0.0.1-2_iphoneos-arm.deb 传到越狱设备里用iFile安装下就可以了
重启易信,
之后激动人心的时刻来了.

易信里面实现方式 和布局看的一清二楚.
下一篇讲解如何获取易信所有.h 头文件 以及解壳易信
iOS越狱系列(一):使用Reveal分析APP的更多相关文章
- ios开发系列之内存泄漏分析(下)
接上篇,本篇主要讲解通知和 KVO 不移除观察者.block 循环引用 .NSThread 和 RunLoop一起使用造成的内存泄漏. 1.通知造成的内存泄漏 1.1.ios9 以后,一般的通知,都不 ...
- ios开发系列之内存泄漏分析(上)
ios自从引入ARC机制后,一般的内存管理就可以不用我们码农来负责了,但是一些操作如果不注意,还是会引起内存泄漏. 本文主要介绍一下内存泄漏的原理.常规的检测方法以及出现的常用场景和修改方法. 1. ...
- iOS开发系列之app的一天
本文主要讲述我对 iOS 开发的一些理解,希望能通过 app 从启动到退出,将一些的知识整合起来,形成一条知识链,目前涉及到的知识点有 runloop.runtime.文件存储.界面布局.离线推送.内 ...
- iOS安全攻防(三):使用Reveal分析他人app
使用Reveal分析他人app 准备工作 1)已越狱的设备,而且已安装了OpenSSH,MobileSubstrate等有用工具(Cydia源里安装) 2)本地已安装了Reveal 操作步骤 1)拷贝 ...
- iOS使用Reveal分析他人app界面
本文转自http://blog.csdn.net/cuibo1123/article/details/45694657 安装: 首先前往 http://revealapp.com/download/ ...
- iOS逆向系列-逆向APP思路
界面分析 通过Cycript.Reveal. 对于Reveal安装配置可参考配置iOS逆向系列-Reveal 通过Reveal找到内存中的UI对象 静态分析 开发者编写的所有代码最终编译链接到Mach ...
- Reveal分析IOS界面,plist文件读取
Reveal分析IOS界面,需要得到app的 softwareVersionBundleId上传到iphone中 , 而IOS8的iTunesMetadata.plist (设备路径/var/mobi ...
- iOS逆向分析app
适合有一定的逆向编程基础的人看. 背景:自动抢红包的脚本工具:cyscript,reveal,class-dump,越狱的pod等. 这里先上一张reveal的分析图: 小结:获取到了真个软件的整体结 ...
- iOS开发系列--App扩展开发
概述 从iOS 8 开始Apple引入了扩展(Extension)用于增强系统应用服务和应用之间的交互.它的出现让自定义键盘.系统分享集成等这些依靠系统服务的开发变成了可能.WWDC 2016上众多更 ...
随机推荐
- modsecurity配置指令学习
事务(transactions) Console(控制台) 1 Introduction Modsecurity是保护网络应用安全的工作.不,从零开始.我常称modsecurity为WAF(网络应用防 ...
- 多控制器之UIApplication
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- Codeforces10D–LCIS(区间DP)
题目大意 给定两个序列,要求你求出最长公共上升子序列 题解 LIS和LCS的合体,YY好久没YY出方程,看了网友的题解,主要是参考aikilis的,直接搬过来好了 经典的动态规划优化. 用opt[i] ...
- 局域网接入Internet
说在前面的话 局域网接入Internet的方式多样: 有1传统的Modem(调制解调器)拨号接入,费用低廉的2 ISDN和 3 ADSL接入,费用较高的4 DDN专线接入,5 Cable Modem高 ...
- Sublime Text 2 使用心得
一. 前言 作为一个前端,有一款好的开发利器是必不可少的,editplus.notepad++都是不错的工具,体积轻巧,启动迅速(dw太浮肿了).最近,又有一款新的编辑器诞生,席卷前端界,惹得无数喜爱 ...
- YII访问数据库
YII访问数据库 CDbConnection: 一个抽象数据库连接 CDbCommand: SQL statement CDbDataReader: 匹配结果集的一行记录 CDbTransaction ...
- IE-一根网线二台电脑上网
1 直连线 使用交叉线(橙白 橙 (蓝白) (绿 绿白) ( 蓝)宗白 棕) 2 如果主机原本是用ADSL拔号上网的话,就在主机的网络连接下的宽带连接右击属性>高级,在“Internet 连接共 ...
- light oj 1354 - IP Checking
1354 - IP Checking PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB An I ...
- 利用ACE 自己实现的线程池
1: 线程池组件的配置文件: [log] ;DEBUG = 0 ;INFO = 1 ;WARN = 2 ;FAULT = 3 level=0 ;SCREENOUT = 0 ;FILEOUT = 1 ; ...
- Centos环境下Tomcat启动缓慢
最近项目上线部署的时候,发现一个问题.Tomcat在启动过程中耗费了很长的时间.查看日志,发现耗时最长的地方是:INFO [localhost-startStop-1] org.apache.cata ...