问题标签 [protection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - (为什么)我应该使用混淆?
在我看来,混淆是一种属于“默默无闻的安全”或“虚假的保护意识”阵营的想法。保护知识产权,有版权;为了防止发现安全问题,我们正在修复这些问题。简而言之,我将其视为解决社会问题的技术解决方案。那些几乎从不工作。
然而,我似乎是我们开发团队中唯一有这种感觉的人,所以我要么错了,要么只需要令人信服的论据。我们的产品使用 .NET,一位开发人员建议使用 .NET Reactor(顺便提一下,在这个 SO 线程中也提出了建议)。
.NET Reactor 通过将任何纯 .NET 程序集(用 C#、VB.NET、Delphi.NET、J#、MSIL...编写)与本机机器代码混合,完全停止任何反编译。
所以,基本上,你一次就把字节码的所有优点都扔掉了吗?
混淆是否有良好的工程优势?
php - Apache 下载:确保在下载之前查看了该页面
手头的工作:
我想确保我网站的用户在开始下载之前查看页面。如果他们没有查看页面但尝试直接热链接到文件,他们应该在允许下载之前转到网页。
有什么建议比我发送 cookie 的想法更好 - 在下载开始之前 - 检查 cookie 是否存在(通过 .htaccess)?
网页和下载文件将位于不同的服务器上。
环境:
- 所有机器上的 Apache 2
- 所有机器上的 PHP 5
- MySQL 5 在“网页”服务器上可用(不能从下载服务器访问)
内森问我试图解决什么问题,事实上我想防止来自论坛的热链接。如果人们使用我们的带宽从我们的服务器下载,我想在下载开始之前向他们展示一个带有广告的页面。它不需要完全安全,但我们需要赚一些钱来资助服务器,对吧?:)
c# - 对于单个开发人员来说,什么是最物有所值的 c# 代码保护
什么是最物有所值的 c# 代码保护?有些只是使用混淆,有些则添加了 win32 包装,有些则花费了一大笔钱。到目前为止,我已经想出了http://www.eziriz.com/谁的 Intellilock 看起来很有前途。还有其他建议吗?为什么这不是一个好主意?
我知道完全保护它是不可能的,但我更喜欢保护我的代码的能力,这样就需要付出很多努力才能恢复它。我确实希望最终能销售我的产品,同时也免费发布一些产品。
video - 如何保护 AIR 中的内容?
我想开发一些教育内容,我想使用 Adobe AIR 分发给孩子们。内容将包含视频。现在,据我所知,AIR 会将内容放到本地文件系统中,任何人都可以看到。我想防止这种情况。有出路吗?
macos - 如何保护 Mac OS X 软件不被破解?
我们正在发布我们的 Windows 应用程序的 Mac 版本。在 Windows 下,有多种可执行文件保护工具,例如 Armadillo、ExeCryptor、AsProtect 等,但这些工具都没有 Mac 版本。所以,我的问题是:
是否有适用于 Mac OS X 的可执行保护/加密工具?
security - 您如何保护您的软件免受非法分发?
我很好奇您如何保护您的软件免受破解、黑客攻击等。
您是否使用某种序列号检查?硬件钥匙?
您是否使用任何第三方解决方案?
您如何解决许可问题?(例如管理浮动许可证)
编辑:我不是在谈论任何开源,而是严格的商业软件分发......
automation - 防止自动化
我们的下一个项目应该是一个基于 MS Windows 的游戏(用 C# 编写,带有一个 winform GUI 和一个集成的 DirectX 显示控件),供想要将奖品赠送给最佳玩家的客户。这个项目打算运行几年,包括锦标赛、阶梯、锦标赛、玩家对玩家行动等等。
这里的一个主要问题是作弊,因为如果玩家能够 - 例如 - 让定制的机器人为他玩游戏(更多地是在策略决策方面,而不是在玩很多小时方面),他将会受益匪浅.
所以我的问题是:我们有哪些技术可能性来检测机器人活动?我们当然可以跟踪播放的小时数,分析检测异常的策略等等,但就这个问题而言,我更感兴趣的是了解详细信息,例如
- 如何检测另一个应用程序是否定期截屏?
- 如何检测另一个应用程序是否扫描我们的进程内存?
- 有什么好方法可以确定用户输入(鼠标移动、键盘输入)是否是人工生成的而不是自动化的?
- 是否可以检测另一个应用程序是否请求有关我们应用程序中控件的信息(控件的位置等)?
- 还有哪些其他方法可以让作弊者收集有关当前游戏状态的信息,将这些信息提供给机器人并将确定的操作发送回客户端?
非常感谢您的反馈!
excel - 如何使用密码保护将文件 (Excel) 在线 (Apache 服务器) 但用户可以更改文件并保存更改?
我必须在具有一些基本密码保护(基本 http auth)的 Web 服务器(Apache)上在线放置一个 excel 文件。但是,用户应该能够从 excel 中打开文件并将其更改保存回服务器。
有没有简单有效的解决方案?我对 webdav 不是很有经验。
protection - 请评论这个简单的软件保护架构
我被要求为我们的产品实施许可模式。它们是非常昂贵的产品,客户很少,分布在世界各地,基本上每个人都有一个设计环境(安装在单个 Windows 机器上的 Windows 应用程序,每个客户有 1 到 150 个客户端机器)和一个托管生产环境的 Web 服务器(每位客户 1 到 8 台机器)。我们的产品已获得服务器使用许可,因此客户可以使用任意数量的客户端;我们决定不许可服务器部分(因为它受 SLA 协议约束),而只许可客户端,因为一段时间后无法使用客户端,系统基本上变得无用。
我们的基本假设是客户是“足够诚实的”,如果没有适当地获得过期许可证,我们只想介绍停止客户端设计环境。
我评估了不同的许可产品,它们太贵或太难管理,所以我想出了这个简单的解决方案:
- 许可证将是一个简单的签名 XML 文件,使用 w3c 的标准 XML 签名功能签名,使用将通过 USB 密钥提供给管理部门的私钥;如果他们丢失了副本,那么许可模式将失败,但这将是他们的错
- 客户端将在启动时打开许可证文件并使用嵌入在二进制文件中的公钥检查其有效性
- 如果许可 XML 有效并且其中的数据(到期日期和产品名称)与设计人员的工作相比是正确的;如果没有,将显示适当的消息
关于可能的问题或如何改进方案的任何想法?
.net - 通过加密保护软件
对于我们的软件,我们使用硬件加密狗来保护软件。没有任何保护措施是完美的,但这种商业解决方案是负担得起的,并且可以让诚实的人保持诚实(如另一个线程中所述)。优点是存储在硬件加密狗上“不可读”的 128 位密钥。
我们想移除这个硬件加密狗并开始使用软件保护。基本上我们可以使用商业产品,但另一方面也不是牢不可破的。我对加密知之甚少,这就是我发布此内容的原因。如何在 Windows 计算机上存储无法通过 Reflector 或其他方式读取的密钥?但是,我应该能够访问用于测试许可证代码的密钥。
我只想要一个简单的解决方案,不能通过简单地使用 Reflector 来破解。
还是我在问一个非常愚蠢的问题?
感谢大家非常快速和有用的回复。我不想通过 Internet 使用许可,因为应用程序并不总是在连接的计算机上运行。然后我可能会遇到更多问题然后解决它们。我们现在很可能会寻求商业解决方案。似乎保护并不是那么微不足道。
非常感谢!!