精华内容
参与话题
问答
  • ios逆向

    千次阅读 2016-05-03 11:54:32
    虽然iOS系统相比于其他手机操作系统相对安全,但是这个安全并不是绝对的。此文想以实际例子出发,告诉大家,如何去反编译一个app。

    虽然iOS系统相比于其他手机操作系统相对安全,但是这个安全并不是绝对的,我一直相信,道高一尺魔高一丈。此文想以实际例子出发,告诉大家,如何去反编译一个app,并且从某个角度来说,iOS没有传说中的安全

    这里只最简单的结论给大家,具体原理以及工具的详细使用,请各位自行Google,为什么这么做呢,因为我想用最简单的语言,让没有汇编基础的同学也能明白。

    将用以下几个方面来述我的点:

    • iOS app可以“有条件”地被反编译
    • 脱掉App Store“二制文件”穿上的外衣
    • 如何利用工具去反编译
    • 在感趣的地方生成
    • 如何防反编译


    iOS app可以“有条件”地被反编译

    首先,告诉大家一个不幸的消息,上架至App Storeapp,被apple加密了。所以标题才是有条件才能进行反编译,令人欣喜的是,在debug下产生的ipa或者是release下的ipa包或者是渠道包(各种应用市场能下的ipa包)都能直接反编译。


    脱掉App Store“二制文件”穿上的外衣

    当然,引言已经说了,道高一尺魔高一丈,就算是被apple加密的ipa,其实也是可以反编译的,只不过相对麻烦罢了。

    来来来,给你们几个工具,就可以解掉apple的加密了。

    • clutch
    • dumpdecrypted
    • gdb
    • AppCrackr

    由于AppCrackr被很多开发者吐槽,这个傻瓜式的解密会严重导致盗版泛滥,所以这个工具已经很不好用了。。


    如何利用工具去反编译

    (1)下面介绍两个工具class-dumpHopperDisassembler

    class-dump 官网地址 :我这里下载的是 class-dump-3.5.dmg 版本的。双击.dmg 文件,将 class-dump 拉倒 /usr / local / bin 目录下(此目录是隐藏文件夹,可以自行Google显示后再copy进去),这样就可以在终端使用 class-dump 命令了.

    HopperDisassembler官网地址

    (2)先撸一个最简单的app来做小白鼠。下载地址(包含二进制文件&dump结果)


    看图,就是这样,我只改了ViewController这个类。


    ViewController.h


    (ViewController.m)


    由代码可以看出,我就写了两个方法testClassDumptestHideClassDump,后者没有声明在.h中(ps:我想试验这样能不能被反编译到)


    ok,前戏都做完了,可以开始干活了。

    我们run一下工程,然后打开DecompilingTest.app所在目录,显示包内容,拿到二进制文件。



    然后我是复制到桌面,然后执行下述命令,即可拿到工程中的.h文件。


    OK,得到下述结果,我们看看拿到的ViewController.h里面,能拿到什么方法



    事实证明,没有声明的方法也被dump出来了。


    下一步我们要做的就是看看能不能拿到这两个方法的具体实现了,接下来我们用HopperDisassembler来试试。

    Hopper Disassembler的用法很简单,只要将二进制文件拖进去就行了。看看拖进去之后的结果。




    此时心中一万头草泥马飞奔而过,一堆汇编语言宝宝看不懂啊。


    在感兴趣的地方生成伪代码

    Don't worry!点右上角的if(b)f(x);按钮,我们能看到这个方法的伪代码,大部分的时候我们能从伪代码中看出我们需要的信息。

    结果如下:


    (伪代码1:testClassDump



    (伪代码2:testHideClassDump


    至此,两个方法都被反编译出来了!!


    这里需要注意,就算方法没有声明在.h中,也能被dump,之后就能被反编译了。

    如何防反编译

    说了这么多,我们预防呢,是不是需要像Java的一样加上各种复杂的混淆呢。

    其实我觉得大可不必,本身反编译成本就很大,代码这么多,一个个反编译过来是在蛋疼,就算有伪代码也需要理解,而且有些代码就算有伪代码也很难理解。


    只要做好核心代码,做好混淆就行了,比如涉及到密码,核心算法。


    总结

    没有绝对安全的系统,也没有黑客破不掉的系统,所有需要的只是时间而已。



    来源:kuailejim 

    链接:http://www.jianshu.com/p/10873c5c1e08



    展开全文
  • IOS逆向

    2014-07-21 11:11:36
    http://security.ios-wiki.com/
    http://security.ios-wiki.com/
    
    展开全文
  • iOS 逆向

    2018-01-10 15:19:00
    iOS攻防:class-dump 与 ...其他逆向文章:https://www.ianisme.com/ios/2326.html 1 class dump class dump 是一个用于检查保存在 Mach-O 文件中的 objective-c 运行时信息的工具,攻防中最常用、实用的命令行...

    iOS攻防:class-dump 与 Dumpdecrypted 使用

    1 class dump

    class dump 是一个用于检查保存在 Mach-O 文件中的 objective-c 运行时信息的工具,攻防中最常用、实用的命令行工具。

    1.1 class dump 好玩在哪?

    class dump 绝对可以满足你的好奇心。你可以通过 class dump :

    1. 查看闭源的应用、frameworks、bundles。
    2. 对比一个 APP 不同版本之间的接口变化。
    3. 对一些私有 frameworks 做些有趣的试验。

    1.2 Download

    当前版本: 3.5 (64 bit Intel)
    需要 Mac OS X 10.8 或更高版本

    class-dump-3.5.dmg
    class-dump-3.5.tar.gz
    class-dump-3.5.tar.bz2

    1.3 Use

    下载好后,双击dmg文件,将其中的 class-dump 文件放到/usr/local/sbin 目录下,然后就可以在命令行中使用了。

    blog_iOSclassdump01

    官方用法指南:

    简单的举例:

    /Applications/Calculator.app 是 Mac 上计算器应用的路径。
    ~/Desktop/dump/Calculate-dump 是指定的存放 dump 出来头文件的文件夹路径。

    执行完成后可以看到指定的保存目录下已经有 dump 出来的头文件了:

    blog_iOSclassdump02

    打开一个 .h 文件可以看到相应内容:

    blog_iOSclassdump03

    2 Dumpdecrypted

    class dump 虽然能帮你解析出一个 app 的头文件,但是对于 App Store 下载的 App 都是通过苹果的一层签名加密,通常我们成为『加壳』。对于已经加壳的 APP,解析后的效果就和加了代码混淆类似。

    比如直接去 dump 微信,出来的结果大概是这样:

    blog_iOSclass dump04

    2.1 Download

    dumpdecrypted GitHub 地址

    2.2 Install

    Dumpdecrypted 比另一个砸壳工具 Clutch 要难用的多。但由于 Clutch 无法砸开含有兼容 WatchOs
    2 的 App,所以只能使用 Dumpdecrypted。

    下载后打开 Makefile 文件,注意第三行:

    这里填写的 SDK 必须与你越狱的 iPhone 系统等级一致,你可以这样查看你 MAC 的 SDK :

    输出:

    而我的手机是 7.0 的,所以只能去这里下载对应的 SDK。

    Makefile 所有需要填写的填好后:

    在当前目录下生成 dumpdecrypted.dylib 文件。

    如果你觉得很麻烦,可以直接来这里或者这里下载。

    2.3 Use

    将 dumpdecrypted.dylib 放到需要砸壳 app 的 Documents 下。

    查找微信的 Documents:

    得到路径:

    scp 传输:

    砸壳:

     

    注意 DYLD_INSERT_LIBRARIES= 后填写的是你刚刚传输的 .dylib 文件名,我的是 dumpdecrypted_7.dylib

    砸壳成功:

    ls 查看 Documents 中文件多了一个 WeChat.decrypted,这就是砸壳过后的文件,scp出来:

     

    3 class dump 砸壳后的文件

    上一步我们得到了 WeChat.decrypted,现在可以对其进行 dump:

     

    –arch armv7 是指定架构,dumpdecrypted 只会砸你手机处理器对应的那个壳,fat binary 的其它部分仍然是有壳的,而 class-dump 的默认目标又不是被砸壳的那个部分,如果不指定架构只能导出 CDStructures.h 一个文件

    现在就可以看到 dump 后是明文的了:

    blog_iOSclassdump05

    4 Learn More

    当你能看到 .h 文件时候,意味着你知道了这个应用程序的各种接口,除了学习别人的优雅代码之外,显然也也可以做一些更有意思的事情,通过一些猜想和试验,我们可以去尝试做一个微信的插件。

    下一次iOS攻防将会介绍动态库的注入和微信插件的制作~

    如果您感兴趣~请点击下方打赏支持萌妹子的原创哟~


    有什么问题都可以在博文后面留言,或者微博上私信我,或者邮件我coderfish@163.com

    博主主要写 java 和 iOS 的。

    希望大家一起进步。

    CSDN: CSDN博客地址

    我的微博:小鱼周凌宇

    转载于:https://www.cnblogs.com/LYW1993-1024/p/8258755.html

    展开全文
  • ios 逆向

    2019-03-19 10:40:00
    Theos https://www.jianshu.com/p/307243ea40e4 Dumpsdecrypted https://www.cnblogs.com/wangyaoguo/p/9084939.html 反汇编 https://www.jianshu.com/p/10873c5c1e08 转载于:...

     

    Theos

    https://www.jianshu.com/p/307243ea40e4

     

    Dumpsdecrypted

    https://www.cnblogs.com/wangyaoguo/p/9084939.html

     

    反汇编

    https://www.jianshu.com/p/10873c5c1e08

    转载于:https://www.cnblogs.com/fo0ol/p/10557056.html

    展开全文
  • iOS逆向开发案例

    万人学习 2019-02-26 15:12:09
    本套课程相信能够帮助到想学习逆向的你,为你节约大量的时间,将时间...在这个系列里,我们从密码学入手,了解常见加密算法,通过数字签名等技术学习iOS应用签名。剖析原理,通过重签名技术绕过系统检测开启逆向之旅。
  • iOS逆向工具

    2018-04-03 19:41:12
    iOS逆向相关的工具 如debugserver、lldb命令行、class-dump、cycript常用命令行
  • ios 逆向开发 重签名打包工具 一建打包 方便使用。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
  • ios逆向工具汇总

    2018-06-19 17:39:09
    ios逆向工具汇总,帮你熟悉ios平台的越狱破解,有助于你的开发工作
  • optool iOS 逆向工具

    2020-04-25 00:22:04
    optool iOS 逆向工具optool iOS 逆向工具optool iOS 逆向工具optool
  • %hook Springboard // overwrite methods here %end%hook后面跟的是你要hook的类名称,以一个%end结尾。%orig 当在一个method内部的时候,%orig会调用原来的方法(original method)。Building, Packaging, ...
  • 下载源:百度网盘逆向资料
  • iOS逆向技术视频教程

    2018-11-05 21:57:12
    课时02.iOS系统安全机制 课时03.认识越狱设备 课时04.越狱环境配置 课时05.第一章文档总结 课时06.App结构与构建过程 课时07.寻找控件背后的代码 课时08.数据存储 课时09.类与方法 课时10.runtime特性 课时...
  • ios逆向工具MonkeyDev简介

    千次阅读 2018-03-19 10:31:27
    MonkeyDev简介 虽然是米国的苹果开发的的的我操作系统系统,但是要论越狱iPhone和逆向分析来说,那国内远胜于米国了,可能是国内很多相关的灰色产业链吧。...不过在17年的时候,iOS逆向后起之秀AloneMonkey对这...
  • iOS逆向系列:Hacking and Securing iOS Applications
  • 主要给大家介绍了关于iOS逆向教程之动态调试的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要给大家介绍了关于iOS逆向解密的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • IOS逆向之汇编基础

    千次阅读 2017-08-12 23:33:45
    原文出处学习汇编前你应该知道的知识 1、汇编需要什么工具和程序,到哪里下载? 目前阶段,汇编程序仅需要两个程序就够了。masm.exe,link.exe。 前者是编译程序,后者是链接程序。另外,为了验证和调试程序,还...
  • IOS逆向需要的工具

    2017-08-11 18:41:06
    以下进行罗列一些IOS逆向需要的帮助工具,加快我们的逆向过程,和方便我们进行相应的逆向操作。同时可以起到画点成面的效果。这正是我们再分析和理清思路的必要过程。接下来我只进行罗列。后期有时间 我会把对应的...
  • IOS逆向工程,Tweak,走进iOS逆向的世界。 IOS逆向工程,Tweak,走进iOS逆向的世界。
  • ios逆向学习

    2015-05-08 17:48:08
    发现两篇IOS逆向的优秀文章,发出来供大家学习参考!! 地址: http://bbs.weiphone.com/read-htm-tid-672262.html http://bbs.weiphone.com/read-htm-tid-2680889.html

空空如也

1 2 3 4 5 ... 20
收藏数 2,461
精华内容 984
关键字:

ios逆向