请选择 进入手机版 | 继续访问电脑版
查看: 9970|回复: 1964

360加固静态脱壳

[复制链接]
  • TA的每日心情

    昨天 18:11
  • 签到天数: 612 天

    [LV.9]以坛为家II

    发表于 2016-2-18 15:02:44 | 显示全部楼层 |阅读模式
    本文章转自看雪@UndeadFu

    执行脚本360,可以直接获得classes_final.dex,即还原的dex文件。
    代码内部逻辑为:
    key_short->key_long->class_begin->class_media->class_almost->class_final
    其中每个过程的功能如下:
    1.从当前classes.dex文件中,根据数据固有的特征,获得加密后的classes.dex文件保存在当前文件中的长度和文件中保存的key的长度,根据前面获得的key的长度获得一串字符。对数据进行简单的处理,可以得到一个长度为0x10的有效数据作为原始的key。
    2.新建一个长度为0x100的字符数组,用0-0xFF按顺序填充。然后利用key,按照一定算法将该数组打乱,作为解密数据直接使用的key值。
    3.从当前classes.dex文件中,根据数据特征,获得经过加密的原classes.dex数据。
    4.将第3步获得的数据与第2步获得的key相互作用,得到初始解密的classes.dex数据。
    5.第4步获得的初始解密的classes.dex数据是被压缩过的。将数据进行解压操作,会获得一段接近原classes.dex的数据。
    6.将第5步获得的数据的前0x70个字节与一个特殊的数据进行异或操作,将得到被还原的classes.dex文件。

    详细过程:
    1.从当前classes.dex文件中寻找key。
    在文件中寻找一段”9RRTRRRB ……的字符串。该字符串前面8个字节处记录了原classes.dex保存在当前文件中的信息长度,前4个字节处记录了保存在文件中的key_1的长度。从这段字符串的起始位置开始,根据刚获得的key_1的长度读取key_1。
    对获得的字符串进行处理。将获得的key_1作为一个字符数组,每个值与自身下标进行异或处理后重新赋值。从第二个元素开始,每个元素与前一个元素进行异或处理后重新赋值。得到一个全新的数组。
    取该数组的后16位,按照其下标除16的余数排序后存入一个长度为0x10的数组中。得到全新的key_2。



    2.根据获得的key_2将一个有0-0xFF按顺序组成的数组buf_1打乱,组成新的key_3。
    打乱方法:key_2复制9份,组成长度为0x100的buf_2;
              取一个临时变量tem = 0;
              做循环(i从0递增到0xFF):         
                     tem = (tem + buf_2 + buf_1)& 0xFF;
                     交换buf_1和buf_1[tem]的数值;
    3.同样寻找第一步中的特征字符串,在key_1后8个字节即原classes.dex文件加密后的数据code_1。读取长度在这段数据前4个字节处。可以得到完整的加密文件。
    4.将key_3与code_1按顺序进行异或操作。在key_3结束后再从头开始,一直循环到整个code_1结束。获得code_2。(对应文件classes)
    5.获得的code_2是一段被压缩过的数据。进行解密操作,可以得到接近原classes.dex文件的数据,只有前0x70个字节与原文件不同。


    6.将最后获得的数据的前0x70个字节与一个数字进行异或即可。该数据可以由第一个字节与’d’异或得到。

    代码请到看雪自行下载:
    游客,如果您要查看本帖隐藏内容请回复
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2017-3-10 19:06
  • 签到天数: 163 天

    [LV.7]常住居民III

    发表于 2016-2-18 21:23:50 | 显示全部楼层
    本帖最后由 青青子衿、 于 2016-3-26 21:39 编辑

    666,前排支持
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-2-27 09:39
  • 签到天数: 111 天

    [LV.6]常住居民II

    发表于 2016-2-18 23:47:47 | 显示全部楼层
    看看什么代码?是安卓的吧?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-2-19 01:49:39 | 显示全部楼层
    支持中国红客联盟(ihonker.org)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-3-4 11:35
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2016-2-19 07:34:33 | 显示全部楼层
    支持中国红客联盟(ihonker.org)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-2-19 10:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2016-2-19 11:04:56 | 显示全部楼层
    谢谢楼主的分享。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-3-4 11:35
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2016-2-19 13:21:43 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-10-24 10:52
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2016-2-20 01:56:10 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-2-20 05:33:21 | 显示全部楼层
    支持,看起来不错呢!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-6-21 22:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2016-2-20 10:17:19 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表