问题标签 [piracy]

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 投票
25 回答
18437 浏览

security - 您如何保护您的软件免受非法分发?

我很好奇您如何保护您的软件免受破解、黑客攻击等。

您是否使用某种序列号检查?硬件钥匙?

您是否使用任何第三方解决方案?

您如何解决许可问题?(例如管理浮动许可证)

编辑:我不是在谈论任何开源,而是严格的商业软件分发......

0 投票
7 回答
3261 浏览

obfuscation - 小型供应商的软件保护

这是我们都必须在某个时候考虑的问题。

经过多年和许多方法之后,我倾向于总体上同意这样的说法:“对于任何数百人使用的受保护软件,您都可以找到破解版。到目前为止,每个保护方案都可以被篡改。” 您的雇主是否强制使用反盗版软件?

此外,每次我发布有关此主题的信息时,都会有人提醒我;“首先,无论你采用什么样的保护措施,一个真正敬业的饼干最终都会通过所有的保护屏障。” 对于单个开发人员来说,什么是最物有所值的 c# 代码保护

因此,尽管有这两个广泛正确的免责声明,让我们谈谈“保护”!

我仍然觉得对于不太可能吸引熟练破解者的时间和注意力的小型应用程序,保护是一项值得的练习。

很明显,无论您做什么,如果破解者可以通过修补应用程序来切换 IF 语句 (jmp) 的结果,那么世界上所有的密码和加密狗都无济于事。

所以我的方法是使用以下产品通过虚拟化混淆代码: http ://www.oreans.com/codevirtualizer.php 我对这个产品非常满意。据我所知,它从未被击败过。我什至可以用 PEcompact 压缩可执行文件还有其他人有这方面的经验吗?

除了 EXEcryptor 的问题之外什么都没有 http://www.strongbit.com/news.asp 即使该网站使用起来也很头疼。编译的应用程序在执行任何 WMI 调用时都会崩溃。

这种方法允许您使用混淆来包围较小的代码部分,从而保护安全检查等。

我使用在线授权方法,因为应用程序需要定期从服务器获取数据,因此用户长时间离线使用它是没有意义的。根据定义,该应用程序在这一点上毫无价值,即使它已被破解。

所以一个简单的加密握手就足够了。我只是偶尔在混淆保护中检查它。如果用户在另一台机器上安装应用程序,则在启动时会上传新 ID,服务器会禁用旧 ID 并返回新授权。

我还使用已编译应用程序的哈希值,并在启动时检查它是否有任何更改,然后从应用程序内将应用程序作为文件(带有读取锁)打开,以防止任何人在启动后更改它。

由于所有静态字符串在 .exe 文件中都清晰可见,因此我尝试使用通用的错误消息等。您不会在任何地方找到字符串“授权失败”。

为了防止内存转储,我使用了一种简单的文本混淆技术(例如 XOR 每个字符)这使得内存中的纯文本数据更难与变量等区分开来。

当然,对于任何真正敏感的数据都有 AES。我喜欢文本的计数器模式,因为这不会导致重复序列显示底层数据(如一系列空白)。

但是使用所有这些技术,如果可以从内存中转储密钥或初始化向量,或者绕过 IF 语句,那么一切都被浪费了。

我倾向于使用 switch 语句而不是条件语句。然后我创建了第二个函数,它基本上是一个死胡同,而不是实际执行所需任务的函数。

另一个想法是编写添加了变量的指针。变量是授权的结果(通常为零)。这将不可避免地在某个时候导致 GPF。我只在一些较低级别的授权失败后才将其用作最后的手段,否则真正的用户可能会遇到它。然后,您的软件的声誉就会降低。

你使用什么技术?

(这不是一个讨论实现某事的优点的线程。它是为那些决定做某事的人设计的)

0 投票
7 回答
2614 浏览

security - 阻止未经所有者许可复制和使用应用程序的最佳方法是什么?

避免在所有者不知情的情况下复制和使用应用程序的最佳方法是什么?

有什么方法可以追踪使用情况吗?这意味着应用程序会定期进行通信,并提供足够的信息,以便我们知道它在哪里,以及它是否合法。接下来,当然,如果它不合法,就将其关闭。

0 投票
4 回答
15242 浏览

