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上众多更 ...
随机推荐
- SQL Server数据库大型应用解决方案总结【转】
[IT168 技术]随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造 ...
- [HZWER]藏妹子之处
问题描述 今天CZY又找到了三个妹子,有着收藏爱好的他想要找三个地方将妹子们藏起来,将一片空地抽象成一个R行C列的表格,CZY要选出3个单元格.但要满足如下的两个条件: (1)任意两个单元格都不在同一 ...
- HTML5/CSS3动画应用
http://www.html5tricks.com/cool-html5-css3-animation.html
- HADOOP2.2.0安装配置指南
一. 集群环境搭建 这里我们搭建一个由三台机器组成的集群: Ip地址 用户名/密码 主机名 集群中角色 操作系统版本 192.168.0.1 hadoop/hadoop Hadoop-mast ...
- centos "cannot open display"的问题
实用技巧:在Linux下设置xhost方法步骤 第一步:用root登陆linux,启动vnc服务: 第二步:根据vnc起来的端口,设置export DISPLAY=localhost:1(1表示vnc ...
- Java中String是“引用”传递
如题,在java中这是一个典型的问题. 在stackoverflow上已经有很多相似的问题被提问,并且有很多不正确或不完整的答案.如果你不往深处想,这是一个很简单的问题.但如果深入思考,它却很让人迷惑 ...
- HDU-4415 Assassin’s Creed 贪心
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4415 用贪心来解,开始分为两个集合的方法错了,没有考虑之间的相互影响,正确的姿势应该是这样的,分两种情 ...
- Codeforces126B - Password(KMP)
题目大意 给定一个字符串S,要求你找到一个最长的子串,它既是S的前缀,也是S的后缀,并且在S的内部也出现过(非端点) 题解 KMP的失配函数f[i]的非零值就是前i个字符的一个最长前缀且也是后缀的字符 ...
- 新浪微博、腾讯微博、QQ空间、人人网、豆瓣 一键分享API
新浪微博: http://service.weibo.com/share/share.php?url= count=表示是否显示当前页面被分享数量(1显示)(可选,允许为空) & url=将页 ...
- 并查集 poj1611&poj2492
poj1611 简单题 代码中id记录父节点,sz记录子树规模.一个集合为一棵树. #include <iostream> #include <cstdio> using na ...