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

  • 相关阅读:
    Jessica's Reading Problem POJ
    FatMouse and Cheese HDU
    How many ways HDU
    Humble Numbers HDU
    Doing Homework again
    Stacks of Flapjacks UVA
    Party Games UVA
    24. 两两交换链表中的节点
    面试题 03.04. 化栈为队
    999. 可以被一步捕获的棋子数
  • 原文地址:https://www.cnblogs.com/larrylawrence/p/4240907.html
Copyright © 2011-2022 走看看