Cyberchef开发operation操作之-node开发环境搭建

server/2025/1/16 5:09:00/

本文介绍一下Cyberchef开发operation操作环境的搭建工作,为后续的Cyberchef开发operation操作提供开发环境基础,这里。该篇作为我的专栏《Cyberchef 从入门到精通教程》中的一篇,详见这里。

Linux环境

由于cyberchef只支持Linux和MAC的开发环境,因此需要安装Linux,我个人选择Debian为开发环境。
在这里插入图片描述
我的环境如下:
在这里插入图片描述
个人可以根据情况灵活选择MAC系统或者不同的Linux发行版本。

node_7">node安装

cyberchef的开发环境为node18,具体要求详见这里。关于node的安装参考见这里,和这里。使用如下命令安装node18:

sudo apt-get install -y curl
curl -fsSL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh
sudo -E bash nodesource_setup.sh
sudo apt-get install -y nodejs
node -v

SMB设置

由于开发环境是在debian中,但是IDE工具使用的是Windows上的VS code,因此需要配置SMB。debian默认没有SMB,因此需要首先安装,命令如下:

apt-get install samba
sudo mkdir -p /repo
sudo chmod 777 /repo
chown -R debain:debian repo

选择repo为共享目录,同时通过bashnano /etc/samba/smb.conf修改SMB配置文件,在配置文件末尾添加如下配置:

[share]comment = Shared folderpath = /repobrowseable = yesguest only = yeswritable = yesread only = nocreate mask = 0777directory mask = 0777

修改之后重启SMB,如下:

systemctl restart smbd
systemctl restart nmbd

这里这个共享目录路径选择非常关键,最好在根目录下设置repo。因为在Samba里,如果你要设置的共享目录是/home/debian/share,那么必须把home,debian ,share这三个目录,即共享的父目录直到 / 下面的目录,全部设置为可访问可读写权限,这样最后才能在Windows上成功访问SMB,不然的话在输入正确的用户名和密码之后会一直提示没有权限访问。因此为了省事,上述直接在根目录新建repo目录。

Windows设置

为了避免可能的SMB访问问题,通常在window上还需要做如下设置,首先打开SMB1:
在这里插入图片描述

其次启动不安全来宾登录:
在这里插入图片描述

最后将SMB的文件路径映射到本地的F盘:
在这里插入图片描述

如果已经存在连接使用如下命令进行删除:

net use \\192.168.233.132\share /delete

Git设置

下载代码,首先确保本机器安装了gitgit的下载链接为这里。需要设置git的代理进行GitHub代码下载,前提要本地启用代理,在debian中使用命令如下:

git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

当然也可以在winddows上VScode设置,如下:
在这里插入图片描述

cyberchef_69">cyberchef

代理

首先在debian的cyberchef文件夹下,执行npm install,将会按照package.json文件中的配置,安装cyberchef所需要的依赖文件。需要注意的是这个地方需要设置代理,不然有些安装包源可能存在问题,debian上设置代理如下:
在这里插入图片描述

去除代理的命令为:

unset http_proxy
unset https_proxy

npm_install_80">npm install

执行npm install,安装依赖如下:
在这里插入图片描述
npm install执行的结果如下

npm warn EBADENGINE Unsupported engine {
npm warn EBADENGINE   package: '@astronautlabs/amf@0.0.6',
npm warn EBADENGINE   required: { node: '^14' },
npm warn EBADENGINE   current: { node: 'v18.20.5', npm: '10.8.2' }
npm warn EBADENGINE }
npm warn deprecated phin@2.9.3: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
npm warn deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm warn deprecated loglevel-message-prefix@3.0.0: Use @natlibfi/loglevel-message-prefix instead
npm warn deprecated es6-polyfills@2.0.0: Use @natlibfi/es6-polyfills instead> cyberchef@10.19.4 postinstall
> npx grunt exec:fixCryptoApiImports && npx grunt exec:fixSnackbarMarkup && npx grunt exec:fixJimpModuleRunning "exec:fixCryptoApiImports" (exec) taskDone.
Running "exec:fixSnackbarMarkup" (exec) taskDone.
Running "exec:fixJimpModule" (exec) taskDone.added 1468 packages in 2m199 packages are looking for fundingrun `npm fund` for details

npm_start_114">npm start

执行npm start, 该命令的逻辑位于package.json中,如下:
在这里插入图片描述

npm start 执行结果如下:

