一 、app破解

由于苹果正常情况下的app主要通过app store下载,而在上传到app store时会被进行drm保护。被保护后的ipa无法直接分析,也无法进行相关的patch,因此,对ipa的破解,获取其真实的代码,资源数据就尤为重要,也因此是每一个app逆向分析的首要步骤。

破解app的方法

目前破解app已经有专门的工具,均需手机越狱,其中有gui的crakulous.以及命令行的clutch,

以clutch为例:

在越狱后的机器上打开terminal:

使用login进入根权限后。输入

Clutch,将显示当前的app名及序号,再次输入

Clutch (对应的app序号)则开始破解该app。

如上图,我们选取的是某游戏的app进行破解

破解后的ipa被保存在/var/root/documents/cracked/下

利用如91助手的文件管理功能,将ipa下载到电脑中。

再利用ida(6.1及以上版本)打开ipa进行分析得到:

二、调试

Ios app的调试,主要利用openssh+gdb的方式。

在进行调试之前,首先须确保手机越狱,而后通过cydia在手机中安装下列软件:

Openssh(搭建ssh通道,实现远程登录用)

Terminal(ios上的终端程序,可实现命令行控制,同时也可由putty远程利用openssh的通道登录)

Adv-cmd(提供更复杂的命令行指令)

安装以上三个软件后。利用无线进行手机与笔记本的连接:

1 可利用无线网络,让手机与笔记本加入同一无线网络中

2 可利用笔记本本身的无线功能,由笔记本本身创建临时无线网络,让手机加入该网络

处于同一网络后,查看手机的网络地址:

点击红框中的箭头,则看到ip地址:

(手机安装openssh,terminal后)利用putty远程登录

此时即可利用gdb调试了,在手机中打开我们想要调试的进程(某单机游戏为例)。于手机中打开该游戏后。在putty中输入ps -ax(需手机安装adv cmds):

找到了对应的进程,此时如普通的linux控制台,使用gdb -p 10540则可挂上该进程进行调试:

利用disas指令即可查看反汇编代码:

这样,利用gdb的动态调试功能,结合ida的静态分析功能。则可实现对手机进行逆向分析调试的目的。

iOS程序破解与调试基础相关推荐

  1. iOS游戏框架Sprite Kit基础教程第1章编写第一个Sprite Kit程序

    iOS游戏框架Sprite Kit基础教程第1章编写第一个Sprite Kit程序 程序是为了实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合.本章将以编写第一个Sprite Kit程序为 ...

  2. 从零开始搭建基于Xcode7的IOS开发环境和免开发者帐号真机调试运行第一个IOS程序HelloWorld

    首先这篇文章比较长,若想了解Xcode7的免开发者帐号真机调试运行IOS程序的话,直接转到第五部分. 转载请注明原文地址:http://www.cnblogs.com/litou/p/4843772. ...

  3. iOS开发系列--IOS程序开发概览ios基础

    iOS开发系列--IOS程序开发概览 概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的I ...

  4. 【微信小程序-原生开发】实用教程06-轮播图、分类页签 tab 、成员列表(含Tdesign升级,切换调试基础库,设置全局样式,配置组件按需注入,添加图片素材,wx:for,生命周期 onLoad)

    开始前,请先完成首页的开发,详见 [微信小程序-原生开发]实用教程05-首页(含自定义调试模式.插入图片.图文排版.底部留白.添加本地图片) https://blog.csdn.net/weixin_ ...

  5. 机器人按照给定的指令c语言,【高训工控】专业课堂第二十四期——工业机器人调试基础:程序的构造与组成...

    原标题:[高训工控]专业课堂第二十四期--工业机器人调试基础:程序的构造与组成 大家好,欢迎来到[高训工控]专业课堂第二十四期,本期为大家带来--工业机器人调试基础:程序的构造与组成 在之前的文章中有 ...

  6. iOS游戏框架Sprite Kit基础教程——Swift版上册

    iOS游戏框架Sprite Kit基础教程--Swift版上册 试读下载地址:http://pan.baidu.com/s/1qWBdV0C  介绍:本教程是国内唯一的Swift版的Spritekit ...

  7. 从此走上一条iOS程序猿不归路。。。

    新的城市,新的生活!前不久刚刚结束了苦逼的面试找工作之旅,期间也小有收货,如今正处年底工作闲暇之余,将前一阵子陆陆续续的总结整理了一下,本人菜鸟程序猿一只,水平有限,本文总结的知识不算深入,比较浅显, ...

  8. 【移动安全实战篇】————3、Android应用程序破解入门

    Android软件越来越多的走向免费加广告模式了,但在我们日常应用中,还是不乏一些收费应用,一部分通过Market收费下载,另一部分将收费部分放到了软件的实现中,我们今天要讨论的就是后者,就我见到的一 ...

  9. 【iOS沉思录】如何招聘一个靠谱的 iOS程序员+面试题详解

    说明:面试题来源是微博@我就叫Sunny怎么了的这篇博文:<招聘一个靠谱的 iOS>,其中共55题,除第一题为纠错题外,其他54道均为简答题. 出题者简介: 孙源(sunnyxx),目前就 ...

最新文章

  1. RDKit:运用RDKit计算USRCAT(形状相似性)
  2. python中__str__与__repr__
  3. eclipse调试报错,无法进入类
  4. opencv 图片叠加_OpenCVSharp学习之——ROI与图像叠加
  5. Android 热修复 HotFix 混淆apk生成patch包方案
  6. 如何配置charles_抓包工具--charles(青花瓷)及获取AppStore数据包
  7. 反思PHP多个字符串函数
  8. 7-25 朋友圈 (25 分)(详解+并查集的了解和应用)
  9. 没有工作经验找it_校招和社招有什么区别?没有工作经验,如何找工作?
  10. Dubbo(九) dubbo的配置文件加载顺序优先级
  11. Spring : 缓存相关注解@EnableCaching、@CacheConfig、@Cacheable、@Caching
  12. html图片实现左右滑动,jquery实现左右滑动式轮播图
  13. javaweb课程PSP(1)
  14. spring学习--完全注解开发(不需要xml)
  15. oracle判断为周一_oracle sql技巧:取上周一到上周日(本周一到本周日\下周一到下周日)的时间...
  16. 基于FFmpeg的H265编码器
  17. 异步操作及定时任务框架quzrtz在donet平台的使用
  18. android 字体外发光,CSS3 霓虹外发光字体效果
  19. 跳入餐饮新消费水池,腾讯、字节、B站能否“如鱼得水”?
  20. python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析

热门文章

  1. LR和Jmeter的区别
  2. PVI-DSO: Leveraging Planar Regularities for Direct Sparse Visual-Inertial Odometry (阅读笔记)
  3. iphone6s计算机驱动,将iphone6s连接到计算机时如果出现驱动程序问题该怎么办
  4. 手机User-Agent大全
  5. IDEA自定义POJO.groovy
  6. codecombat之KithGard地牢19-37关代码分享
  7. 想开一个菜鸟驿站,需要投资多少钱,要准备什么?
  8. 共阴/共阳数码管 ----- 学习笔记
  9. 《黑客与画家》 读书笔记(二)
  10. vue axios 跨域配置