问题标签 [software-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 回答
1414 浏览

c# - 使用 PnPDeviveID 创建 USB 安全密钥的确定性如何?

我需要使用 USB 密钥保护软件。我可以使用 WMI 查询 USB 驱动器并从 Win32_DiskDrive 类中获取 PnPDeviceId,并将其与应用程序中已经散列和硬编码的驱动器进行比较吗?这有多安全?可以修改 PNPDeviceID 属性吗?是硬件编码的吗?还有什么想法吗?

从逻辑上讲,USB 驱动器将被仔细选择。

谢谢

0 投票
5 回答
1829 浏览

c# - 保护 WinForms 应用程序建议

我一直在为我们的用户寻找一个简单的密钥/许可证系统。它的一部分是为了阻止盗版(避免用户共享应用程序),另一半是为了跟踪我们拥有的“许可用户”的数量。我已经阅读了一些关于 SO 的好建议,但我很好奇人们是如何实施 30 天评估标准的。

您是否生成了一个将日期存储在某处并每次进行比较的密钥,或者它是否更复杂一些 - 删除文件/删除注册表不应该停用。

是否有任何示例实现可以让我领先一步?具有讽刺意味的是,我们的 PM 不想授权第三方系统为我们做这件事。

这适用于 Windows 窗体应用程序。

0 投票
4 回答
5548 浏览

c++ - Themida 的软件保护替代方案

我们目前使用 Themida 来保护我们的 C/C++ 软件,但杀毒软件的大量误报正在扰乱我们的客户群。

有没有人知道任何其他软件保护程序和 Themida 一样好,但没有“让反病毒疯狂”标志?

0 投票
2 回答
166 浏览

assembly - 改组我的申请?

我想继续我之前的问题: https ://stackoverflow.com/questions/3007168/torrents-can-i-protect-my-software-by-sending-wrong-bytes

Developer Art建议为应用程序添加一个唯一密钥,以识别破解者。
JAB表示,如果破解者拥有我的软件的多个副本,破解者可以通过检查二进制差异来搜索我的唯一密钥所在的位置。然后破解者更改该密钥以使他们自我匿名。

那是真实的。

现在问题来了:如果我想添加一个唯一的密钥,是否有工具来打乱(一种混淆)程序模块?因此,二进制比较会说这两个文件完全不同。所以他们找不到标识符键。

我很确定这是可能的(也许通过更换汇编程序块并进行一些跳转)。
我认为对我的软件进行 30 到 40 次洗牌就足够了。

0 投票
4 回答
1716 浏览

assembly - SP(堆栈指针)反调试技巧 - x86

清单 7.1 级联病毒的解密器

请注意,此解密器具有反调试功能,因为 SP(堆栈指针)寄存器用作解密密钥之一。

有人能解释一下为什么使用 SP 寄存器就像一个反调试功能吗?如果我错了,请纠正我,但我认为运行调试器不会改变堆栈布局......

提前致谢

0 投票
2 回答
751 浏览

air - 软件保护加密狗与 Adob​​e Air

即使对我来说,这看起来也是一个非常愚蠢的问题,但无论如何,我很好奇:

有没有办法使用硬件密钥(又名软件保护加密狗)保护 Adob​​e Air 应用程序?

我正在研究开发一个需要诸如防止被盗版之类的密钥的应用程序(我无法改变这个事实),看起来使用 Adob​​e Flash 是编写这个特定应用程序应该做的最简单的方法.

0 投票
2 回答
1268 浏览

trial - 如何让 Windows 系统还原忽略我的一些应用程序文件?

我正在尝试软件复制保护的想法,现在我遇到了以下问题。

我有我的应用程序的试用版。试用数据存储在某个文件和某些注册表项中。当然,我知道用户可以通过使用一些注册表和文件监控和备份工具来打破这种试用保护,但我至少希望防止一些​​简单的黑客攻击,如日期时间更改和使用 Windows 系统还原。

问题是 Windows 系统还原会清除我所有的应用程序文件以及试用数据。我知道系统还原不会影响用户的文档文件夹,但我不想在那里存储试用数据文件,因为它太明显了。

有什么方法可以停止系统还原以删除我的试用数据文件?

0 投票
1 回答
720 浏览

dongle - 主动软件保护加密狗如何工作?

我看过维基百科的文章,其中的细节有点粗略。我想知道,除了一般的操作原则外,还有一些实用的细节,比如:

它们是否仅限于编译的本机程序,还是可以与 Java/Dot Net 等一起使用?

0 投票
8 回答
6460 浏览

delphi - 不会触发防病毒误报的软件保护/代码混淆

我正在寻找软件保护和/或代码混淆软件,如Oreans ThemidaVSProtectASPRotect等。但是,防病毒误报对我来说是个大问题。我不能给我们的合法用户带来不便或吓跑。不幸的是,上面提到的所有三种产品似乎都存在这个问题。

我用 Delphi 编写的32 位本机(不是 .NET)Windows 应用程序现在使用自定义许可证管理代码,并且运行良好,但是由于没有使用代码混淆,因此每次发布后数小时内就会产生裂缝。因此,我正在寻找一种产品,它至少可以增加一定程度的防破解保护,并且不会产生防病毒软件的误报。

我的首要任务是在我的软件中引入非回避性和稳定性、没有错误和防病毒误报问题。抗裂保护水平是次要的。

0 投票
2 回答
405 浏览

bind - 软件保护建议

我试图找到一种保护需要管理其用户的程序的好方法。该程序针对的是一个非常特定的市场,人们极少可能会想方设法破解或盗版它,所以这不是问题。

目前,我们通过用户名/MAC 地址绑定用户,由于笔记本电脑底座或 wifi 的问题,这是一种非常糟糕的软件保护方式。

我需要一种方法来弄清楚如何将用户绑定到机器上,这样如果他们尝试在另一台计算机上使用相同的软件,它将无法正常工作。

- 不需要完全安全,只需要降低失败率

从 xp-> windows 7 开始,它将是一个仅限 Windows 的环境,可以在从笔记本电脑到服务器和虚拟机的任何设备上。

谢谢