Android中实现「类方法指令抽取方式」加固方案原理解析

一、前言

Android中加固方案一直在进步,因为新的加固方案出来就会被人无情的破解脱壳了,从第一代加固方案落地加密dex文件,第二代加固方案不落地加密dex文件,在到第三代加固方案类方法抽取,以后后面的更多加固方案来说都是安全的进步,关于脱壳方案网上有很多资料,但是加固方案却没多少资料,因为有些加固方案是一些加固公司的商业机密不可泄露的,所以我们现在看到的网上加固方案还是以前的加固方案,不了解以前的加固方案同学,可以看我写的逆向大黄书「Android应用安全防护和逆向分析」,而本文就来介绍如何实现类方法抽取方案来实现应用加固。

 

二、指令抽取方案

首先不多说,这种方案依赖的技术就是拦截系统的加载类函数,然后进行类方法指令还原。所以这个技术必须了解,好在我们在之前一篇文章中已经详细介绍了如何在native层拦截系统函数实现应用方法指令篡改,不了解的同学可以看这篇文章:Android中Hook系统函数实现运行时态篡改方法执行逻辑;本文的技术是依赖于这篇文章,如果这篇文章没看明白,那么本文将很难看懂。一定要先看这篇文章。不多说了,我们在介绍加固方案主要从两方面入手,一方面是如何进行指令抽取,一方面是如何进行指令还原,所以下面先来介绍如何进行类方法的指令抽取功能。

我们还是先用之前的工程作为案例:

在这个类中,我们定义了一个获取密码的方法:

现在为了安全,我们将这个方法信息置空,可以先用010Editor工具查看这个方法的指令信息:

看到这个方法包含了3个指令,那么我们如何将其设置成0呢?这里就需要自己写个工具了ÿ

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值