pyarmor icon indicating copy to clipboard operation
pyarmor copied to clipboard

[BUG] decorator is ignored in spp mode

Open shgefu opened this issue 2 years ago • 5 comments

环境python3.7 Pyarmor 7.7.4 采用终极模式加密, 约束模式105, 复杂函数加密, 动态加密, 混淆字符串等设置,程序能启动但是运行过程中点button打开文件的时候报错如下:

Traceback (most recent call last): File "<frozen CCUI>", line 35, in spp_caller TypeError: too many positional arguments

shgefu avatar Jan 20 '23 04:01 shgefu

快速的解决方案是忽略 spp 出错的模块,或者能提供一个重现错误的简单脚本

jondy avatar Jan 20 '23 06:01 jondy

怎么忽略 ,我不懂怎么设置或者怎么弄, 我可以先忽略试试可以跑就行了, 如果不行我看能写给你写个简单脚本。

shgefu avatar Jan 20 '23 06:01 shgefu

目前发现报错的的基本上都是pyqt5界面对象事件槽指定的事件操作, 它一般是如下设置:

self.pushButton.cliecked.connect(self.event_a)

def event_a(self): xxxx

当我点击pushButton的时候,按道理会调用connect的self.event_a句柄指定的函数, 但是pyarmor加密之后,所有事件函数调用都会报错,或者直接退出。

shgefu avatar Jan 20 '23 12:01 shgefu

这应该是 spp mode 的一个 bug,子函数的 decorator 都被忽略了,这个 bug 将在下一个版本 v8.0.1 中修正。

jondy avatar Jan 30 '23 08:01 jondy

OK, 按说明注释掉,错误消失,暂时只能先这样了。

shgefu avatar Jan 31 '23 01:01 shgefu