关闭

android逆向分析之反编译

标签: 反编译逆向android
2721人阅读 评论(2) 收藏 举报
分类:

提到逆向工程,首先就要提到反编译,对于反编译,现在工具还是比较多的,市面上广泛应用的三神器(apktool、dex2jar、jdgui),本篇主要围绕着三神器展开,后面还会阐述smali和使用smali2java。我是通过这三神器入门的,最初的时候,通过反编译去看一些公司的架构和一些功能的实现,还是挺嗨的,但是伴随着软件安全意识的加强,还有各个公司对自己产品的保护,现在反编译的难度越来越大的,可读性也随之低了好多,从之前的混淆到现在的加壳,还有一些大公司更是通过C/C++实现代码更加安全。。。

不多说,就是干,今天就围绕某个保险公司的产品展开(这是之前别人让我做的一个私活,修改内部的一个功能)。apk本身就是一个压缩包,可以直接解压,解压完成后,一级目录会有一个classes.dex文件,此时把文件拷贝到dex2jar文件夹下,找到dex2jar.bat文件(我是在Windows环境下),通过cmd打开操作窗口,把dex2jar.bat拖到操作窗口,一个空格后在拖入classes.dex文件,一个回车就ok,如图所示:

这里写图片描述

完成此操作后,便会生成一个jar文件。

这里写图片描述

通过jdgui打开,如下

这里写图片描述

虽然此保险公司在全国都很出名,大个子还代言过,这代码安全方面确实有点汗颜,没加壳也没做混淆,赤裸裸的暴露出来了。。。

此时,我们拿到的仅仅是源代码,对于资源文件,打开后都是乱码,说到这里,apktool闪亮登场了,通过操作窗口键入到apktool文件夹下,apktool d jst.apk这是反编译命令。通常情况下,我是把要反编译的文件放在apktool文件夹下,这样不用担心路径的问题,过程和结果如下:

这里写图片描述
PS:这是我的路径,需要填写自己apktool的路径。

这里写图片描述

这里写图片描述

现在的xml文件,可以通过记事本或者文本编辑工具直接打开,如果需要修改一些代码和功能,smali文件夹下面找到对应的文件进行修改,修改完后的文件,通过apk b jst直接打包,是对文件夹打包,注意的是jst没有后缀,此处未做签名校验,签名后便可以安装运行。

这里写图片描述

这里写图片描述

工具链接(apktool、dex2jar、jdgui、Smali2Java)

8
5
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

【Bugly干货分享】手把手教你逆向分析 Android 程序

第一张图是在把代码注入到地图里面,启动首页的时候弹出个浮窗,下载网络的图片,苍老师你们不会不认识吧?第二张图是微信运动步数作弊,6不6? ok,那我们从头说起1.反编译Android 的反编译,相信...
  • Tencent_Bugly
  • Tencent_Bugly
  • 2016-05-16 12:46
  • 21009

Android逆向分析学习与研究(1)————工欲善其事必先利其器

注:头连天参加一个慕课网的活动发表的文章,从哪里搬到这里来 一.什么是逆向     所谓逆向,就是对于程序的“逆向工程”,英文叫“reverse”,是计算机安全领域中一项重要的技术。常见...
  • C_Major
  • C_Major
  • 2014-12-16 11:10
  • 2742

Android安全攻防战,反编译与混淆技术完全解析(上)

我们都知道,Android程序打完包之后得到的是一个APK文件,这个文件是可以直接安装到任何Android手机上的,我们反编译其实也就是对这个APK文件进行反编译。Android的反编译主要又分为两个...
  • sinyu890807
  • sinyu890807
  • 2016-02-18 09:09
  • 88198

Android开发学习之路--逆向分析反编译

一般情况下我们想要了解别人的app怎么实现这个动画,这个效果的时候,总是会想到反编译一下,看下布局,看下代码实现。对,这对于有经验的玩家确实手到擒来了,但是初学者,根本就不知道怎么反编译,怎么看代码,...
  • eastmoon502136
  • eastmoon502136
  • 2016-08-25 11:29
  • 5310

android逆向分析之反编译

提到逆向工程,首先就要提到反编译,对于反编译,现在工具还是比较多的,市面上广泛应用的三神器(apktool、dex2jar、jdgui),本篇主要围绕着三神器展开,后面还会阐述smali和使用smal...
  • pangpang123654
  • pangpang123654
  • 2016-10-19 22:13
  • 2721

Android开发学习之路--逆向分析反编译

一般情况下我们想要了解别人的app怎么实现这个动画,这个效果的时候,总是会想到反编译一下,看下布局,看下代码实现。对,这对于有经验的玩家确实手到擒来了,但是初学者,根本就不知道怎么反编译,怎么看代码,...
  • eastmoon502136
  • eastmoon502136
  • 2016-08-25 11:29
  • 5310

Android应用逆向——分析反编译代码之大神器

如果说使用dex2jar和JD-GUI获得了一个APP反编译后的JAVA代码,再结合smali代码调试器来进行调试还不够爽,不够畅快的话,下面将介绍一个帮助分析代码执行流程的大神器。这个神器优点很多,...
  • CharlesSimonyi
  • CharlesSimonyi
  • 2016-07-25 21:18
  • 4928

Android逆向分析(一) - 反编译看看手Q口令红包的实现原理

本系列文章是《Android软件安全与逆向分析》的实践笔记(一些工具的版本和用法已经不同了),同时笔者希望系统性地记录一下逆向方面的文字和想法。犹记得在大学的时候,曾经学过一段时间的逆向工程,现在只记...
  • richie0006
  • richie0006
  • 2016-03-03 18:08
  • 1362

Android逆向分析(一) - 反编译看看手Q口令红包的实现原理

本系列文章是《Android软件安全与逆向分析》的实践笔记(一些工具的版本和用法已经不同了),同时笔者希望系统性地记录一下逆向方面的文字和想法。 第一篇作为开始,先讲讲简单的反编译和如何跟踪一些逻辑...
  • marktheone
  • marktheone
  • 2016-02-09 13:21
  • 2040

【Android安全】APK静态分析-DEX反编译为Smali逆向分析

还是用之前写的一个实例,界面包含2个文本框,2个按钮,判断2个文本框中内容是否相等,相等返回成功,不等返回失败,使用apktool工具获取反编译后的smali文件,本实例中只包含3个smail文件,M...
  • jiayanhui2877
  • jiayanhui2877
  • 2014-11-12 16:14
  • 4938
    个人资料
    • 访问:250134次
    • 积分:2874
    • 等级:
    • 排名:第14230名
    • 原创:44篇
    • 转载:0篇
    • 译文:0篇
    • 评论:321条
    QQ交流群

    Android路上

    611566797
    博客专栏
    我的公众号