> cyberchef@10.19.4 start
> npx grunt devRunning "clean:dev" (clean) task
>> 0 paths cleaned.Running "clean:config" (clean) task
>> 0 paths cleaned.Running "exec:generateConfig" (exec) task--- Regenerating config files. ---
Written operation index.
Written OperationConfig.json
Written Ciphers module
Written Default module
Written Encodings module
Written Image module
Written Crypto module
Written Serialise module
Written Hashing module
Written Bletchley module
Written Compression module
Written Code module
Written Diff module
Written Shellcode module
Written Charts module
Written Regex module
Written PGP module
Written PublicKey module
Written OCR module
Written URL module
Written UserAgent module
Written Protobuf module
Written Yara module
Written OpModules.mjs
--- Config scripts finished. ---Running "concurrent:dev" (concurrent) taskRunning "watch:config" (watch) taskWaiting...Running "webpack-dev-server:start" (webpack-dev-server) task<i> [webpack-dev-server] Project is running at:<i> [webpack-dev-server] Loopback: http://localhost:8080/, http://[::1]:8080/<i> [webpack-dev-server] Content not from webpack is served from '/repo/CyberChef-Peter/public' directoryBrowserslist: caniuse-lite is outdated. Please run:npx update-browserslist-db@latestWhy you should do it regularly: https://github.com/browserslist/update-db#readme

访问本地localhost:8080的web服务如下:
在这里插入图片描述

有了上述的前期准备,接下来就可以按照自己的需求定制化自己的operation了,详见后续的文章《Cyberchef开发operation操作之-增加LEEF解析插件》,这里。

上述就是cyberchef开发所依赖的环境配置,希望对你开发cyberchef的操作有所帮助。

本文为CSDN村中少年原创文章,未经允许不得转载,博主链接这里。


http://www.ppmy.cn/server/158737.html

相关文章

Python 替换excel 单元格内容

要在Python中替换Excel单元格的内容&#xff0c;你可以使用openpyxl库。openpyxl是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的库。 安装openpyxl 首先&#xff0c;你需要安装openpyxl库。如果还没有安装&#xff0c;可以使用pip进行安装&#xff1a; pip install ope…

zookeeper 基本原理-单机模式、集群模式

单机模式 单机安装非常简单&#xff0c;只要获取到 Zookeeper 的压缩包并解压到某个目录如&#xff1a;C:\zookeeper-3.4.5\下&#xff0c;Zookeeper 的启动脚本在 bin 目录下&#xff0c;Windows 下的启动脚本是 zkServer.cmd。 在你执行启动脚本之前&#xff0c;还有几个基本…

在一个地方待多久才会改变ip属地

‌在当今数字化时代&#xff0c;IP地址作为网络世界的“门牌号”&#xff0c;不仅承载着设备连接互联网的身份信息&#xff0c;还常常与地理位置相关联。随着人们频繁地迁徙、旅行或在不同地点工作&#xff0c;一个自然而然的问题浮现在许多人心头&#xff1a;究竟在一个地方待…

CAD随机纤维线3D 中空圆柱分布插件

功能介绍 CAD随机纤维线3D中空圆柱分布插件&#xff0c;可用于在AutoCAD软件内生成指定数目、长度、角度的三维分布的纤维&#xff0c;纤维采用的是直线&#xff0c;生成的CAD文件可导入到Comsol、Abaqus、ANSYS、LS-DYNA等有限元分析软件内&#xff0c;进行梁单元等建立&…

多租户:租户间的共享功能:某些功能(如平台级分析、跨租户比较)是否应该给予某些用户访问权限?如何确保跨租户数据访问的安全?

在多租户架构中&#xff0c;共享功能如平台级分析和跨租户比较&#xff0c;通常需要在确保租户数据隔离和安全的前提下提供给特定的用户访问。这些功能可能跨越不同租户的数据&#xff0c;需要格外小心地处理&#xff0c;避免泄露敏感信息。下面我将从功能设计、安全控制和技术…

【3DGS (1) 】3D Gaussian Splatting全解 (原理+代码+公式) - 笔记

文章目录 1-什么是 splatting&#xff1f;2- Splatting 的流程3-为什么3d gaussian: 是椭球&#xff1f;4-各向异性和各向同性是什么意思&#xff1f;5-协方差矩阵怎么就能控制椭球形状呢&#xff1f;6-协方差矩阵怎么就能用旋转和缩放矩阵表达&#xff1f;7-仿射变换 本文为 B…

从字符串使用看Golang和Rust对内存使用的区别

从字符串使用看Golang和Rust对内存使用的区别 ​ 今天从Rust偶然回到Golang的世界&#xff0c;怎么写代码怎么别扭&#xff0c;总是忍不住在句子结尾加个分号…看到golang的字符串使用起来特别爽可以到处复制疯狂乱用&#xff0c;有一种从部队宿舍豆腐块被子的生活回归到居家肥…

集中式架构vs分布式架构

一、集中式架构 如何准确理解集中式架构 1. 集中式架构的定义 集中式架构是一种将系统的所有计算、存储、数据处理和控制逻辑集中在一个或少数几个节点上运行的架构模式。这些中央节点&#xff08;服务器或主机&#xff09;作为系统的核心&#xff0c;负责处理所有用户请求和…