我试图建立一个免费的Windows Azure帐户来发现它,我提供了验证码,并通过了,但它然后要求提供信用卡号码.这真的很重要..不是"3个月免费"账号,为什么需要信用卡?如果是的话,如果没有这样的信用卡,我的其他选择是什么?
Visual Studio是否具有用于创建软件试用版的内置工具?如果没有什么工具可以完成这项工作?
在.NET平台上创建试用版的最佳实践是什么?
这些实践如何依赖于应用程序类型(Web应用程序,Windows窗体应用程序,等等)?
我正在使用java编写软件并且我差不多完成了,我想知道如何创建一个例如30天的试用版,因为我会将它发送给一些公司
那么如何使它像共享软件或试用软件一样,我们也可以阻止访问jar文件中的.class吗?
谢谢
它可能与其他问题重复,但我发誓我搜索了很多并在StackOverflow.com上搜索了很多,我找不到我的问题的答案:
在C#.Net应用程序中,存储保护试用信息的位置,例如到期日期,使用次数?
据我所知,各种软件保护策略都可以被一个狡猾的黑客破解(因为他们几乎总能绕过到期检查步骤).但我现在要做的只是以合理的方式保护它,使"普通"/"高级"用户无法搞砸.
好的,为了证明我在StackOverflow.com上搜索了很多搜索,我列出了我得到的所有策略:
首先,一些用户可能无法访问甚至读取Registry表.
其次,如果我们将保护试用信息放在注册表项中,则用户可以通过比较软件安装之前和之后的差异来始终找到它.他们可以简单地改变它.
好的,您可能会说我们应该加密保护试用信息,是的,我们可以做到这一点.但是如果用户在安装之前只更改了系统日期呢?
好吧,你可能会说我们也应该把最后使用的日期,如果出现问题,最后使用的日期可以作为保护指南.但是,如果用户只是卸载软件并删除与该软件相关的所有注册表项,然后重新安装软件,该怎么办?
我不知道如何处理这个问题.请帮忙.
首先,有一些地方放普通文件:
同样,用户可以卸载软件并删除这些普通文件,然后重新安装软件.
如果我们将保护试用信息(到期日期,我们不能将使用次数)放在软件本身中,它仍然容易受到我上面提到的情况的影响.此外,这样做甚至都不酷.
它的工作方式类似于许可过程,也就是说,我们将试用信息放入RSA签名的字符串中.但是,要求用户尝试使用该软件需要太多步骤(他们可能会失去耐心):
现在,服务器记录了用户的用户名或硬件信息,因此用户将被拒绝请求第二次审判.收集硬件信息是否合法?
总之,用户必须再做一个额外的步骤(请求试用产品密钥)只是为了尝试使用该软件,这并不酷(将自己视为用户).
注意:此问题与许可无关,而是与存储试用信息的位置有关.试用期结束后,用户应该要求许可证(CD-Key/Product-Key).我将使用RSA签名(绑定到用户硬件)
PS:我的软件将针对中国市场,其软件市场与美国不同.在中国大多数人,他们只购买硬件,他们通常不会购买Micosoft Windows/Office等软件(他们只使用盗版).但是,一些针对特定领域的专业软件,研究人员仍然愿意购买它,如果没有破解版本或破解版本很难安装.
我需要为我的自定义软件提供试用期.我有一个64位C#应用程序,它使用64位,多处理器支持DLL.要包含的其他实用程序是用C++编写的(exes和dlls).我必须能够加密C#代码,键入软件以仅在特定机器上运行,并强制执行无法通过重置机器时钟来阻止的到期日期.
我已经评估了几个开源和COTS解决方案:Infralution Licensing System,Protector和ExeShield,仅举几例.它们都不满足我的所有约束.
有人知道我应该考虑一个全面的解决方案吗?或者我是否需要进行一些注册表潜水并通过自定义代码强制执行?
蟒蛇的大熊猫很整洁.我正在尝试用pandas-dataframe替换字典列表.但是,我想知道有一种方法可以在for循环中逐行更改值吗?
这是非熊猫dict-version:
trialList = [
{'no':1, 'condition':2, 'response':''},
{'no':2, 'condition':1, 'response':''},
{'no':3, 'condition':1, 'response':''}
] # ... and so on
for trial in trialList:
# Do something and collect response
trial['response'] = 'the answer!'
Run Code Online (Sandbox Code Playgroud)
...现在trialList
包含更新的值,因为它trial
引用了那个.非常便利!但是这些名单是非常不方便的,特别是因为我希望能够以列为单位计算大熊猫擅长的东西.
所以从上面给出了trialList,我可以通过做一些类似熊猫的事情来做得更好:
import pandas as pd
dfTrials = pd.DataFrame(trialList) # makes a nice 3-column dataframe with 3 rows
for trial in dfTrials.iterrows():
# do something and collect response
trials[1]['response'] = 'the answer!'
Run Code Online (Sandbox Code Playgroud)
......但trialList
在这里保持不变.有没有一种简单的方法可以逐行更新值,也许等同于dict-version?重要的是它是逐行的,因为这是一个实验,其中参与者被呈现大量的试验并且在每个单独的试验中收集各种数据.
我正在试图弄清楚如何编写一个试验测试用例,该测试用例会引发异常.
目前我有两种简单的方法来测试(成功和失败).每个方法都返回一个已经回调或错误返回的延迟.测试成功方法很好.在测试失败方法时,我希望能够断言引发了异常(使用assertRaises).
但是测试用例失败了,我得到了:
twisted.trial.unittest.FailTest: ConnectionRefusedError not raised (<Deferred at 0x920e28c current result: <twisted.python.failure.Failure <class 'twisted.internet.error.ConnectionRefusedError'>>> returned)
代码如下:
from twisted.trial.unittest import TestCase from twisted.internet.defer import inlineCallbacks, succeed, fail from twisted.internet.error import ConnectionRefusedError class MyObject: def success(self): return succeed(True) def failure(self): return fail(ConnectionRefusedError()) class TestErrBack(TestCase): def setUp(self): self.o = MyObject() @inlineCallbacks def test_success(self): result = yield self.o.success() self.assertTrue(result) @inlineCallbacks def test_failure(self): # this test case is failing ! yield self.assertRaises(ConnectionRefusedError, self.o.failure)
我在test_failure中使用正确的方法吗?我可以使用try ...来调用self.o.failure,但我不认为这种方法与使用assertRaises一样好.
我应该如何实现全功能的宽限期或N次使用方案,以最大限度地提高我的小型5美元社交网络Windows应用程序的销售额,同时鼓励持续使用有限版本的用户从未(尚未?)支付费用?
瘫痪的软件并不是所有人都喜欢的(特别是开源阵营),但是我必须根据快乐的用户和谋生来做出决定,所以我已经在下面的限制软件中汇总了我的观点.
我打算削弱我的演示版本,但我确实希望试用用户体验所有功能.这是一个小型的消费者应用程序,具有潜在的庞大用户群,所以我看它定价约5美元,但我不知道.某些用户或1美元可能值50美元.我稍后会留下价格.这是关于软件的瘫痪.
我用一张有效期为1天的证书签了一份APK.我的目标是向某些人提供试用版应用程序,但阻止他们在到期日之后复制应用程序.如果他们在到期日之前复制申请表是可以的.我认为Android操作系统会阻止任何带有过期证书的应用程序安装在手机上.但是,我发现我可以在签名证书到期后2天在我的手机上安装该应用程序.Jarsigner确认证书已过期.为什么Android允许使用过期证书安装应用程序?