• 个人技术博客二之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'
    }

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

  • 相关阅读:
    Educational Codeforces Round 20 D. Magazine Ad
    Educational Codeforces Round 20 C. Maximal GCD
    紫书第三章训练2 暴力集
    Educational Codeforces Round 20 B. Distances to Zero
    Educational Codeforces Round 20 A. Maximal Binary Matrix
    紫书第三章训练1 D
    紫书第一章训练1 D -Message Decoding
    HAZU校赛 Problem K: Deadline
    Mutual Training for Wannafly Union #8 D
    紫书第三章训练1 E
  • 原文地址:https://www.cnblogs.com/dushide/p/7823855.html
Copyright © 2020-2023  润新知