需要改变原先程序功能流程的话,是要用到Logos Tweak 开发。另外,.在苹果商城下载到的app,不能直接拿来分析。需要先做一定的前期准备。网上有很多相关的写第一个越狱插件的文章,这里就不在赘言了。仅仅记录一些注意事项。留待日后自己如果忘记了,就回过头来看看。

一般分为以下的步骤.

1.准备已经越狱的iphone或ipad.系统不要最新,ios 6,7,8比较适宜。

2.Xcode要事先配置好越狱开发的环境,比如以下程序要先下载并安装好:

1>theos<MACOS> 这个是在xcode没有安装iosOpenDev的环境下,手工开发tweak程序,需要用到的。如果已经安装并配置好了iosOpenDev环境,这一步可以直接无视。话说如果用命令行装theos,少不了一些辅助工具比如brew, 可以在终端使用这条命令下载

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2>Clutch<IOS> 这个是用来“一键”破解应用在提交苹果商城之后,苹果官方加的密.该软件相当傻瓜化。如果找不到,需要添加源:"apt.so/brian0817"或者"cydia.radare.org"。也可以去Clutch官方托管地址“https://github.com/KJCracks/Clutch/releases”下载,下载后将Clutch-2.0.4放到越狱手机的usr/bin目录下(密码默认为alphine),然后使用命令“scp Clutch-2.0.4 root@192.168.1.168:/usr/bin/”。具体操作可参考:https://blog.csdn.net/yahibo/article/details/93749149

3>Class-Dump<MACOS> 这个程序的功能是比ida的F5解析出来的代码更容易看懂。 可以在"http://stevenygard.com/download/class-dump-3.5.dmg"下载到。<ios下在Cydia里搜索'class-dump'安装,Mac下可以百度找到下载>代码基本接近原生的源码。

4>SSH<MACOS> ,这个主要用于连接ios系统,<ios下在Cydia里搜索'SSH Connect'安装,Mac下直接在apple store搜索 ssh安装>以完整权限的方式实现代理操作.比如查看ios系统里当前的运行日志,以及一些需要在ios系统的机器下才能完成的操作。

5>ondeviceconsole<IOS> ,这个程序顾名思义,<在Cydia里搜索安装>.就是用来在mac上显示ios系统运行的日志的。当然要在SSH登录之后,才能使用此命令.并且特别要注意是小写。

6>dpkg<MACOS> .这个是安装我们写好的越狱app用的.

可能遇到的一些问题:

1.ssh连接不上.这个需要核对ios系统所在的IP,以及ssh的密码不要去频繁改动.

2.clutch的版本要在1.4.7及以上,要将下载好的程序放在 /usr/bin/下,而且如果在ios系统上的Mobiletermial上修改好权限为777,也可以在mac下的ssh里敲入:

chmod +x /usr/bin/Clutch-2.0.4 或者

chmod 777 clutch  。注意命令clutch对大小写敏感.这里不能错,否则会提示没有此命令。命令:Clutch -- daib 代表破解全部应用 Clutch QQ表示只破解名称为QQ的app。可能一次还不能破解成功,要多试几次。【如果运行clutch的时候,提示“zsh: killed”,可能是ios版本太高的原因,可以尝试使用CrackerXI+】

3.在xcode里,安装写好的插件,要用"Product/Build For/Profiling"进行安装.而且选项卡“Build Settings”里,要配置好以下几个选项:

1>iosOpenDevDevice :192.168.1.101  这里填你的ios设备的IP地址。一般是wifi下的局域网ip

2>iosOpenDevInstallOnProfiling:YES 这就是为什么我们要在Profiling下生成并安装的原因,当然你也可以选择 OnAnyBuild,在任何编译生成动作之后开始安装.

3>iosOpenDevUsePackageVersionPList:YES .这个好像是便于版本控制.具体我也不太清楚用途。自己百度之.

4.在"Build Phases"选项卡里,Link Binary With Libaries这里除了要添加代码中用到的引用项之外,还要引用 libsubstrate.dylib。因为默认是没有这个引用的,也就无法找到hook的核心链接库在哪了。特别需要注意的是,iosopendev自带的那个libsubstrate.dylib貌似不能自适应ios的cpu架构,需要从目标ios设备上将文件“/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate”拷贝并且替换掉

5.在安装的过程中,如果之前安装成功过一次,改动一些代码之后,再去安装。会提示 "status database area is locked by another process “的错误.实际上是由于生成的缓存或者是插件还在运行当中,占用的进程,导致程序无法被替换。这个时候,要先"Clean",或者在ios设备上退出与插件引用相关的进程。

________________________________

后记:

1.SSH连接的时候,命令是:ssh root@192.168.xx.xx,这个IP地址必须是同一局域网内的ios设备上的,不能错。也可以进行免密保存:iosod sshkey -h 192.168.xx.xx

2.Clutch是运行在ios上基于cydia的app,可能的路径是 /var/mobile/,由于在ssh上敲入的clutch,结果一直提示未知的命令。实际上是因为这些app运行起来大小敏感。必须输入Clutch。

