Android Native So加壳技术总结

1 Android SO加壳要是对针对以下两点
1. 对elf文件加壳及针对so文件 
2. 对于在so加载,调用机制做特殊处理
2 加壳思路
简单 : 加密 + 拆解 + 混淆 
复杂 : StolenCode  在VM中进行

如果想要自己写一套加壳工具的话,第一步必须要了解elf文件结构,了解so库的加载机制,然后自己写套加壳工具  
解读 
其实so库就相当于android中library库,在android runtime时期被加载进来通过java层去调用,所要对elf文件加壳后还需要一些特殊的处理 。 

比如:
1。 在load so库以后,会将so中信息存储在一个全局的链表中,保证脱壳后的so文件可以被全局的链表访问到

2。android中so文件被java层调用有两种方式 : 
   1. registerNative注册
   2. 通过java命名规则命名
  
因此在加壳的时候必须要保证所有的库函数都能被掉用,剩下的就只需要通过过反调试(Anti tricks)的方法增加破解者耐心,最后耗死他,比如现在的我。

3  对于新人来说一定会有几个问题
 1  so中信息存储到全局的链表,链表在哪里?
 2  registerNative 注册又是在哪里 ? 

一定要深入详细的了解elf文件结构,了解so库的加载机制

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值