Questions tagged «obfuscation»

混淆是更改代码的过程,开发人员发现它很难清楚地了解目标程序的作用或运行方式。程序越大,混淆就越大,因为代码变得纠结在一起,从而将整个程序段链接到不同的段。

5
在Eclipse中为Android启用ProGuard
ProGuard for Android上的新文档说,要在项目主目录中的default.properties文件中添加一行。但是,在打开此文件时,我在顶部阅读: # This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 我想念什么吗? 另外,是否有一种方法只能针对Eclipse的生产版本(即,在导出成品时)启用ProGuard?

10
最好的Java混淆器?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我正在开发安全软件,并希望混淆我的Java代码,因此将无法进行反向工程。什么是最可靠的Java混淆器?
107 java  obfuscation 


14
C ++中隐藏敏感字符串的技巧
我需要在我的C ++应用程序中存储敏感信息(我想保持私有的对称加密密钥)。简单的方法是这样做: std::string myKey = "mysupersupersecretpasswordthatyouwillneverguess"; 但是,在整个strings过程中运行该应用程序(或从二进制应用程序中提取字符串的任何其他程序)将显示上述字符串。 应该使用什么技术来掩盖此类敏感数据? 编辑: 好的,几乎所有人都说过“您的可执行文件可以进行反向工程” -当然!这是我的宠儿,所以在这里我要大声疾呼: 为什么在该站点上所有与安全相关的问题中有99%(好的,所以我可能会夸张地说)用“没有可能创建完美安全的程序的方法”的洪流回答-这无济于事回答!安全性是介于完美可用性和一端没有安全性,而另一端是完美安全性却没有可用性之间的滑动标度。 关键是要根据您要执行的操作以及软件运行的环境,在此滑动标尺上选择位置。我不是在为军事安装编写应用程序,而是在为家用PC编写应用程序。我需要使用已知的加密密钥在不受信任的网络上加密数据。在这些情况下,“通过隐蔽性实现安全”可能就足够了!当然,有足够时间,精力和技能的人可以对二进制文件进行反向工程并找到密码,但是您猜怎么着?我不在乎: 实施一流的安全系统所花的时间要比由于破解版本而导致的销售损失要昂贵得多(不是我实际上是在出售此产品,但我明白了)。至少可以这样说,在新程序员中,这种蓝天式的“让它以绝对最佳的方式做到这一点”的趋势是愚蠢的。 感谢您抽出宝贵的时间来回答这个问题-他们最有帮助。不幸的是,我只能接受一个答案,但是我投票赞成所有有用的答案。



9
防止ProGuard混淆类成员名称
我的班ClassMultiPoint有子班。 public class ClassMultiPoints { public String message; public List<ClassPoints> data; public class ClassPoints { public String id; public List<ClassPoint> points; public class ClassPoint { public String speed; public String bearing; } } } 我oPoints将从解析中获得对象的价值GSON: oPoints = gson.fromJson( jsonString, ClassMultiPoints.class); 我尝试使用oPoints.message。 当我运行我的应用程序而没有proguard成功运行应用程序时。当proguard我的应用崩溃时运行我的应用时。 我认为问题是:proguard将'oPoints.message'班级的属性重命名为short 'a'。 我尝试保持方法和属性的名称不变,但是proguard将其重命名: proguard.cfg: -injars bin/classes -injars libs …


21
如何在二进制代码中隐藏字符串?
有时,从二进制(可执行)文件中隐藏字符串很有用。例如,从二进制文件隐藏加密密钥很有意义。 当我说“隐藏”时,我的意思是使字符串很难在已编译的二进制文件中找到。 例如,此代码: const char* encryptionKey = "My strong encryption key"; // Using the key 编译后生成可执行文件,其数据部分包含以下内容: 4D 79 20 73 74 72 6F 6E-67 20 65 6E 63 72 79 70 |My strong encryp| 74 69 6F 6E 20 6B 65 79 |tion key | 您可以看到我们的秘密字符串可以轻松找到和/或修改。 我可以隐藏线... char encryptionKey[30]; int …
73 c++  obfuscation 

11
无需加密即可保护PHP代码的最佳解决方案
首先,我并不是在寻找奇迹……我知道PHP的工作原理,并且没有真正的方法可以在不使用加密的情况下向客户端隐藏我的代码。但这附带了要在正在运行的服务器上安装扩展的成本。 我正在寻找不同的东西……我不是要加密我的代码,甚至是对其进行混淆。有许多没有加密/混淆代码的PHP脚本,但它们是商业应用程序。例如,vBulletin和/或IP.Board论坛应用程序。 我只想知道这些人在他们的应用程序中使用什么方法... 我也愿意接受任何其他建议。 请注意,我是一个人,没有在公司工作。我的产品也很具体,不会卖那么多。我只是想让你们知道,我无权咨询法律专家来起诉某人或准备商业执照。我只是在寻找一种简单的方法来保护我的简单产品,如果确实可行的话,以某种方式...

5
iPhone / iPad应用程序代码混淆-可能吗?值得?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 1年前关闭。 改善这个问题 我已经对SO以及整个Google进行了相当多的研究,但是对于用Objective-C编写的iPhone / iPad应用的代码混淆,我似乎找不到直接的答案。 我的问题是: 有办法吗?如果是这样,怎么办? 这值得么? 将应用程序提交给他们时,Apple是否允许或存在问题?


1
已弃用Progruard和R8-Android Studio 3.6
在将Android Studio升级到3.6之后,关于Proguard和R8的警告已过时。这是否意味着我们不应该在项目中使用混淆功能,还是在发布模式下构建时应该考虑其他等效选项? 选项'android.enableR8'已被弃用,不应再使用。它将在未来版本的Android Gradle插件中删除,并且不再允许您禁用R8。受影响的模块:等
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.