在使用AndroidKiller修改smali代码,进行回编译时,有时会出现报错的情况,报错的其中一种可能是由于资源文件的混淆,可以通过绕过资源对抗的方法解决。
1资源混淆的例子分别打开AndroidKiller和模拟器,以捕鱼达人软件为例进行演示,如图1.1所示。
(图1.1)
反编译这款游戏时,如图1.2所示。
(图1.2)
重新打包,点击“编译”按钮进行回编译,此时会出现错误信息,如图2.3所示。若想解决,就要使用MT管理器,将每个资源再替回即可。
(图1.3)
2绕过资源对抗的方法1.首先安装街机达人捕鱼软件,如图1.4所示。
(图1.4)
2.利用MT管理器反编译,找到包名,如图1.5所示。
(图1.5)
3.找到包名后,接下来找到它的程序,如图1.6所示。
(图1.6)
4.点击-查看-进入,进入后,发现无法反编译它的资源文件,如图1.7所示。
(图1.7)
5.MT管理器的原理是基于压缩包里面进行反编译。因此他可以反编译单独的dex,文件,点一个进行查看,如图1.8所示。
(图1.8)
6.点击dex编辑器,任意位置空格一行,如图1.9所示。
(图1.9)
7.点击保存,如图1.10所示。
(图1.10)
8.修改完成后,直接点击上一步到最上面,它会提示退出并保存,如图1.11所示。
(图1.11)
9.保存后会有提示,点击确定即可,如图1.12所示。
(图1.12)
10.确定后,变绿表示成功,如图1.13所示。
(图1.13)
11.最后回退到上一步,点击覆盖安装即可。总的来说想要绕过一个资源混淆,只要利用MT管理器对单独class进行修改,从而绕过对资源文件的触发即可。
3小结通过本次的分享,掌握了简单资源混淆以及绕过资源对抗的方法,其中,绕过资源对抗就是使用MT管理器单独反编译一个dex而不是整体反编译,这点需要格外注意。
文章推荐 Java代码混淆 改变程序执行流程 IDA调试修改内存数据 IDA调试界面介绍及快捷键 IDA调试环境搭建 IDA静态分析