zoukankan      html  css  js  c++  java
  • ZIP伪加密(deprecated)

    ZIP伪加密

    经过伪加密的apk,改成zip格式打开会发现里面的文件都经过了加密。

    APK实际上是Zip压缩文件,但是Android系统在解析APK文件时,和传统的解压压缩软件在解析Zip文件时存在差异,利用这种差异可以实现给APK伪加密的功能。在Zip结构中,Central Directory部分的File Header头文件中,有一个2字节长的名为 General purpose bit flags的字符按,其中如果第0位置1,则表示Zip文件的该Central Directory是加密的,若果使用传统的解压缩软件打开这个Zip文件,在解压该部分Central Directory 文件时,需要输入密码。当然,用APKTOOL也无法解压。

     
    对apk伪加密实现,可以使用Python的zipFile模块来做,在Python的zipfile模块中,ZipInfo类中记录了Zip文件中相应的Central Driectory 的相关信息,包括General purpose bit flags, 在ZipInfo类中属性为flag_bits, 因此将需要加密的APK文件的每个ZipInfo的flag_bits和1做或操作,实现在General purpose bit flags的第0位置1.
     
    用这段代码(已经是2013年的了):http://bbs.pediy.com/showthread.php?t=174825
    C:UsersLarryDesktop>java -jar ZipCenOp.jar
    tastypear@gmail.com
    coolapk.com
    no source here, but u can reverse as u like
    
    usage:
    ZipCenOp.jar <option> <file>
    option:
            r : recover a PKZip
            e : do a fake encryption

    进行伪加密:

    C:UsersLarryDesktop>java -jar ZipCenOp.jar e 1.apk

    然后安装,提示:Failure [INSTALL_FAILED_INVALID_APK]

    然后解密,安装,提示:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

    又听闻新版本系统已经不接受为加密过的APK了。此种方法已经没意义了。不过源码还是可以学学的。不得不感叹技术变化得太快,尤其安全方面,需要不停学习啊。

    REFERENCE:http://1.honebl.sinaapp.com/?p=43

  • 相关阅读:
    容灾、备份、存储
    春节前后学习实践的技术领域
    C#高级编程技术复习一
    利用投影制作多边框
    利用循环调用同一个函数
    IOS NSURLRequest(http请求)讲解 ---------赎罪之路
    IOS SQLite基本操作
    数据库三凡式通俗解析(转载)
    数据库设计原则(转载)
    MusicRadio ----------项目分享
  • 原文地址:https://www.cnblogs.com/larrylawrence/p/4240907.html
Copyright © 2011-2022 走看看