iphone - 减少 iPhone 应用程序的盗版

有哪些公认的方法可以减少 iPhone 应用程序盗版,且不违反 Apple 的评估流程?

如果我的应用程序“打电话回家”提供运行它的唯一设备 ID,我需要收集哪些其他信息(例如,用于购买应用程序的 Apple ID)来创建授权使用该应用程序的有效注册令牌? 同样,我将使用什么代码来访问这些额外数据?

目前,解决这个问题的最佳可用技术方法是什么?

(请不要回答关于盗版如何不可避免等的非编程答案。我知道盗版是不可避免的。我对讨论如何减少盗版的基于编程的答案感兴趣。提前感谢您的理解。)

0 投票
1 回答
573 浏览

mozilla - 自动化 RAPIDSHARE 盗版文件删除过程

我发现了一个新的搜索引擎,它可以加快从 rapidshare 中查找盗版文件的速度,我该如何自动化一个工具来使用该引擎查找我们的产品并输出 rapidshare URL 列表,然后将其发送到 abuse@rapidshare.com。

搜索引擎:

http://rapidlibrary.com/ (注意,验证码图像只出现一次)

下面是一个不错的脚本,也许可以很容易地做到这一点?

http://www.nasser.me/ubiquity/rapidsharecom-link-checker/

0 投票
22 回答
5358 浏览

copy-protection - 如何阻止海盗?有人已经取消并盗版了我的脚本:(

我不知道该说些什么。大约 3 天前,我向公众发布了一个脚本。今天我意识到,在谷歌上搜索后,有人已经无效(删除了我的保护)并盗版了脚本。

如何阻止用户盗版脚本?它是用 PHP 编写的。

请帮助或提出一些解决方案。

感谢您的时间。

更新通过向公众发布意味着我已经开始向用户出售它。

更新我的程序售价仅为 49 美元。它提供的功能非常合理。我不明白我应该如何阻止盗版者盗版我的代码。大多数人给出的回答都相当讽刺。我希望得到一些好的建议。我知道没有灵丹妙药。但是您在 PHP 程序中使用了一些技术。

0 投票
4 回答
885 浏览

objective-c - Cocoa 应用程序 - 安全问题

我有一个关于保护我的可可应用免受盗版的好方法的问题。我知道这是不可能的!

因此,在我的应用程序中,我有一个isRegistered()每次用户启动应用程序时都会运行的方法。这是从applicationDidFinishLaunching:App 委托调用的。所以如果这个方法返回true,应用程序会继续执行代码,否则会出现一个Alert,说应用程序没有注册,还有xx天可以购买许可证。

这是个好办法吗?因为,我没有这方面的经验。

预先感谢您的帮助!


解决了

首先感谢大家!我认为同样的事情:任何复制保护都可以阻止盗版。我只是想解决这个小错误,即使我知道有人会再次破解我的应用程序。然而,这是真的——最好的办法是改进应用程序,而不是浪费时间尝试使盗版保护更有效。

0 投票
4 回答
3430 浏览

php - 如何保护按许可证销售的 Web 应用程序免遭盗版?

所以是的,我正计划出售我制作的 Web 应用程序。我知道我永远无法阻止人们复制和共享文件,但我将如何放置可以提醒我使用的代码片段?

我知道有人有足够的动力最终会破解它.. 我只是对可能的解决方案感兴趣(尤其是使用 php)。

多谢你们!

0 投票
3 回答
2230 浏览

iphone - iPhone sdk - 所有者姓名?

iPhone sdk中有没有办法获取拥有手机的联系人的姓名?我看到我的应用程序已被破解,我想更新一个版本,检查它是否为破解版本,然后显示以下内容:

你好(人名)。我看到您使用的是(应用程序名称)的破解版。如果你喜欢这个应用程序,请购买它来支持我。

0 投票
6 回答
1351 浏览

copy-protection - 防止基于时间的复制保护规避?

我有一些试用软件希望分发给客户。我希望基于试用版的软件在安装 30 天后停止工作。

在软件中简单检查系统日期是实现此目的的最直接方法,但客户不能通过在 Windows 中更改其系统时间/日期来轻松绕过此保护吗?

有没有更好的方法来完成我想要的?