textrelro 解决

android 官网推荐的解决方案:https://wiki.gentoo.org/wiki/Hardened/Textrels_Guide

下面是实例:

[==========] upload files
libs/armeabi-v7a/libplayer-1.1.7.so: 1 file pushed. 6.0 MB/s (10630176 bytes in 1.690s)
libs/armeabi-v7a/test_player: 1 file pushed. 5.8 MB/s (493264 bytes in 0.080s)
libs/armeabi-v7a/gdbserver: 1 file pushed. 6.1 MB/s (596484 bytes in 0.094s)
[==========] run tests
WARNING: linker: /data/local/tmp/libplayer-1.1.7.so has text relocations. This is wasting memory and prevents security hardening. Please fix.

在link libplayer-1.1.7.so 发现有text relocations;textrelor 即有安全隐患,有浪费空间。

 

现在问题暴露出来了,在android sdk 23之后要求消除 text relocations;下面是消除步骤:

1,下载elf 扫描工具

202423_dTgA_269082.png

2,扫描 text relocation 位置。

 scanelf -qT out/target/product/generic/symbols/system/lib/libplayer-1.1.7.so

202732_1v0g_269082.png

3,查找没有解析出来的symbols 0x47d724

arm-linux-androideabi-objdump -d out/target/product/generic/symbols/system/lib/libplayer-1.1.7.so > libplayer-1.1.7.so.s

203229_M86h_269082.png

转载于:https://my.oschina.net/u/269082/blog/1606370

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值