Android平台的防破解及逆向工程心得

Android平台的防破解及逆向工程心得
作者:雨水,日期:2016-08-31  CSDN博客:  http://blog.csdn.net/gobitan/
摘要:Android防破解与逆向工程是一个东西的两个方面,开发者想尽可能的隐藏代码细节,而逆向工程想尽可能挖掘apk的内部。本文介绍了最近接触到的一些防破解以及破解方法。

一种通过runtime绑定的防破解方法
第一级别的防破解方法:这是最普通的防破解办法。就是对Java代码做混淆处理,目前经过混淆的代码基本上还是能被还原80-90%。最常见的工具包括apktool,dex2jar以及Onekey-Decompile-Apk等等。尤其是一键反编译这个工具很好用。
第二级别的防破解方法:把重要的,想隐藏的代码用C来写,放在so文件中,增加破解的难度。这个在破解的难度上确实增加了,要去破解so文件,难度确实增加不少。但有个缺点就是so文件对外的接口暴露无遗。包括输入和输出参数等清清楚楚,而且很容易通过挂钩子等方法来掌握so文件提供的方法。
第三级别的防破解方法:通过runtime运行时绑定接口,将接口和实现都放到so文件中,只有调用的地方可以看到调用接口。不清楚的就会奇怪为什么跟到一个调用接口发现跟丢了,而该方法又不带有native。这个是通过JNI的JNI_OnLoad动态绑定上去的。

常见的破解方法
最常见破解方法
就是上面提到的apktool, dex2jar及Onekey-Decompile-Apk;

通过Xposed挂钩子的方法
Xposed是一个很强大的工具,可以不用修改apk代码就可以观察或者修改apk的运行,类似写一个插件。具体我就不介绍了,详细参见 https://github.com/rovo89/XposedBridge/wiki/Development-tutorial

通过IDA工具破解so文件
IDA是一个非常专业的so文件反编译工具,有很强大的插件。具体不详细介绍,网上去搜。

参考资料:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gobitan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值