对so进行section加密后,提示.dynamic section header was not found
来源:互联网 发布:山东大学怎么样知乎 编辑:程序博客网 时间:2024/06/05 18:50
如果对so库中的section进行加密可详见:
http://www.wjdiankong.cn/android%E9%80%86%E5%90%91%E4%B9%8B%E6%97%85-%E5%9F%BA%E4%BA%8E%E5%AF%B9so%E4%B8%AD%E7%9A%84section%E5%8A%A0%E5%AF%86%E6%8A%80%E6%9C%AF%E5%AE%9E%E7%8E%B0so%E5%8A%A0%E5%9B%BA/
加密思路:读取ELF文件,根据Section Header中的name来定位自定义的section。根据Section Header中的offset和size来提取该段字节并对其进行加密。同时修改ELF Header中的entry和shoff值来保存加密的大小和偏移量。
解密:执行so库方法之前,读取so的起始地址,并获取到ELF Header中的entry和shoff,根据加密规则推导出加密起始地址和大小。然后根据起始地址和大小获取对应的字节进行解密。
遇到问题:Android7.0后JNI库必须保留Section Headers。由于加密时修改了shoff值,导致加载so库值解析Section Headers 解析不了,包.dynamic section header was not found。
修改测量:shoff和entry目的是为了存储加密的偏移大小和加密的大小。我们可以使用entry高低16位来分别存储着两个值。即可解决该问题。
阅读全文
0 0
- 对so进行section加密后,提示.dynamic section header was not found
- 基于对so中的section加密技术实现so加固
- Android逆向之旅---基于对so中的section加密技术实现so加固
- Android逆向之旅---基于对so中的section加密技术实现so加固
- Android逆向之旅---基于对so中的section加密技术实现so加固
- 加密SO文件中自定义的section
- 加密SO文件中自定义的section
- 加密SO文件中自定义的section
- ELF Section Header 分析
- 改变section header颜色
- 基于section加密的.so加固学习笔记
- section
- Section()
- cfg 字节序问题Section not found: must start with section
- swift -- 更改 tableview section header
- 分组:UITableView header 以及section header 用法
- 安装cadence后,打开文件,提示orcad capture license was not found
- Encountered a section with no Package: header
- weblogic启动时闪退
- P1349 广义斐波那契数列(矩阵的应用)
- 欧拉角(Euler angles)
- IT行业风投
- SpringBoot入门-6(利用jpa连接hibernate,并进行生成表,对表的增加,删除,查询操作)
- 对so进行section加密后,提示.dynamic section header was not found
- 机器学习 学习记录(一)
- spring mvc 5.0 HelloWorld 01
- 从零开始教你训练神经网络(附公式&学习资源)
- Window Server 2003默认允许同时远程连接数为2,超过2个连接无法连接成功
- 使POI进行Excel数据的导出
- pip upgrade批量更新过期的python库
- Arcgis Javascript中geometryEngine报错’hq‘of undefined的解决方法
- 学习Ajax—入门篇03