相关疑难解决方法(0)

如何生成和验证软件许可证密钥?

我目前正在开发一种产品(用C#开发),可以免费下载和安装,但版本非常有限.要访问所有功能,用户必须支付许可费并获得密钥.然后将该密钥输入应用程序以"解锁"完整版本.

因为使用像这样的许可证密钥,我想知道:

  1. 通常如何解决?
  2. 如何生成密钥以及如何通过应用程序验证密钥?
  3. 我怎样才能避免让密钥在互联网上发布并被没有支付许可证的其他人使用(一个基本上不是"他们的"的密钥).

我想我也应该以某种方式将密钥绑定到应用程序的版本,这样就可以在功能版本中为新密钥收费.

在这种情况下我还应该考虑其他什么吗?

c# license-key

220
推荐指数
10
解决办法
27万
查看次数

这个lambda/yield/generator理解是如何工作的?

我今天正在查看我的代码库并发现了这个:

def optionsToArgs(options, separator='='):
    kvs = [
        (
            "%(option)s%(separator)s%(value)s" %  
            {'option' : str(k), 'separator' : separator, 'value' : str(v)}
        ) for k, v in options.items()
    ]
    return list(
        reversed(
            list(
                    (lambda l, t: 
                        (lambda f: 
                            (f((yield x)) for x in l)
                        )(lambda _: t)
                    )(kvs, '-o')
                )
            )
        )
Run Code Online (Sandbox Code Playgroud)

它似乎采用参数的dict并将它们转换为shell命令的参数列表.它看起来像是在生成器理解中使用yield,我认为这是不可能的......?

>>> optionsToArgs({"x":1,"y":2,"z":3})
['-o', 'z=3', '-o', 'x=1', '-o', 'y=2']
Run Code Online (Sandbox Code Playgroud)

它是如何工作的?

python ssh lambda functional-programming generator

51
推荐指数
2
解决办法
2万
查看次数

混淆Python代码?

我正在寻找如何隐藏我的Python源代码.

print "Hello World!" 
Run Code Online (Sandbox Code Playgroud)

我如何编码这个例子,以便它不是人类可读的?我被告知使用base64,但我不知道如何.

python

49
推荐指数
17
解决办法
8万
查看次数

加密和安全的docker容器

我们都知道当你无法开源并自由分发软件的情况时 - 我处于其中一种情况.

我有一个应用程序,包含许多二进制文件(从C源代码编译)和python代码,它将所有二进制文件包装到一个系统中.此应用程序曾用作云解决方案,因此用户可以通过网络访问应用程序功能,但无法触摸存储二进制文件和代码的实际服务器.

现在我们想要提供我们系统的"本地"版本.该应用程序将在我们的用户将拥有的PC上运行.我们知道一切都可能被打破,但至少要保护应用程序尽可能保护可能的复制和逆向工程.

我知道docker是一个很棒的部署工具,所以我想知道:有可能创建加密的docker容器,没有人能看到容器文件系统中存储的任何数据吗?这个问题有一个已知的解决方案吗?

另外,也许有一些众所周知的解决方案不是基于docker的?

python security encryption docker

40
推荐指数
5
解决办法
2万
查看次数

Python代码混淆

你知道任何可以帮助我混淆python代码的工具吗?

python obfuscation

38
推荐指数
4
解决办法
4万
查看次数

如何部署Python桌面应用程序?

我已经开始在桌面上运行个人python应用程序.我使用wxPython作为GUI工具包.如果需要这种类型的应用程序,我可能希望将其商业化.

我不知道部署"真实"的Python应用程序,尽管我py2exe过去曾使用过不同的成功.我如何模糊代码?我可以以某种方式只部署字节码吗?

一个理想的解决方案不会危害我的知识产权(源代码),不需要直接安装Python(虽然我确定它需要一些嵌入式解释器),并且是跨平台的(Windows,Mac和Linux的).有谁知道这个领域的任何工具或资源?

谢谢.

python deployment

30
推荐指数
2
解决办法
3万
查看次数

防止屏幕刮擦

关于屏幕抓取合法性的问题,即使是非法的人仍然会尝试,所以:

可以采用哪些技术机制来防止或至少抑制屏幕抓取?

哦,只是为了咧嘴笑,让生活变得困难,保留搜索引擎的访问权限可能会很好.我很可能在这里扮演魔鬼的拥护者,但有一个严重的基础点.

screen-scraping

30
推荐指数
5
解决办法
2万
查看次数

在python子类中创建一个私有方法

是否可以在子类中将公共方法设为私有?我不希望扩展此类的其他类能够调用某些方法.这是一个例子:

class A:
    def __init__(self):
        #do something here

    def method(self):
        #some code here

class B(A):
    def __init__(self):
        A.__init__(self)
        #additional initialization goes here

    def method(self):
        #this overrides the method ( and possibly make it private here )
Run Code Online (Sandbox Code Playgroud)

从这一点开始,我不希望任何从B扩展的类能够调用method.这可能吗 ?

编辑:这是一个"逻辑"的原因是我不希望用户以错误的顺序调用方法.

python oop inheritance

25
推荐指数
9
解决办法
2万
查看次数

如何将Python包编译为dll

好吧,我有一个Python包.我需要将它编译为dll,然后以易于导入的方式分发它.怎么样?你可能会建议*.pyc.但我在某处读到任何*.pyc可以轻易反编译的内容!

更新: 遵循以下:
1)我写了一个python包
2)想要分发它
3)不要分发源
4)*.pyc可以解压缩>>源码可以提取!
5)dll是标准的

python dll module compilation

21
推荐指数
5
解决办法
7万
查看次数

逆向工程.pyd文件有多难?

阅读后如何保护Python代码?,我决定在Windows上尝试一个非常简单的扩展模块.我之前在Linux上编译了自己的扩展模块,但这是我第一次在Windows上编译它.我期待得到一个.dll文件,但相反,我得到了一个.pyd文件.Docs说他们有点相同,但它必须有一个init[insert-module-name]()功能.

假设它是安全的,像dll文件一样难以对它们进行反向工程.如果没有,那么从.pyc文件到.dll文件的规模进行逆向工程的硬度是多少?

python reverse-engineering pyd pyc

16
推荐指数
1
解决办法
3万
查看次数