hopper分析app文件时为什么会遇到x86(64 bits)

今天帮别人分析一个app。
他发过来一个app。我就顺手把二进制拖到了hopper里面去分析,结果出现了这个玩意:


hopper分析app文件时为什么会遇到x86(64 bits)_第1张图片
CEF865EA-5D00-4F90-9985-4BDE2AC23DFA.png

我一开始我以为是砸壳失败。想了想这是不可能。
后来才以为这是有人故意修改了CPU Type和CPU subType。好吧,以为就是这样,我就用01editor去修复这个问题。
修复完,拖到Hopper 我满意的笑了:


hopper分析app文件时为什么会遇到x86(64 bits)_第2张图片
151F8F5F-E6F2-4ED7-81CB-0D398E02897D.png

真的变为AArch64了。可是用Hopper一打开部分居然还是inter x86汇编指令。里面好多地方都不识别。。出现乱码。。。难道我修改的不对,别人不仅仅修改了 type ??
我的手机死活重签app都无法安装。我意识我改的不对了,遇到高人了。。

下午在公司,同事说我重签的企业证书可以安装。。。但是 我怎么安装不了呢。我回想 了一下,可能不是我修改不对。试了几次后,我发现只要从我电脑签名的app或者打包 的app都无法安装。。/(ㄒoㄒ)/~~,可能是升级系统后导致的。
看来不一定是修复的不对,先放这了。。。。。

晚上群里有问修复兼容问题的技术吗。这时候我这会刚好需要有人帮我签名,说说顺便让我帮他看看。我突然他可执行文件只有arm v7可执行文件。缺少了AArch64.会出现这个种情况:


hopper分析app文件时为什么会遇到x86(64 bits)_第3张图片
7ACDC955EAD5AAA5C16A203994540F47.jpg

后来他帮我签名完发给我,我安心看我的,突然她说你的也出现这种情况。我赶紧去看了下,我有点击了手机灰色的app图标(未安装成功),真的出现这个,我才恍然大悟,这肯定是ios11 找不到AArch64,又不接受x86(64bit)才报这个错的。看来这个x86(64bit)是没用的,就是用来迷惑人的。看来能ios11以下能运行全是ARM v7来支持的。

那么这个砸壳app怎么会出现这个呢,猜想就是是他们下载这个app的越狱平台故意的。最好的办法换个平台,要么自己砸壳。虽然麻烦些。

我后来想想了,于是就开始还原了这个神操作:
我用hopper 吧这个可执行文件其中一种cpu平台二进制导出来叫xx1,然后我又去模拟器随便跑了一个,这里肯定是x86的二进制文件,叫xx2。
最后我们只要用动态库合并的命令来合并即可。
合拼命令如下:

lipo -create Pupie1 Pupie2 -output pupie3

用hopper 查看,就会出现开始的画面。

你可能感兴趣的:(hopper分析app文件时为什么会遇到x86(64 bits))