Android O本机库(.so)ELF W + E警告,编辑二进制文件

时间:2017-10-27 08:57:09

标签: android binary native executable writable

我有一个(较旧的)Android应用程序,其targetSDK设置为19,包含一些本机库(.so文件),并且在API 23之前的设备上运行良好。

在Android O设备上运行仍然使用targetSdk 19且几乎没有代码或清单或任何其他类型的更改的构建会引发此警告:

enter image description here

...如果我们尝试使用targetSdk 26运行构建,则会变成错误。

现在我们已经被要求修复此警告,暂时将应用程序放在目标19上。问题是我们的客户端没有这个本机模块的源代码所以我开始查看这些头文件是什么,以及是否可以在没有代码和重建本机库的情况下更改它们。我发现HT编辑器允许通过直接编辑so文件来改变标志:

enter image description here

我的问题是,直接入侵二进制文件的后果是什么,通常我的意思是,我知道可能存在与我的应用程序相关的特定问题。

如果在对一台设备进行彻底的回归测试后发现应用程序工作正常,那么由于这种黑客攻击而导致某个地方意外崩溃的可能性高于因为常规代码更改可能会产生错误测试期间未检测到?

我正在寻找的答案是 - 这是我的客户在生产中使用此应用程序的可行解决方案,以防他们无法获得从第三方开发人员正确构建的代码或新库吗? / p>

我找到了一些线程,询问修复此警告,但没有一个有令人满意的答案,也没有涉及直接编辑二进制文件:

How to fix "W + E load segments are not allowed" in Android O(8.0)

Android N warning against .so file having W+E segments

How to compile .so for Android O without Writable and Executable Segments? How to set specific ELF permissions?

感谢您的任何意见。

0 个答案:

没有答案