问题标签 [copy-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.

0 投票
1 回答
2979 浏览

macos - Mac App Store - 复制保护,或不,还是什么?

Mac 开发人员计划的许可协议明确规定我不会在我的 Mac 应用程序中实施我自己的版权保护过程。

然而,在开发者文档中,Apple 也这样说:

您可以将收据验证代码添加到您的应用程序,以防止未经授权的应用程序副本运行。

我在这里很困惑。Mac App Store 是否为 Mac 应用程序提供任何形式的内置复制保护?苹果的上述声明似乎表明它没有。

该声明表明,如果我不执行这些收据检查,那么我的 Mac 应用程序的未经授权的副本可以在其他 Mac 上运行。

我不允许实施(或者更确切地说,保留现有的)复制保护,但我需要手动验证收据,使用 Apple 提供的各种代码片段和伪代码,只是为了提供最基本的保护级别。这种解释正确吗?

这是来自 Apple 的误传,还是真的是这样?

参考:http: //developer.apple.com/devcenter/mac/documents/validating.html

谢谢。

(请注意,我并不是在讨论版权保护的理念或 Apple 方法的优点。相反,我只是对将 Mac 应用程序放到 App Store 的技术要求感兴趣。)

0 投票
2 回答
7430 浏览

c# - 使用强名称对程序集进行签名,可以,但是如果某些 3rd 方 DLL 未签名怎么办?

我了解签署程序集背后的基本思想,但在使用 Telerik 或第二方 DLL 时遇到问题。我有一个使用我自己的 2 个 .DLL 的 .exe,这些 DLL 又使用企业库 DLL 和 Telerik DLL。

我给我的所有项目起了一个强名称 .snk,但是在编译时编译器解释说,例如,企业库 DLL 没有签名,这是有道理的。

我不想使用 te sn.exe -Vr 命令关闭验证,甚至不想延迟签署我的项目。但是,这将如何运作?我很感激任何见解。

0 投票
2 回答
663 浏览

c# - 检查是否为当前受版权保护的程序集制作了许可文件

嗨,我使用 Microsoft 的 LicenseProvider 模型和公钥/私钥对实现了一种复制保护机制,以防止将程序从一台 PC 复制到另一台 PC。很简单。在启动时,许可证文件必须包含有关计算机、到期日期和该许可证文件所针对的程序集名称的加密信息。但是,如果有人将许可证文件从 MyProgramA.exe.lic 重命名为 MyProgramB.exe.lic 怎么办?如果两个程序都使用相同的方法进行复制保护,只需重命名 .lic 文件即可获得有效的 ProgramB 许可证。这就是我将程序集名称存储在 .lic 文件中的原因。程序集名称必须匹配。

现在,如果有人将 ProgramB 重命名为 ProgramA,会发生什么?程序集名称将匹配,并且许可证再次有效。有什么想法可以使这更加防弹吗?

同样,这是一个简单的专有解决方案,因此没有混淆,也没有我知道存在的第 3 方工具。

谢谢!

0 投票
1 回答
524 浏览

opengl - 如何使用 OpenGL 渲染实现复制保护

我想为 opengl 渲染实现复制保护,这里有一些想法,他们都不相信。你能给我一些关于如何做到这一点的建议吗?

ChangeDisplaySettingsEx API 允许更改显示设备配置。它使用VIDEOPARAMETERS包含复制保护详细信息的结构。这个 API 是在 Win2K 上引入的。它为每个输出全局设置复制保护设置,而 COPP 或 OPM 为每个应用程序窗口设置复制保护设置。

COPP API 仅在 VRM-7 或 VMR-9 DirectShow 过滤器上可用,并且从 WinXP 开始可用。使用它意味着我们需要使用 DirectShow 来呈现内容。如果我们在没有 Directshow 的情况下完全渲染我们的应用程序但创建一个虚拟 VRM-9 来设置复制保护会发生什么?

OPM API 仅在 Vista 中可用,但头文件只是 Windows 7 SDK 的一部分。这个 API 显然比 COPP 好,特别是它允许应用程序从窗口的监视器句柄设置复制保护参数,所以这似乎可以在不使用 Direct 3D、DirectShow 或 PMP 的情况下使用。

0 投票
4 回答
4537 浏览

perl - 如何隐藏 Perl 代码?

我已经编写了一些 Perl 程序并计划分发它们。它们是大型二进制发行版(主要是编译的 C/C++)的一部分。如果可能的话,我宁愿尽可能少地放弃(我负责交付工作软件,而不是交付聪明的算法)。隐藏 Perl 代码的最佳选择是什么,以便如果有人真的想查看源代码,他们必须比简单地在编辑器中打开文件付出更多的努力?

0 投票
6 回答
270 浏览

security - 网站源代码的企业间谍活动

这可能不是最技术性的问题,但我只是感兴趣,尽管如此......

像谷歌这样的大公司如何避免员工窃取他们的代码?也许我错了,但我会假设他们的搜索算法的源代码(除其他外)对他们的竞争对手(即微软)是有价值的。

我想我最好这样说:

是什么阻止了一个有足够权限的不道德员工访问谷歌的特定项目代码存储库并将大量代码复制到闪存驱动器并将其带到他们的竞争对手?

0 投票
2 回答
752 浏览

android - android 复制保护 前向锁定 - 我不应该打扰吗?

我应该放弃我的 android 应用程序的复制保护吗?它很快就会被弃用,我最近注意到由于这种复制保护,某些设备不会显示这些应用程序。通常,使用 SDK,您无论如何都可以轻松提取这些 apk,因此任何有任何知识的人都可以绕过这种“安全性”。

我真的不想实现这个新的安全协议,因为它看起来可能会给用户在没有连接的情况下访问应用程序带来问题。一般来说,它看起来太复杂了。有人在使用这种新的复制保护吗?

我的应用下载量不多,所以这不是很重要,谢谢

0 投票
1 回答
3331 浏览

.net - 为每个产品密钥生成序列号并验证它们

我有一个带有不同可解锁模块的软件。每个模块必须单独购买。我已经开始通过Guid.NewGuid方法为每个模块分配一个唯一键。

现在我必须为用户提供激活这些升级的序列号,然后需要验证这些数字:

  1. 序列号属于特定产品密钥
  2. 序列号对特定产品密钥有效。

有什么建议如何根据 Guid 产品密钥生成序列号并执行反向操作进行验证?

谢谢。

0 投票
5 回答
2193 浏览

protection - 软件保护

我想保护我的软件不被未经许可使用。我将免费提供给我授权使用它的各方。

任何人都知道防止未经授权的各方复制和运行的良好保护计划吗?

到目前为止,我考虑过引入一个关键的验证机制:用户需要定期向我(网站查询)发送一个代码,我根据该代码生成一个新的代码,供应用程序验证。有一个初始代码,所以我可以跟踪用户......

想法?

稍后编辑:我更改了许可部分以避免没有重点的讨论。

0 投票
2 回答
5491 浏览

.net - 没有用户数据的序列号生成

这是对这个问题的跟进。

接受的答案通常就足够了,但需要用户提供个人信息(例如姓名)以生成密钥。

我想知道是否有可能基于一个共同的种子生成不同的密钥,以一种程序能够验证这些密钥是否属于特定产品的方式,但不会使这个过程对最终用户来说是显而易见的。

我的意思是它可能是产品 ID 的散列加上一些随机字符序列,但这将允许用户猜测潜在的新密钥。应该有某种难以猜测的算法。