zoukankan      html  css  js  c++  java
  • 爱加密企业版静态脱壳机编写

    0x00:APK加固简介

    •    大家都知道Android中的程序反编译比较简单,辛苦开发出一个APK轻易被人反编译了,所以现在就有很多APK加固的第三方平台,比如爱加密和梆梆加固、360加固等。
    •  一般的加固保护通常能够提供如下保护:加密、防逆向、防篡改、反调试、反窃取等功能。

    0x01:爱加密流程简单分析(dalvik)

    0x02:壳运行流程大致如下:

    0x03:爱加密企业版加固后Apk反编译如下

    从上图可以看到方法指令都被抽走了 。

    0x04:静态脱壳机编写

    加壳时将方法指令抽走后自定义格式加密存放在assets/ijiami.ajm文件中,通过IDA动态调试分析发现每个被抽走的方法的debuginfo值改成0X3F开始的8字节大不的值,该值在还原时做为Map的KEY。

    还原后的结构大致如下:

    壳还原指令时流程如下:

    • 写静态脱壳机须要还原解密算法,它的数据又做了多重加密所以要还原多个算法,其实算法本身并不复杂,但爱加密壳做了混淆,所以比较难找有用的指令,还原后的其中一个算法如下:
    • 0x05:测试与总结

      • 将解密后的指令填充到DEX后能正常反编译出源代码。
      • OLLVM混淆后的代码分析起来目前对于我个人来说有两个难点:
      • 1.很难理清程序流程逻辑。
      • 2.还原算法时不好提取出有用的代码。
      • 代码与样本下载:链接: https://pan.baidu.com/s/1slsBYxf 密码: 87xa
  • 相关阅读:
    Codeforces441B_Valera and Fruits(暴力)
    《Python核心编程》第五章:数字
    app-framework学习--Scroller
    饿了么移动APP的架构演进
    移动支付--银联,支付宝,微信(android)
    android推送,极光推送
    Flume 1.7 源代码分析(四)从Source写数据到Channel
    <html>
    软件系统演示脚本实践(草稿)
    mmu介绍
  • 原文地址:https://www.cnblogs.com/2014asm/p/6534189.html
Copyright © 2011-2022 走看看