Moxin1044 / pycvencode-gui

社会主义核心价值观GUI版

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

关于

这是一个由青少年CTF开发的社会主义核心价值观编码和解码的GUI工具,支持离线操作,无需联网。

原理

使用tkinter设计了UI界面,使用qsnctf库中的社会主义核心价值观编码(Chinese_socialism)进行编解码。

使用

Python原生方法

如果您拥有Python环境,请按照如下方法使用:

Step1.安装依赖

您只需要安装一次依赖,以后就可以在本地电脑使用。

pip install -r requirements.txt

假如您因为一些原因访问默认源较慢,可以使用:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

Step2.运行

python main.py

使用已经构建好的程序

我们会使用pyinstaller构建一个程序,这将发布到存储库的Release中,使用Release你可以查看我们是否打包了某个环境,也可以查看我们是否更新了更新的版本。

自己为自己打包程序

我们的设备不能完全满足大众的需要,我们只会构建我们现有设备的程序包,如AMD64的Linux、Windows和ARM版本的MacOs,所以假设您需要打包自己的程序,可以使用下面的命令来进行:

pip install -r requirements.txt
pip install -r requirements_build.txt
python3 -m PyInstaller main.spec

请注意修改spec文件里qsnctf库的地址!

参考文章:https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&mid=2648984914&idx=1&sn=61d24d8a1004e5a5c0c4fe886caac7b3&chksm=f25010b2c52799a431ce988cbb8b351a4076baca7bdbab355eb5e336a970840d4eb206711a61&scene=27

真的很麻烦,如果不想麻烦,还是使用打包好的吧!!

BUG解释

锟斤拷

在部分版本的Python中的Execjs里,有一些令人匪夷所思的代码,这些代码会出现“锟斤拷”、“锟叫城”错误,如果你也遇到了这样的问题,请将Python根目录下的\Lib\subprocess.py文件中下面这一段修改:

def __init__(self, args, bufsize=-1, executable=None,
                 stdin=None, stdout=None, stderr=None,
                 preexec_fn=None, close_fds=True,
                 shell=False, cwd=None, env=None, universal_newlines=None,
                 startupinfo=None, creationflags=0,
                 restore_signals=True, start_new_session=False,
                 pass_fds=(), *, user=None, group=None, extra_groups=None,
                 encoding=None, errors=None, text=None, umask=-1, pipesize=-1,
                 process_group=None):

将其中的encoding=None修改为UTF-8,可直接用下面的替换:

def __init__(self, args, bufsize=-1, executable=None,
                 stdin=None, stdout=None, stderr=None,
                 preexec_fn=None, close_fds=True,
                 shell=False, cwd=None, env=None, universal_newlines=None,
                 startupinfo=None, creationflags=0,
                 restore_signals=True, start_new_session=False,
                 pass_fds=(), *, user=None, group=None, extra_groups=None,
                 encoding=None, errors=None, text=None, umask=-1, pipesize=-1,
                 process_group=None):

因为Python版本不同,所在行数也不同,我举例如下,不代表真实行数:

Python3.11:807-815行。

Python3.10:758-765行。

如果使用我们已经构建好的程序,一般是不会出现这样的错误,如果仍然出现,请与我反馈!您可直接提交Issues,我们会安排人定期查看。

logo.ico

因为我引用了Logo文件,所以如果您将logo.ico删掉是会由tk报错的哦!请您加上我们的logo,非常感谢!

缺少标识符

如果您遇到以下问题:

Exception in Tkinter callback
Traceback (most recent call last):
  File "tkinter\__init__.py", line 1948, in __call__
  File "main.py", line 62, in encode
  File "qsnctf\misc.py", line 20, in Chinese_socialism_encode
    return str(content.call('encode', string))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "execjs\_abstract_runtime_context.py", line 37, in call
  File "execjs\_external_runtime.py", line 92, in _call
  File "execjs\_external_runtime.py", line 78, in _eval
  File "execjs\_abstract_runtime_context.py", line 18, in exec_
  File "execjs\_external_runtime.py", line 88, in _exec_
  File "execjs\_external_runtime.py", line 167, in _extract_result
execjs._exceptions.ProgramError: SyntaxError: 缺少标识符

请您前往https://nodejs.org/en/ 下载Node.js进行安装,安装后重启电脑即可打开和使用。

其他

为了抓取可能出现的bug,我们在第一次编译的时候没有关闭命令窗口,如果您遇到了其他问题,命令窗口将会是解决问题的重要线索。如果有其他报错问题,可以提交Issues给我们进行反馈哦。

如果超过30天没有Issues提交,我们将会打包新的程序,届时会关闭命令行窗口。

About

社会主义核心价值观GUI版


Languages

Language:Python 100.0%