zoukankan      html  css  js  c++  java
  • apk防止反编译

            作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。那么我们改如何防止程序被恶意的反编译窃取源代码呢,这里记录两种解决方式:
    1:通过代码混淆(具体混淆方法,网上有很多例子,这里就不做记录),但是代码混淆只是加深了代码的阅读难道,并不能完全解决防止反编译问题,
    2.采用第三方提供的加固工具:如 360加固宝http://jiagu.360.cn/protect/  , 这种方式是在线加固,需要注册360开发者账号,审核通过
    注册此种方式加密的是java源文件部分,对应资源文件部分是没有起到加密作用的。
    现在介绍操作步骤:
    1;注册,开通账号
    2:上传应用:注意上传的apk是通过正式签名打包的apk

    如图,上传完成 ,当前状态是 显示 正在加固中,大概10分钟左右会出现加固成功,表示apk加固成功。
    注:测试过程中出现,加固失败的请求(重新上传即可)

    3.重新签名加固后的apk:
    下面介绍如何重新签名:

    签名工具使用流程
    一、准备工作:

    1、 下载加固后的应用安装包。请在“应用保护记录”页面,选择需您进行加固保护后要发布的应用,进行下载。
    1111.jpg 

    2、 下载签名工具,并解压缩。解压缩。解压后是两个文件夹,选择keystore签名工具。
    3、 联系您应用的开发人员索要密码和签名文件(扩展名为jks或keystore的文件)。


    二、操作步骤:
    1、 双击运行360Signer.exe文件,出现如下界面:
    22.jpg 
    2014-4-3 11:19 上传
    下载附件 (28.8 KB)

    2、 点击“请选择”,找到您的APK包所在路径并框选文件进行选择。
    3、 点击“请选择Keystore路径下的‘请选择’”,选择签名文件(***.jks或***.keystore)存放的路径并输入密码。
    注意: 签名文件和密码可以找您应用的开发人员索要。
    4、 输入路径和密码后,会自动填充别名,接着再输入一次密码。
    5、 输入签名后文件的保存路径和文件名(默认为待签名文件的路径,文件名为原文件名加上signedAligned)。
    注:签名后的文件已自动进行了Zipalign对齐,可直接上传google play市场
    6、 点击 ”一键签名“,请稍等5秒钟,弹出”签名成功“的状态栏,签名成功。
    333.jpg 

    7、 在签名后路径下找到已被签名的文件,即可在平台上传发布啦。
    8 、 支持批量签名:可一次性选择多个需要签名的文件,一次性完成多个加固文件的签名工作
    aa.png 
    注: 加固后的apk出现下载失败的情况,重新上传加固,可以解决这个问题

    至此apk加密完成。

    2015-08-27
    现在通过反编译,对比下加固前后的情况:
    加密前,反编译后的java源码,工程结构,清晰可见。



    加密后:工程结构都不可见啦,只有两个类,这两个类并不是我们自己项目的代码,而是360的代码。







  • 相关阅读:
    阿里云 CDN+OSS 解决方案
    一次完整的HTTP请求过程
    apache多站点配置中ServerAlias什么意思
    legend3---apache配置https
    legend3---Fiddler如何抓手机app的包
    Fiddler:增加IP列
    http请求报文格式和响应报文格式
    http请求头中Referer的含义和作用
    Chrome保存的HAR文件怎么打开
    Android Studio 错误 Duplicate files copied in APK META-INF/LICENSE.txt
  • 原文地址:https://www.cnblogs.com/xiaoxiao-study/p/a92ad29fcdb222d9399df413c4cf0e58.html
Copyright © 2011-2022 走看看