machoview-macho可视化工具

项目地址:http://sourceforge.net/projects/machoview/

代码下载地址:svn://svn.code.sf.net/p/machoview/code/trunk

Description

MachOView is a visual Mach-O file browser. It provides a complete solution for exploring and in-place editing Intel and ARM binaries.

转:http://www.xuebuyuan.com/1682523.html


使用MachOView辅助破解AppStore应用

在破解iOS应用的过程中,需要经常使用 otool 获取程序本身的信息(比如:是否启用了PIE),获取加密信息,

但是CLI的程序在直观性上还是不如GUI的,

下面描述使用MachOView来查看到相关信息。

1、加载可执行文件。

运行 MachOView 后,会提示选择文件,选择将要分析的文件,

会在后台进行分析,等待分析完毕,如下图:

machoview-macho可视化工具_第1张图片

2、文件头信息。

在左侧窗口点击“Mach Header”,如下图:

machoview-macho可视化工具_第2张图片

则右侧窗口中会显示出头信息,如下图:

machoview-macho可视化工具_第3张图片

可以看到这个程序没有 PIE。

3、查看加密信息。

在左侧窗口展开“Load Commands”,并选中“LC_ENCRYPTION_INFO”,如下图:

machoview-macho可视化工具_第4张图片

则右侧窗口显示对应的加密信息,如下图:

machoview-macho可视化工具_第5张图片

可以看到加密的偏移地址为:8192 = 0x2000

加密块的大小为:21749760 = 0x14BE000

由于没有启用 PIE,基地址固定为:0x1000

因此使用 GDB dump 加密数据的起始地址为:

(0x1000+0x2000=0x3000)~(0x1000+0x2000+0x14BE000=0x14C1000

4、修改加密标志。

将程序的加密数据替换掉后,还需要修改加密的标志,

很多文章中描述修改“加密标志”的方法为:从某个地方开始向前找“1”,不够精确。

而MachOView会给出“加密标志”在文件中的地址,如下图:

machoview-macho可视化工具_第6张图片

可以看到“加密标志”的偏移地址为:0xABC。

使用十六进制编辑器(比如:0xED)打开文件,并定位到地址“0xABC”, 如下图:

machoview-macho可视化工具_第7张图片

然后修改对应的值(1--->0),如下图:

OK,Done。


你可能感兴趣的:(machoview-macho可视化工具)