反编译

iOS逆向-工具安装与使用(一)

2018-04-27  本文已影响35人  lukyy

如果你想成为一名合格的iOS逆向开发工程师,
又没有一套自己的工具集,
又想做逆向开发,
唯一的办法:自己想想吧,哈哈~~
开个小玩笑,
为了实战方便?
自己必须要提前准备逆向开发工具,
才能进行实战开发.
接下来我们会一一介绍工具的安装和使用.

1.逆向汇编工具

12款工具,想想不到的酸爽.接下来一一介绍哦

鸟瞰城堡

具备了这些工具,你就可以鸟瞰城堡.App会变得很透明.
所以对App的安全防护是非常重要的.

2.汇编逆向工具安装

1.pp助手

pp助手 image.png image.png image.png

2.go2shell-一款懒人命令行必备神器

go2shell image.png image.png image.png

我们直接就可以进入所在目录下,不需要用cd命令,懒人命令行必备神器.
以上(pp下载)目录为例,
我们点击2中go2shell快捷工具,
直接打开终端,
直接跳转到3.我们ls命令以后就可以查看pp下载目录下的内容了.
是不是很方便?
意不意外?
惊不惊喜?

3. iTerm2

下载地址:https://www.iterm2.com/downloads.html

image.png

如图,个人配置的主题页面,
如果你也想配置,
不妨到这个链接进行配置:
http://www.cnblogs.com/xishuai/p/mac-iterm2.html
按照步骤一步步配置,
就可以完成你想要的主题.
至于配置就要考验你的动手能力了.

重点:(这里讲解如何越狱机用终端连接手机)
重点无线连接:


image.png image.png image.png 终端连接手机

重点免密登录:

上传手机到.ssh中

4. Alfred+32

Alfred+32 授权 计算器--计算结果 输入百度地址--回车直接跳转到页面

以上两个例子,还有很多功能等待你发掘...

5. XtraFinder

下载地址: http://www.trankynam.com/xtrafinder/
(让你的 Mac 资源管理器变得更加强大)

标签页 特性 Appearance 将项目添加到Finder菜单中

6.iFunBox

1.介绍

2.iFunBox是一款老牌iOS文件管理工具,可以非常方便地操作iOS中的文件.

iFunBox界面 Apple File Conduit 2

7. IDA Pro--汇编程序员的生命

IDA Pro 创建项目 找到可执行文件 iDA打开可执行文件 找到main编译的汇编代码
; int __cdecl main(int argc, const char **argv, const char **envp)
public _main
_main proc near
var_1C= dword ptr -1Ch
var_18= dword ptr -18h
var_14= dword ptr -14h
var_10= qword ptr -10h
var_4= dword ptr -4

push    rbp
mov     rbp, rsp
sub     rsp, 20h
lea     rax, cfstr_D    ; "%d"
mov     [rbp+var_4], edi
mov     [rbp+var_10], rsi
mov     [rbp+var_14], 1
mov     [rbp+var_18], 2
mov     edi, [rbp+var_14]
add     edi, [rbp+var_18]
mov     [rbp+var_1C], edi
mov     esi, [rbp+var_1C]
mov     rdi, rax
mov     al, 0
call    _NSLog
xor     eax, eax
add     rsp, 20h
pop     rbp
retn
_main endp

image.png

8.ios-app-signer-master--ipa文件重签名

下载地址:http://dantheman827.github.io/ios-app-signer/

app签名

1.介绍

2.使用

input IPA及配置信息 start及保存制定目录下 导出完成及查看制定目录下是否存在

以上我们用QQ音乐.iPA为例

以上三步,我们完成了iPA文件的重签名.
第一种方法,我们可以使用MonkeyDev安装项目试试.(MonkeyDev使用介绍在第12个工具处)
第二种方法,我们可以使用终端进行安装.(以后都有讲解,这里不再过多介绍)

9.MachOView

MachOView下载地址:http://sourceforge.net/projects/machoview/

MachOView源码地址:https://github.com/gdbinit/MachOView

MachOView image.png

如图,Mach64 Header(64位架构),选中mach header 可以看到每个类的cpu架构信息、load commands数量 、load commandssize 、file type等信息

32位架构:

struct mach_header {
    uint32_t    magic;      /* mach magic number identifier */
    cpu_type_t  cputype;    /* cpu specifier */
    cpu_subtype_t   cpusubtype; /* machine specifier */
    uint32_t    filetype;   /* type of file */
    uint32_t    ncmds;      /* number of load commands */
    uint32_t    sizeofcmds; /* the size of all the load commands */
    uint32_t    flags;      /* flags */
};

64位架构:

struct mach_header_64 {
    uint32_t    magic;      /* mach magic number identifier */
    cpu_type_t  cputype;    /* cpu specifier */
    cpu_subtype_t   cpusubtype; /* machine specifier */
    uint32_t    filetype;   /* type of file */
    uint32_t    ncmds;      /* number of load commands */
    uint32_t    sizeofcmds; /* the size of all the load commands */
    uint32_t    flags;      /* flags */
    uint32_t    reserved;   /* reserved */
};

10.Cycript

地址:http://www.cycript.org

image.png /opt/cycript image.png image.png 配置环境变量

!进入cy环境](https:https://img.haomeiwen.com/i2154347/fb944e7da4664641.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

配置好后,你就可以结合越狱机进行调试操作了.

这里就把mac系统Cy环境配置好了.

实现结果

11.theos

github地址:https://github.com/theos/theos

sudo git clone --recursive https://github.com/theos/theos.git /opt/theos

brew install ldid

!theos使用](https:https://img.haomeiwen.com/i2154347/885209eb8a447223.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

在终端模式下,使用nic.pl,就可以创建tweak工程文件.
配置环境变量 nic.pl

可以在终端中敲出nic.pl,
是在你环境变量配置好的情况下,
可以出现上面这个界面.
然后你就可以创建tweak项目工程了.
(这里不过多介绍,项目实战会介绍的)

12.MonkeyDev

(注意:monkeyDev环境配置前,需要报theos环境配置好)

sudo xcode-select -s /Applications/Xcode.app

xcode-select -p

sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-install)"

sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-uninstall)"

sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-update)"

安装/更新之后重启下Xcode再新建项目。

MonkeyApp
这样,我们就可以创建项目了.

3.总结

工具安装和配置比较考验大家的动手能力,
配置好后,
它就是你最好的朋友.
这12款软件,
对于逆向开发必不可少,
就像一把锐利的工具,
打开了app的另一个世界.
还有很多帮助性的工具需要介绍,
今天就先介绍到这里,
文章会继续更新,
更多的软件使用也会写入文章,
请持续关注.
又是该睡觉的时间了,
希望这篇文章能帮助到你.
我把软件整理后上传网盘或者github.
如果你看到这里,
你就知道了软件的下载地址.

上一篇 下一篇

猜你喜欢

热点阅读