一、获取待逆向的app

1、用cyder2直接从源里下载,适合逆向越狱开发的软件。

2、从pp助手中下载,pp助手中有越狱应用和正版应用。越狱应用直接是已经脱壳的,未越狱应用还需要执行砸壳

二、获取待逆向的二进制文件

1、从源里下载的deb文件,用dpkg-deb -x ./逆向软件.deb ./tmp,在tmp目录下得到Applications,Libarary,Var三个目录,在Applications下有.app文件,右键-显示包内容,在里面就能查看到二进制文件,也就是待逆向的二进制文件。

2、从pp助手下载的ipa文件,直接解压缩???

三、定位需要修改的位置

1、此步骤需要用到多个工具,主要如下:reveal,ida,hopper,class-dump,cycript,debugserver,lldb。具体工具介绍,请看本博客逆向工具,持续更行中。

2、用class-dump导出.app文件的头文件,然后可以拖入到xcode中,根据ios开发的经验大体猜出是哪个类和方法。

3、用reveal、cycript查看消息提示或软件界面相应的类,到导出的头文件中去找。

4、通过2,3两步,再到ida或是hopper中去找具体位置。也可以在ida或是hopper中直接用字符串搜索。

5、debugserver,lldb可以对程序进行动态调试。

6、通常逆向一个程序需要上面几种方法结合使用,怎么方便有效就怎么来。

iOS app 逆向过程(持续更新完善)的更多相关文章

  1. iOS 小知识点(持续更新)

    1.如何通过代码设置Button  title的字体大小 设置Button.titleLabel.font = [UIFont systemFontOfSize:<#(CGFloat)#> ...

  2. iOS系列教程 目录 (持续更新...)

      前言: 听说搞iOS的都是高富帅,身边妹子无数.咱也来玩玩.哈哈. 本篇所有内容使用的是XCode工具.Swift语言进行开发. 我现在也是学习阶段,每一篇内容都是经过自己实际编写完一遍之后,发现 ...

  3. 收藏的iOS技术站点汇总(持续更新ing)

    大牛博客 objc.io PS:经典,内容深而广 objc中国 NSHipster PS:非常多小细节 NSHipster 中文版 唐巧的技术博客 PS:LZ是唐巧的脑残粉- OneV's Den 王 ...

  4. iOS APP上架过程常见问题

    1.生产证书失效 2.上图中的蓝色选中部分的Provising Profile文件页需要导入,(调试证书(Developer).发布证书(distribution).还有Provising Profi ...

  5. iOS开发网络资源整理-持续更新

    本文记录iOS开发相关的网络社区和博客 1.objc中国 网址:http://objccn.io 简介:onevcat创建,项目的成立源于国内 Objective-C 社区对 objc.io 的翻译活 ...

  6. App知识点(持续更新......)

    1.app的性能测试,即专项测试,需要重点关注那些方面? 内存.cpu占用.耗电量.流量.流畅度等 2.什么是activity?它的生命周期? Activity是一个Android的应用组件,它提供屏 ...

  7. ios 常见错误整理 持续更新

    本文转载至 http://blog.csdn.net/yesjava/article/details/8086185  1. mutating method sent to immutable obj ...

  8. IOS app启动过程

    1.main函数   2.UIApplicationMain * 创建UIApplication对象 * 创建UIApplication的delegate对象   3.delegate对象开始处理(监 ...

  9. iOS宏(自己使用,持续更新)

    // 直接从RGB取颜色(RGB 0xFF00FF)#define UICOLOR_FROM_RGB(rgbValue) \[UIColor colorWithRed:((float)((rgbVal ...

随机推荐

  1. 取得system32文件夹下面文件的写入权限

    取得system32文件夹下面文件的写入权限 TAKEOWN /F %SystemRoot%\system32\riched32.dll ICACLS %SystemRoot%\system32\ri ...

  2. 求n个逆元的O(n)算法

    它的推导过程如下,设,那么 对上式两边同时除,进一步得到 再把和替换掉,最终得到 初始化,这样就可以通过递推法求出模奇素数的所有逆元了. 转自  http://blog.csdn.net/acdrea ...

  3. Android - 自定义控件之圆形控件

    自定义控件 - 圈圈 Android L: Android Studio 效果:能够自定义圆圈半径和位置:设定点击效果:改变背景颜色 下面是demo图 点击前: 点击后: 自定义控件一般要继承View ...

  4. 玩玩微信公众号Java版之一:配置微信公众平台服务器信息

    在进行微信公众平台开发前,前先做好准备工作,好了以后,我们可以开始啦!   第一.准备好服务端接口   定义一个http服务接口,主要分为如下几步:   1.创建一个servlet类,用来接收请求: ...

  5. runtime实现对象存储型数据库——LHDB

    前言 最近在GitHub上看了一份关于基于runtime封装的对象存储型数据库的开源代码,觉得非常值得分享记录一下,在IOS中对数据库的操作一般通过CoreData和SQLite,CoreData 虽 ...

  6. SetConsoleScreenBufferSize 函数--设置控制台屏幕缓冲区大小

    SetConsoleScreenBufferSize函数 来源:https://msdn.microsoft.com/en-us/library/windows/desktop/ms686044(v= ...

  7. ES6中的Set和Map集合

    前面的话 在ES6标准制定以前,由于可选的集合类型有限,数组使用的又是数值型索引,因而经常被用于创建队列和栈.如果需要使用非数值型索引,就会用非数组对象创建所需的数据结构,而这就是Set集合与Map集 ...

  8. 【JAVASCRIPT】React学习-组件生命周期

    摘要 整理组件加载过程,详细见官方文档:https://facebook.github.io/react/docs/react-component.html mount 过程 1)constructo ...

  9. 共享---samba

    1.  虚拟机,可以采用共享文件夹 2.  windows之间可以使用网络邻居共享 3.  windows与linux,linux与linux之间建立samba服务器 4.  安装samba服务器 r ...

  10. 【bzoj2819】Nim

    Description 著名游戏设计师vfleaking,最近迷上了Nim.普通的Nim游戏为:两个人进行游戏,N堆石子,每回合可以取其中某一堆的任意多个,可以取完,但不可以不取.谁不能取谁输.这个游 ...