zoukankan      html  css  js  c++  java
  • 逆向工程三之工具篇

    一、摘要

    本文主要介绍逆向所用到工具,包括:UI分析Reveal,头文件导出class-dump,.m文件查看Hopper Disassembler,查看Mach-O文件结构指令工具otool、可视化工具MachOView

     

    二、Reveal

    •  Mac安装:https://pan.baidu.com/s/1lz9lwTKXD9bS8DnvT9gkBQ 提取密码:b31u

    •  iOS端安装:Cydia上搜索“reveal”,选择“Reveal2Loader”并安装,再重启SpringBoard

    1.  重启SpringBoard;

    2.  打开需要调试的app;

    •  覆盖iOS端的RevealServer文件

    1.  找到Mac上的“RevealServer”文件;

    2.  找到iOS设备上的“RevealServer”文件;

    说明:如果没有“RHRevealLoader”文件夹,可手动创建;

    3.  重启SpringBoard;

    •  使用: iOS端打开app,Mac打开Reveal

     说明:如果网络不好,WiFi模式比USB模式会很卡;

    说明:

    1>该软件只能查看view视图层级结构,无法看vc层级结构;
    2>若要查看vc层级结构,可利用mjcript.cy库中的MJChildVcs()方法来查看;
    3>若无法查看,则先重启app,再重启Reveal;

     

    三、class-dump

    •  下载:http://stevenygard.com/projects/class-dump/

    •  安装:/usr/local/bin/

     

    •  使用

    1.  找到一个IPA包,查看包内容,找到里面的Mach-O二进制文件(一般和包名同);

     2.  cd到Mach-O文件所在目录下(可事先复制一份出来),导出所有的.h文件;

    3.  将.h文件夹拖入xcode;

    说明:如果文件较多的话,拖入xcode显示会很卡,一般直接拖入“Sublime Text”显示(很顺畅);

     

    四、Hopper Disassembler

    说明:将Mach-O文件机器语言,反编译成汇编代码、OCSwift伪代码

    •  下载安装:https://www.hopperapp.com/download.html?

    •  打开Hopper,选择试用

    •  拖入Mach-O文件

    说明:如果文件很大,分析会很慢(左上角进度条,或者右下角”working…”);可以等分析完毕后,再进行调试;

    •  演示:搜索一个方法,点击“2”,查看代码实现(“3”处)

     

    五、otool命令行工具

     •  otool指令

     •  找到一个Mach-O文件(以下以“钉钉”为例),查看其结构类型

    说明:是一个胖二进制文件,有两种架构;

     

    六、MachOView

     •  下载地址

     •  将Mach-O文件(以“钉钉”为例)拖入MachOView

    说明:两种架构,arm64和armv7;

  • 相关阅读:
    Python进阶开发之元类编程
    django相关网站
    Ubuntu下vim中文乱码
    django自定义用户表
    C# webbrowser遍历网页元素
    Delphi SetParent 嵌入其他应用程序
    C# DataGirdview手动添加数据,导出txt文件并自动对齐
    C# SetParent将其他程序嵌入自己的程序
    Delphi如何找到出错行的行数!!
    Delphi StringGrid控件的用法
  • 原文地址:https://www.cnblogs.com/lybSkill/p/14928112.html
Copyright © 2011-2022 走看看