首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DexGuard篡改和环境检测有帮助吗?

DexGuard篡改和环境检测有帮助吗?
EN

Stack Overflow用户
提问于 2015-05-14 10:29:55
回答 1查看 1.3K关注 0票数 3

我是DexGuard和Proguard的新手。我正在查阅他们的文档和示例。它们有dexguard_util,它帮助您检测应用程序是否被篡改,并帮助检测它是否运行在它应该运行的环境中。该文档建议使用以下代码对篡改和环境检测进行加密,即dexgaurd-project.txt。

代码语言:javascript
复制
 -encryptclasses A$D
 -encryptstrings A$D

折叠就是活动。

代码语言:javascript
复制
public class A extends Activity
{


    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        new D().c();
    }

    private class D
    {
        public void c()
        {
            //some code to which detects the tampering and environment and takes action accordingly
        }
    }
}

如果黑客注入了这行代码。

代码语言:javascript
复制
public class A extends Activity
{


    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        //code commented by hacker
        //new D().c();
    }

    private class D
    {
        public void c()
        {
            //some code to which detects the tampering and environment and takes action accordingly
        }
    }
}

然后我的应用程序将在不运行那些测试的情况下运行,我认为这是一个大问题。我对逆向工程的理解是错误的,或者有更好的方法来做到这一点。如果存在,请分享更好的方法。提前谢谢。请注意,公共类A不能加密,因为它是一个入口点,并且在progaurd-project.txt中一直使用以下命令

代码语言:javascript
复制
-keep class somepackage.A
EN

回答 1

Stack Overflow用户

发布于 2020-04-30 13:36:00

说到反篡改,重要的是要记住,他们的目标不是阻止任何和所有潜在的篡改努力,而是一个提高目标的安全标准,足以劝阻大多数攻击者的问题。

这么说,

一点切线:

该文档建议使用以下代码对篡改和环境检测进行加密,即dexgaurd-project.txt。

类加密确实阻止了对应用程序包的基本静态分析,例如简单地解压缩包并将其加载到jd-gui中。但是,作为this answer shows,绕过它是很简单的:一个人只需要连接到加载时解密apk的静态方法,并将其转储。但这允许提高安全标准。

现在回到你原来的问题:

如果黑客注入了这行代码。

作为一个攻击者,这将是下一步。然而,这需要重新打包应用程序,并使用黑客的签名密钥对其进行签名。因此,有必要结合德克斯泰的checking the apk signature等防篡改措施.

DexGuard篡改和环境检测有帮助吗?

总之,是的,它是有帮助的,因为它提高了超过绝大多数应用程序的门槛。但这不是银弹。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30235047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档