zoukankan      html  css  js  c++  java
  • 个人技术博客二之apk反编译与加密

    根据原文郭霖大神的博客Android安全攻防战,反编译与混淆技术完全解析

    本人亲测反编译真的没有什么卵用,个人纯属好奇就去搜了一下,偷窃有罪,抄袭可耻。

    • 1.手机上的apk都是打包好的,直接安装使用。刚开始使用就是用的三个软件,后来又找到一个集三个软件大成的软件。后来更新了Android studio3.0发现它里面好像也有这个功能了。对于大神来说是有用的,貌似可以去广告神马的。对于我来说一开始是想看看成熟的软件是怎么写的,想到汇编都能反编译为什么apk不行?后来一搜真有。当时是高兴的,但是后来随着深入,我知道了反汇编也没用。知道了大多数都是有加密的,没有加密的你也是看不懂的这种。现在写这篇博客就是想告诉自己和他人,老老实实学技术,自己会的才是真的会的。抄袭加倍罚分数,助教们这招真的好。老老实实的去学习。说了这么多,不继续废话了,怎么样也算自己了解过的技术,就写出来让大家娱乐娱乐,引以为戒,不要浪费时间。
    • 2.首先介绍入门级三个软件
      • 1.apktool,下载后拿到apktool.bat和apktool.jar,然后把这两个工具放到哪都行。这个工具的作用主要是得到apk的资源文件和配置文件
      • 2.dex2jar 下载这个工具解压后放到任意盘都可以,后面主要用这个根据apk的classes.dev文件生成供jd-gui工具解析的jar。
      • 3.jd-gui上一步提到其作用,和2一样,也是下载后放到任意盘即可,到时候只要运行jd-gui.exe打开上一步生成的jar即可查看源码

        这是准备就绪了
        之后apktool d [-s] -f com.thinkernote.Team.apk -o app1
        com.thinkernote.Team.apk是一个已有的apk,这句的意思是把它反汇编之后的文件放到app1文件中。


        下面使用dex2jar
        • 1.把你将要反编译的apk的扩展名改成压缩包的扩展名(rarzip等),然后对其解压,找到classes.dev文件,将之复制后贴到dex2jar底下
        • 2.命令行下输入d2j-dex2jar.bat classes.dex
          这是我第一步搞好的

          执行第二步

          结果


          得到classes_dex2jar.jar了,前面说了jd-gui的作用了,直接打开这个就行了,得到的就是源代码了。
    • 3.没错现在你可能感觉很开心以为你得到了as上能用的源代码。我当时也是这么想的,但是打开一看就心里凉了半截,虽然这份没加密

      这是我在Git上为了演示得到的app

    有的加密了里面就会是

    完全被混淆的这种,类名变成123,abc之类的完全无法阅读。这是为什么呢?
    原来这里面带有as自带的防止你反汇编的机制
    在Android Studio当中混淆APK实在是太简单了,借助SDK中自带的Proguard工具,只需要修改build.gradle中的一行配置即可。可以看到,现在build.gradle中minifyEnabled的值是false,这里我们只需要把值改成true,打出来的APK包就会是混淆过的了。如下所示:

    release {
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

    这样就被混淆了。你在怎么厉害也没办法。剩下的几种我就不介绍了,原理都一样,学习永远没有近路,脚踏实地,老老实实。

  • 相关阅读:
    【数字图像处理】 形态学转换
    【数字图像处理】阈值处理
    【数字图像处理】 图像平滑
    【数字图像处理】直方图均衡化
    【Tool】Augmentor和imgaug——python图像数据增强库
    [caffe] caffe训练tricks
    [Papers] Semantic Segmentation Papers(1)
    【Computer Vision】 复现分割网络(1)——SegNet
    Comet OJ
    NOI2019游记 —— 夏花般绚烂,繁星般璀璨
  • 原文地址:https://www.cnblogs.com/dushide/p/7823855.html
Copyright © 2011-2022 走看看