文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

浅谈Android应用安全防护和逆向分析之apk反编译

2024-04-02 19:55

关注

概述

这里是Mac环境,如果是window环境的同学,在环境搭建和工具上可以选择Window环境的。先看看需要到的工具;

1、apktool:https://ibotpeaches.github.io/Apktool/install/

2、dex2jar:https://github.com/pxb1988/dex2jar

3、jd-gui:http://jd.benow.ca

注意:工具一定要是当前最新版本的,否则很容易出现一些莫名其妙的错误。

先看一下项目的包结构

然后在简单看MainActivity中的内容。(这里给出该类的内容,只是为了后期和反编译出来的内容做个对比)

好了,下面开始我们的反编译之路了 。我们一个一个工具来说。

安装apktool

当我们下载好apktool.jar以后,可能有的人会有后缀名,都改为apktool.jar,然后终端输入命令open /usr/local/bin,然后将apktool和apktool.jar移到/usr/local/bin文件夹下,就OK了,判断apktool是否安装成功,可以通过命令:apktool 来判断

如果出现红色圈的这一大片,则说明安装成功。

注意:dex2jar和jd-gui不需要安装,直接解压即可。

使用apktool反编译

1、首先使用命令:cd xxx/xxx/xxx (xxx/xxx/xxx代表apk的存放路径)

2、使用命令:apktool d app-debug.apk (app-debug.apk是你的apk名称)

到这一步以后,会在你存放apk包的路径下生成一个文件夹

进入文件夹,你会发现,有我们项目的资源文件和xml文件。那么代码呢???没有看到,别急

在执行一个命令:apktool b xxx (xxx代表刚刚我们生成的文件夹的名称)

执行完上面的命令以后,可以看到文件夹中多了一个build文件夹,而这个build文件夹下的classes.dex文件就是我们最终需要的。

好了,apktool的工作到这里就结束了,下面我们需要另外两个工具dex2jar,jd-gui。

dex2jar

1、使用命令:cd xxx/xxx/xxx (xxx/xxx/xxx代表dex2jar的路径)

2、使用命令:sh d2j-dex2jar.sh -f xxx/xxx/xxx (xxx/xxx/xxx代表classes.dex的路径)

然后在dex2jar文件夹下会生成classes-dex2jar.jar的架包,这个包,就是我们的Java文件代码。

那么怎么看代码呢?jd-gui上场了。打开jd-gui,直接将classes-dex2jar.jar拖进来,就可以可以看到了。

对比一下最前面的MainActivity代码全部被反编译出来了。

很多人就会说,你这个项目是demo,并没有做混淆,所以可以反编译出来??但是,需要知道的是,如果做了混淆,一样可以反编译出来,只不过说里面的很多类名,方法名,变量名等等都是以a,b,c这样的形式存在,但是这种并不影响能过看出你的代码逻辑,只是给阅读增加了一丝的难度而已。所以,项目做混淆,只是最基础的一种方式,还有很多很多我们需要考虑的。

以上就是浅谈Android应用安全防护和逆向分析之apk反编译的详细内容,更多关于Android应用安全防护和逆向分析之apk反编译的资料请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