【问题标题】:How to make android native shared library(.so) to be unable to debug by attaching如何使android原生共享库(.so)无法通过附加调试
【发布时间】:2013-08-09 22:46:40
【问题描述】:

我正在使本机共享库在 android 上运行。 之前,我体验过通过 IDA 附加来保护共享库免受调试(即设置断点和跟踪),当时,出现 SIGSTOP 信号并终止进程。 所以我想让我的图书馆这样。 我会很感激告诉我怎么做。 此外,如果您知道另一种方法来保护在 android 设备上运行的本机共享库免受调试、反汇编或逆向工程的影响。 提前致谢。

【问题讨论】:

    标签: android


    【解决方案1】:

    您可以相对轻松地检测 JVM 调试器,但检测本机调试器有点困难。

    您可以使用standard ptrace(PTRACE_ME) call 来确定是否有人附加了调试器。我没有尝试过,但我相信它应该可以工作。

    就个人而言,我会使用我自己的代码签名来确定应用程序的状态,再加上support from Play Services

    无论如何,就像所有的软件一样,只要有足够的耐心,所有的安全措施都可以被规避。

    【讨论】:

    • 在构建阶段而不是编程阶段是否有任何方法可以做到这一点?
    • 您可以自动混淆本机代码,但您无法阻止附加调试器,因为该检查必须在特定位置进行,否则会严重影响性能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    • 2022-01-11
    相关资源
    最近更新 更多