更多关于Clutch的操作可以参考:http://www.lookgame.com/jiaocheng/shouyou/469/

3.class-dump 的使用。路径问题切记,新破解的ipa需要先解压出来,然后用解压出来的可执行文件去尝试。不能直接将.ipa拿去反编译。

class-dump -H /Users/wuxiping/Desktop/Dessembly/QQ-v6.5.8.437-no-name-cracker/Payload/QQ.app -o /Users/wuxiping/Desktop/Dessembly/Pojie/

如果以上还是提示错误的话,可以尝试下面的命令行

class-dump -H /Users/wuxiping/Desktop/Dessembly/QQMusic -o /Users/wuxiping/Desktop/Dessembly/Pojie

新手IOS tweak越狱app开发记录的更多相关文章

  1. 【Android开发】微信精选,文章资讯类App开发记录总结

    缘起 微信精选的App开发来源是在聚合数据上看到了有免费的微信精选的数据接口,无限调用.相对于其他的诸如违章查询,医药查询,NBA赛事等等,我感觉还是微信文章精选这个数据接口离我最近,所以想着拿着个数 ...

  2. iOS 直播类APP开发流程分解:

    1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示1.数据采集:摄像机及拾音器收集视频及音频数据,此时得到的为原始数据涉及技术或协议:摄像机:CCD.C ...

  3. iOS 直播类APP开发流程解析

    1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示1.数据采集:摄像机及拾音器收集视频及音频数据,此时得到的为原始数据涉及技术或协议:摄像机:CCD.C ...

  4. 2月4日 体温APP开发记录

    1.阅读构建之法 现代软件工程(第三版) 2.观看Android开发视频教程最新版 Android Studio开发 3.数据库链接,,数据传输功能测试

  5. 2月3日 体温APP开发记录

    1.阅读构建之法 现代软件工程(第三版) 2.观看Android开发视频教程最新版 Android Studio开发 3.回返地址学习,下载导入相关jar包

  6. 2月2日 体温APP开发记录

    1.阅读构建之法 现代软件工程(第三版) 2.观看Android开发视频教程最新版 Android Studio开发 3.Edit text使用学习

  7. 2月1日 体温APP开发记录

    1.阅读构建之法 现代软件工程(第三版) 2.观看Android开发视频教程最新版 Android Studio开发

  8. 1月29日 体温APP开发记录

    1.阅读构建之法 现代软件工程(第三版) 2.观看Android开发视频教程最新版 Android Studio开发 3.高德地图API下载获取key  

  9. visual studio 2013下搭建 安卓,ios,wp app开发平台

    1.安装 visual studio 2013 + Microsoft Visual Studio 2013 Update 4+Microsoft Build Tools 2015 2.安装java ...

随机推荐

  1. 【转载】Scroller源码解析

    原文地址:https://github.com/Skykai521/AndroidSdkSourceAnalysis/blob/master/article/Scroller%E6%BA%90%E7% ...

  2. java 中整数类型的进制转换

    int a=10; Integer.toBinaryString(a); //转换成2进制Integer.toOctalString(a);  //转换成8进制Integer.toHexString( ...

  3. 3000大洋,自己配置i5主机

    自用的HP笔记本已经“七年之痒”了,所以在2016年新年之前,换了台新电脑.主要用来娱乐(电影),但是也要能够满足工作学习(本人从事IT行业)的需要. 遵循本人一贯的高冷装X的习惯,决定自己买配件攒机 ...

  4. CXF浅析

    CXF 框架支撑环境    CXF 框架是一种基于 Servlet 技术的 SOA 应用开发框架,要正常运行基于 CXF 应用框架开发的企业应用,除了 CXF 框架本身之外,还需要 JDK 和 Ser ...

  5. 【UOJ #198】【CTSC 2016】时空旅行

    http://uoj.ac/problem/198 (先补一下以前的题解) 这道题5分暴力好写好调,链上部分分可以用可持久化线段树,每次旅行\(x\)值相同的可以用标记永久化线段树.我还听到某些神犇说 ...

  6. BZOJ 2157 旅游(动态树)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2157 [题目大意] 支持修改边,链上查询最大值最小值总和,以及链上求相反数 [题解] ...

  7. BZOJ 3289 Mato的文件管理(莫队+树状数组)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3289 [题目大意] 求静态区间逆序对. [题解] 我们对查询进行莫队操作,对于区间的删 ...

  8. python基础之面向过程编程,模块

    面向过程编程 面向过程的核心是过程,指的是解决问题的步骤,即先干什么再干什么,就好像设计一条流水线. 优点:复杂的问题流程化,进而简单化 缺点:可扩展性差,修改流水线的任意一个阶段,都会牵一发而动全身 ...

  9. 输入sql语句,将结果写入到xml文件

    import java.io.FileOutputStream; import java.sql.Connection; import java.sql.DriverManager; import j ...

  10. MySQL中变量的定义和变量的赋值使用(转)

    说明:现在市面上定义变量的教程和书籍基本都放在存储过程上说明,但是存储过程上变量只能作用于begin...end块中,而普通的变量定义和使用都说的比较少,针对此类问题只能在官方文档中才能找到讲解. 前 ...