You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

集成Appsweep后检测到Native代码未启用DEP及RELRO的问题咨询

解决Native代码的DEP与RELRO安全配置问题

一、修复Data Execution Prevention (DEP)未启用的问题

DEP在Android平台对应的是**NX(No Execute)**保护机制,作用是限制数据内存区域被执行,需要在编译链接阶段添加对应参数:

1. CMake构建项目

在CMakeLists.txt中,为目标库配置链接参数:

target_link_libraries(your-target-lib
    # 其他依赖项
    -Wl,-z,noexecstack
)

如果要全局配置所有共享库,可添加:

set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,noexecstack")

2. Android.mk构建项目

在Android.mk中追加链接参数:

LOCAL_LDFLAGS += -Wl,-z,noexecstack

二、修复Relocation Read-Only (RELRO)未启用的问题

RELRO推荐配置Full RELRO(防护强度更高),需要同时启用relro和now两个链接参数:

1. CMake构建项目

在CMakeLists.txt中为目标库添加:

target_link_libraries(your-target-lib
    # 其他依赖项
    -Wl,-z,relro,-z,now
)

全局配置所有共享库的写法:

set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,relro,-z,now")

2. Android.mk构建项目

在Android.mk中添加:

LOCAL_LDFLAGS += -Wl,-z,relro,-z,now

额外说明

如果问题涉及第三方预编译的.so库,你无法直接修改已编译库的链接参数,需要联系库的提供者获取启用了DEP/RELRO防护的版本。配置完成后重新构建项目,再提交到Appsweep验证问题是否解决。

内容的提问来源于stack exchange,提问作者SHIDHIN TS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 09:07:05