逆向工程iOS逆向

3.汇编逆向工具集

2018-04-27  本文已影响450人  木子心语

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

1.逆向汇编工具

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

鸟瞰城堡.png

具备了这些工具,你就可以看一下App中的内部结构,App一下子变得很透明.
所以对App的安全防护是非常重要的.

2.汇编逆向工具安装

1.pp助手

pp助手.png 已经下载好的应用 从Finder中获取ipa包

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

go2shell.png

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

3. iTerm2

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

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

重点无线连接:

1.jpg 2.jpg 3.jpg

重点有线连接:
我们要用到的工具是一个python脚本工具和2个shell脚本:

重点免密登录:

4. Alfred+32

Alfred+32.png 输入百度地址--回车直接跳转到页面.png

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

5. XtraFinder

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

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

6.iFunBox

1.介绍

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

iFunBox界面.png Apple File Conduit 2.jpg

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

IDA Pro.png
; 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

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

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

app签名.png

1.介绍

2.使用

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

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

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

9.MachOView

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

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

MachOView.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

Cycript是由saurik推出的一款脚本语言,可以看作是Objective-JavaScript.

cycript.png

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

Cycript

以百度外卖为例

添加弹出框 实现结果

11.theos

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

sudo git clone --recursive https://github.com/theos/theos.git /opt/theos
brew install ldid
配置环境变量.png

可以在终端中敲出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再新建项目。

3.总结

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

上一篇 下一篇

猜你喜欢

热点阅读