自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jmhIcoding

Coding Life

  • 博客(351)
  • 资源 (17)
  • 论坛 (1)
  • 收藏
  • 关注

原创 flowcontainer: 基于python3的pcap网络流量特征信息提取库

库介绍flowcontainer是本人编写的基于python3的网络流量基本信息提取库,方便做加密网络流量的分类任务。给定pcap文件,该库会提取pcap所有的流的相关信息,其中流信息包括:流的源端口、源IP、目的IP、目的端口、IP数据包的长度序列、IP数据集的到达时间序列、有效载荷序列以及相应有效载荷的到达时间序列、TLS的SNI。库会对IP数据包做过滤,那些tcp/udp载荷不为0的数据包会统计到有效载荷序列里面。工具简单易用,扩展性和复用性高。库的安装pip3 install git+http

2020-07-06 05:56:22 1293 6

原创 Windows Edit 10注册码

注册码:Name:Cracker TeCHiScyRegister Code:1130140925535334280WinEdit下载URL:http://www.winedt.com/download/winedt103-64.exe2019-08-19实测有用

2019-08-19 16:02:42 1676

原创 Pytorch-geometric 图神经网络库 教程 (一)

前言之前我是一直使用DGL这个图神经网络库做图神经网络方面的研究的,DGL也是一个特别漂亮的图神经网络开源库。但是DGL有如下两个缺点:DGL适合跑那种邻接矩阵是良性定义的graph。良性定义是指Aij∈{0,1}A_{ij}\in\{0,1\}Aij​∈{0,1},邻居矩阵的每个元素不能是连续的。DGL的库更新的慢。此外,DGL主要是基于传统的图计算那套方法来实现的,里面有mailbox之类的,并不是用数学公式来直接表达。Pytorch-geometric则是可以解决如上的两个缺点。因此,

2021-04-05 21:01:00 59

原创 Winodws/Linux 平台上 各个版本pytorch的pip安装

v1.8.0# RocM 4.0.1 (Linux only)pip install torch -f https://download.pytorch.org/whl/rocm4.0.1/torch_stable.htmlpip install ninjapip install 'git+https://github.com/pytorch/vision.git@v0.9.0'# CUDA 11.0pip install torch==1.8.0+cu111 torchvision==0.9

2021-04-01 10:01:03 31

原创 RuntimeError: cublas runtime error : resource allocation failed at THCGeneral.cpp:250

pytorch报错:RuntimeError: cublas runtime error : resource allocation failed at THCGeneral.cpp:250 #10排查方法:如果模型本身没有GPU存储不够的问题,那么考虑使用torch.nn.Embedding()除了问题。embedding_layer = th.nn.Embedding(num_embeddings=3, embedding_dim= self.embedding_dim)那么输入给embed

2021-03-29 22:01:24 26

原创 虚拟环境使用matplotlib报错:Can‘t find a usable init.tcl in the following directories

在虚拟环境使用matplotlib报错两例:_tkinter.TclError: Can’t find a usable init.tcl in the following directories:解决方法:首先,退出虚拟环境:deactivate.然后输入pip3 -V,查看当前系统默认的python3的lib目录:jmh@ubuntu:~$ pip3 -Vpip 21.0.1 from /root/anaconda3/lib/python3.6/site-packages/pip (pyth

2021-03-27 07:38:26 17

原创 多分类条件下分类指标:Macro-average和Micro-average,以及Weighted-average

在二分类条件下,我们可以很轻易的在混淆矩阵的基础上定义出各种指标(例如Accurarcy, precision, F1F_1F1​, recall),其定义方法如下:true positive: TP,真实情况为True,预测也为正的样本数。false positive:FP,真实情况为False,预测为正的样本数。false negative:FN,真实情况为True,预测为负的样本数。true negative: TN,真实情况为False,预测为负的样本数。对于这四个指标,在英文的取名是是

2021-03-17 18:23:51 181

原创 Keras 添加自定义Losses

前言有时候,我们需要往模型里面添加一些自定义的loss。这些自定义的loss主要分为两大类:loss是基于样本的正确标签 yrealy_{real}yreal​ 和预测的logit ypredy_{pred}ypred​ 计算得到。这种loss主要集中在对分类损失的改进上,例如Focal Loss等。loss需要模型的中间层信息参与运算。这种loss常见的就是对权重的正则化项,高级一点还有对抗机器学习里面的FGSM的对抗学习正则化项。其中,第一类loss可以通过自定义loss函数,或者los

2021-01-11 15:56:22 120

原创 OriginLab学生版激活码续期

OriginLab学生版的激活码每次续费只有6个月的有效期,当有效期过了之后,只需要重新对激活码进行申请。申请方法:打开: http://www.originlab.com/OriginProLearning.aspx,在里面填入一些基本的信息。其中最关键的是你使用邮箱,请使用你们学校的邮箱。高校的邮箱,一般是以.edu结尾,同时还支持以下单位的邮箱:中科院:@ac.cn中科院:@*.cas.cn中国农业科学院:@caas.cn成都理工大学:@cdut.cn广西大学: @mail.gxu

2021-01-09 15:04:55 1377

原创 Keras 载入历史模型报错: AttributeError: ‘str‘ object has no attribute ‘decode‘

Keras 2.3.0 载入历史模型时报错:AttributeError: ‘str’ object has no attribute ‘decode’解决方法:1. 降级h5pypip3 install h5py==2.10.02. 更换模型载入方式上面的报错出现在调用load_weights() 载入模型参数的过程中,然而载入历史模型还可以调用keras.models.load_model函数,按照如下载入即可:model= keras.models.load_model(model_pa

2020-12-15 16:43:29 850 1

原创 Keras 如何搭建复杂模型?

前言在Keras中,我们最常用到的是使用Sequencial 模型来搭建神经网络模型。Sequencial搭建模型特别的简单、直接,但是缺点是这种途径无法搭建非线性的模型(例如残差网络),无法搭建多个输入、多个输出的模型。本博客就是介绍如何使用Keras里面函数式API 搭建非线性、多输入输出的神经网络模型。Keras 函数式APIKeras 函数式API——翻译前叫做 Keras functional API—— 是指可以将Keras里面创建的层(layer)或者模型(Model) 当做一个函数

2020-12-13 11:48:40 153

原创 pytorch 载入历史模型时更换gpu卡号,map_location设置

pytorch 在保存训练后模型的时候,会把训练过程中使用的设备号(例如gpu卡号cuda:0 ,cpu)也一并保存下来。当pytorch重新载入历史模型时,模型默认根据训练时的设备卡号,把权值载入到相应的卡号上。然而,有的时候测试过程和训练过程的设备情况是不一致的。举个例子,A主机有四块GPU卡,然后我们用cuda:3 训练模型,并保存模型。在测试时候,我们需要在客户的B主机跑模型,但是B主机只有一块gpu卡:cuda:0 。如果按照默认方式载入模型的话,pytorch会报找不到gpu设备,或其他

2020-12-11 16:41:26 169

原创 Keras:An operation has `None` for gradient. Please make sure that all of your ops have a gradient

Keras 报错:ValueError: An operation has None for gradient. Please make sure that all of your ops have a gradient defined (i.e. are differentiable). Common ops without gradient: K.argmax, K.round, K.eval.意思是说,构建的模型里面包含一些类似于K.argmax, K.round, K.eval.不可导的操作。

2020-11-19 19:23:02 290

原创 Keras 自定义层以及在Summary时自定义层的参数个数为0的问题

今天 开开心心的实现了一个带降噪功能的残差层:__author__ = 'dk'''' 定义降噪和增强模块'''from keras import backend as Kfrom keras.engine.topology import Layerfrom keras.layers import add,Flatten,Conv1D, AveragePooling1D,Dotimport kerasclass Denoising_layer(Layer): def __i

2020-11-18 19:43:00 176 2

原创 Keras ValueError: Unknown layer 自定义层历史参数无法载入

导入模型的时候出现: File “/root/anaconda3/lib/python3.6/site-packages/keras/utils/generic_utils.py”, line 140, in deserialize_keras_object': ’ + class_name)ValueError: Unknown layer: Denoising_layerDenoising_layer是我自己写的一个层,现在导入已经训练的模型时报这个错误。解决方法:在模型载入的时候添加类似如.

2020-11-17 17:19:22 96

原创 pytorch 踩坑集

错误1: 多LossRuntimeError: Trying to backward through the graph a second time, but the buffers have already been freed. Specify retain_graph=True when calling backward the first time.原因:一次feed,多次backward()了。方法:把各个LOSS加权求和起来,然后再backward().原来有问题的代码:

2020-11-13 19:27:15 94

原创 Keras获取中间层输出

其中,self里面有三个对象:keras compile出来的图,self.model。model对应的图 self.graph,model所在的会话 self.session。 def get_feature_map(self,X,layer_name='block1_conv1'): ''' 获取特定中间层的特征图 :param X: 输入数据 :param layer_name: 层的名字,str :re

2020-11-11 11:18:39 90

原创 Keras 给定输入数据,获取LOSS关于输入的梯度

需求论文需要使用对抗训练 adversarial training,里面需要拿到目标函数的loss关于输入样本的梯度。方法:使用Keras.backbend的function函数要点:想办法把输入feed给模型from keras import backbend as K#model是编译好的模型,with model.session.as_default(): #模型所在的session with model.graph.as_default(): #模型所在的graph

2020-11-07 17:24:00 477 4

原创 图卷积网络原理(二)【图信号与图的拉普拉斯矩阵】

矩阵乘法的三种视角后续图卷积网络的原理讲解主要以矩阵乘法的显示展开,这里介绍矩阵乘法的几种不同的视角,这些视角有助于我们理解图卷积网络的逻辑过程。对于矩阵 A∈Rm×nA\in R^{m\times n}A∈Rm×n 和 矩阵 B∈Rn×pB \in R^{n\times p}B∈Rn×p,它们的乘积 C∈Rm×pC \in R^{m \times p}C∈Rm×p,可以由如下三种视角计算得到。內积视角:这是我们本科阶段就接触到的视角。矩阵CCC 的第i 行第 j 列是由矩阵 AAA 的第iii 和

2020-11-02 00:51:47 291 1

原创 NFLOG 网络pcap数据包转以太网pcap数据包

项目介绍本项目支持将从Linux NFLOG网卡抓取的NFLOG 帧转换为常见的以太网帧。项目地址:https://github.com/jmhIcoding/nflog_to_eth.git环境要求:Windows : 需要安装VC++ 2013 运行库Linux : 需要安装g++, libpcap-dev项目编译方式源码安装VS2013打开vsrc目录,里面有个vsrc.sln项目文件,用VS2013打开这个项目文件,然后编译就可以。Linuxsudo apt-get inst

2020-10-30 18:18:20 107 1

原创 图卷积网络原理(一)【引入图神经网络的动机】

前言接下来,本人将编写系列教程介绍图卷积网络的动机和基本原理。在我看来,图神经网络只是一个建模工具,因此我更多是从使用这个工具的角度来阐述个人的理解!欢迎交流。引入图神经网络的动机对于图数据(分子结构图、交通图等)领域本身去研究图神经网络的是没啥可说的,但是非图数据领域为何又要引入图神经网络呢?动机一:引入样本与样本之间的关联关系我们知道,传统的神经网络的工作过程是逐样本的,也就说:给定一个batch的输入样本 Xm×nX_{m\times n }Xm×n​ ,其中mmm 表示batch的大小,

2020-10-29 08:53:34 166

原创 使用Github API,将Github打造成一个稳定、便捷的网络数据中转站

前言github作为一个稳定的代码托管库其实是可以用来作为数据的中转站,来实现数据的自动更新、访问。更为可喜的是,目前有现成的python库完成了github api的封装,我们直接使用 已经封装好的库就可以了。本人使用的是:Pygithub, 项目使用文档:https://pygithub.readthedocs.io/en/latest/introduction.html库的安装方法:pip3 install pygithub库的使用方法:申请access token要使用github

2020-10-28 11:27:48 243

原创 website_fingerprinting 使用项目

website_fingerprinting目前本项目支持如下模型:Deep FingerprintingSDAELSTMCNN剩余两个是统计机器学习模型:【 目前这两个模型没有适配好,但是里面的特征提取是有效的】CUMULAppScanner使用方法数据准备首先,需要准备好数据格式:需要将网络流量整理为如上的6个文件,并放在同一个目录,文件名如上。X_train_pkt_length.pkl : 包长序列,训练集。X_valid_pkt_len

2020-10-13 17:39:56 175

原创 Linux创建WiFi热点

sudo git clone https://github.com/oblique/create_apcd create_apsudo make install #安装依赖的库sudo apt-get install util-linux procps hostapd iproute2 iw haveged dnsmasq此时可以创建热点,通过以下命令:sudo create_ap wlan0 eth0 热点名 密码接下来,设置开机自启就可以了。...

2020-10-13 10:09:02 131

原创 Linux Service配置文件的编写

通过编写Service配置文件,可以使用Linux的 systemctl 命令来达到管理服务的启动、自启动、停止 特定脚本、进程。编写方法:文件命名:xxxx.service[Unit]Description=Frp Server Service #服务的描述信息After=network.target #其中network.target代表有网路,network-online.target代表一个连通着的网络。[Service]Type=simpleUser=nobodyRes

2020-10-11 15:04:39 1106 1

原创 (一)bootsect.s 引导区代码剖析

当机器加电后,首先强制把CPU里面的CS:IP设置为:CS=0xF000,IP=0xFFF0。这是CPU与BIOS开发商之间做的约定,是整个系统能够跑的起来的逻辑起始点。0xFFFF0处就是BIOS代码所在的ROM区域的开头,在CS:IP指向此处后会执行BIOS的基本IO设备的检查,等BIOS检查完毕后,开始把启动设备(比如磁盘、光驱、软盘等)的0盘面0磁道第1扇区载入到内存的0x07C00处。最后BIOS跳转到0x07C00,把控制权交给操作系统的boot引导程序。 注意这个0x07C00是BIOS的约

2020-09-26 14:30:45 184

原创 GlobeCOM 2020 中稿

在过去的四个月内,连续写了两篇论文。今天终于第一篇已经出来结果,而第二篇也在17号的15:00截稿了。晚上就很困,本想着早点去睡觉,但是躺在床上又没有困意的样子,所以又起来记个流程账。globalcom2020这篇论文是关于加密网络流量里面的实时对抗防御样本生成的工作。这项工作的基础其实可以追溯到上个学期,但是由于上个学期的方法不对,也没有多大的进展。今天4月份开始重新做这个玩意,我觉得效果好的最重要的原因是对流量数据进行简化,通过合并相同方向的包,把输入数据的长度限制在比较小的、可以有效建模的范

2020-08-17 21:56:33 396

原创 DGL 的GATConv报错:Expect number of features to match number of nodes (len(u)). Got 2397 and 799 instead

使用DGL的GATConv层,居然意外的出现如下错误:dgl._ffi.base.DGLError: Expect number of features to match number of nodes (len(u)). Got 2397 and 799 instead.注意到799是节点数,而2390刚好是799的3倍,这个3恰好又是num_heads的数值。因此GATConv的返回值的现状为:(N,H,M)(N,H,M)(N,H,M) ,其中NNN 是节点个数,HHH 是特征长度,而 MMM是

2020-07-02 00:17:49 663

原创 基于DGL库图神经网络教程(1)——基本的建图操作

最近接触了图神经网络,感觉这个玩意可以提供多粒度视角。在对研究对象进行抽象后,既可以对节点进行分类,也可以对边进行分类,还可以对图整体进行分类。 图神经网络这种结构就提供一种多粒度描述特定对象的能力。想想还是蛮不错的啊。所以就搞搞图神经网络。目前来看图神经网络的理论学习路线有:图论基本知识。这个很熟,不用学。线性代数,尤其是傅里叶变换的矩阵形式。这个只要回去看看书就行,我看了图卷积网络的理论基础,其实就是傅里叶变换矩阵形式的应用,这个在矩阵分析课已经很常见了,不算什么新知识点。但是要接触图神经网络

2020-06-28 07:10:53 1724 1

原创 Traffic_parse 流量特征解析项目

项目介绍做流量分类,需要提取网络流量的原始特征。这里的原始特征包括:包长、包到达时间间隔、特殊头部字段、载荷。。。等等。pyshark,scapy等python包解析库太特么难用了。难用主要体现在,对于标注的传输层协议UDP/TCP,它的属性字段是变化的。举个例子UDP上面的NetBIOS,pyshark和scapy就不同通过访问udp.payload得到,真是自作聪明。所以,还是自己写代码提取所需要的特征吧。再多吐槽几句:pyshark,scapy就是垃圾!!!!项目地址:https://git

2020-06-26 07:35:04 309

原创 强烈DISS pyshark

pyshark是对tshark做了一个封装。pyshark就是个垃圾,自作聪明滴对包的属性乱起名字,而且文档也是垃圾。最大的诟病:速度慢随意定义各层的属性。比如UDP里面如果套了个NetBIOS,UDP居然连payload这个属性都没!...

2020-06-25 09:09:44 211

原创 tshark 使用技巧

tshark 删除乱序、重传数据包:tshark -2 -R "not tcp.analysis.retransmission && not tcp.analysis.out_of_order" -r 源文件.pcap -w 目标文件名.pcap'tshark 获取tcp流,并保存text格式tshark -r 源文件.pcap -qz follow,tcp,raw,tcp流的编号流的编号是0开始的。其中raw是16进制串表示流的数据:还可以hex显示,有数据的偏移:t

2020-06-23 21:55:29 524 5

原创 隧道行为精细化分类调研

隧道行为精细化分类调研Matti 和MirKo 在2011年提出两阶段识别SSH隧道上应用类别的方法[1],第一阶段先识别出某条连接是不是SSH连接,第二阶段检测SSH隧道上面的应用类别。他们使用的是统计特征。【1】Maurizio和Alice等人在2014年提出使用SVM和GMM方法检测SSH隧道上应用类型的方法【2】。他们使用的特征是每条SSH流的前N个包的带方向的包长序列。他们研究的行为类别分HTTP,POP3,POP3S,EMULE,MSN,HTTPS,BT。两种分类方法的识别准确率都可到达71

2020-06-23 12:26:33 397

原创 Android 获取系统、应用信息小技巧

获取指定APP的userIdadb shell dumpsys package 包名 | findstr userId示例:PS C:\Windows\system32> adb shell dumpsys package com.findtheway | findstr userId userId=10167获取指定APP的版本号adb shell dumpsys package 包名| findstr versionName示例:PS C:\Windows\system

2020-06-19 08:08:49 185

原创 Infocom 2020 论文快读

URL: https://infocom2020.ieee-infocom.org/accepted-paper-list-main-conference选读网络流量分类领域的论文。Autonomous Unknown-Application Filtering and Labeling for DL-based Traffic Classifier UpdateJielun Zhang, Fuhao Li, Feng Ye and Hongyu Wu (University of Dayton,

2020-06-04 20:48:40 1434

原创 NDSS 2020论文快读

CloudLeak: Large-Scale Deep Learning Models Stealing Through Adversarial ExamplesHonggang Yu and Kaichen Yang (University of Florida); Teng Zhang (University of Central Florida); Yun-Yun Tsai and Tsung-Yi Ho (National Tsing Hua University); Yier Jin (Un..

2020-05-30 10:22:37 1484

原创 GAN网络生成手写体数字图片

Keras真香,以前都是用tensorflow来写神经网络,自从用了keras,发现这个Keras也蛮方便的。目前感觉keras的优点就是方便搭建基于标准网络组件的神经网络,这里的网络组件包括全连接层,卷积层,池化层等等。对于需要对网络本身做创新的实验,keas可能不是很方便,还是得用tensorflow来搭建。这篇博客,我想用Keras写一个简单的生成对抗网络。生成对抗网络的目标是生成手写体数字。先看看实验的效果:epoch=1000的时候:epoch=10000的时候:数字1已经有点像了

2020-05-28 21:59:45 854

原创 安卓系统按应用/进程抓包方法

前言日常科研生活中有许多抓取安卓手机上特定应用的纯净数据包的需求。目前常见的做法是通过应用设置,关闭其他非目标应用的网络访问权限(包括访问WLAN和流量数据),只把目标应用的访问网络权限打开。这种方法具有一定的可行性,但是缺点在于无法去除关闭OS自己产生的流量,这还是会引入一些背景杂流。本文提供的方法可以实现直接按进程/应用过滤数据包,可以捕获完全纯净的应用数据。本方法的技术路线如下:Android系统在用户安装好某个APP会,就会给这个APP分配一个设备内唯一的user id,这个user i

2020-05-11 06:27:20 963

原创 松弛假设型论文的摘要赏析

论文名:A Critical Evaluation of Website Fingerprinting Attacks (CCS2014)URL: https://nymity.ch/tor-dns/pdf/Juarez2014a.pdf摘要:Recent studies on Website Fingerprinting (WF) claim to have found highly ef...

2020-03-29 11:00:46 177

原创 WinRAR和WinZIP 密码找回

资源链接:https://download.csdn.net/download/jmh1996/12262197有时候我们会把WinRAR的密码给忘记,然后需要一个工具可以帮忙找回密码。以下这个小工具就可以,它运行起来的效果:支持密码本工具,也支持无脑暴力破解。但是需要先注册。注册方法:下载上面的资源,安装软件。断网,添加注册信息修改host文件,添加如下两行:127.0.0...

2020-03-22 10:21:24 1306

SMV 符号验证的使用文档

SMV 符号验证的使用文档。SMV是很简单的基于CTL 逻辑的验证工具,本文档介绍了本工具的使用方法。

1969-12-31

floodlight-1.2.zip

方便网友下载floodlight

2017-04-15

top-1m.csv.zip

本文件记录了Alexa Top 1000000的网站。 数据有两列,第一列是rank,第二列是域名。

2019-12-18

C++编程艺术

一本描述c++编程的基础书,十分利用中等以下的C学生。

2012-07-01

定制版LightGBM

本文件主要基于微软开源的LightGBM项目,对其中的application.h,application.hpp,predictor.hpp文件进行修改,添加用于实时预测的C++ API ,方便用户部署预测速度飞快的C/C++线上预测模型。

2018-06-24

STL v2.03 解析工程文件

STL v2.03 解析工程文件,供学习STL源码使用。里面是一个vs2013的工程文件。

2017-09-13

STL v3.01工程代码

STL v3.01工程代码,没什么好描述的;STL v3.01工程代码,没什么好描述的;

2017-10-20

浅淡Win32 系统级异常处理机制

浅淡Win32 系统级异常处理机制,方便为接下来的基于S.E.H机制的攻击做基础.

2016-09-24

mininet-master.zip

方便网友下载Mininet

2017-04-15

winrar获取密码.rar

解压密码:12262197。

2020-03-22

深度学习_高清PDF,带书签目录

深度学习由机器学习领军人物 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville联合编写,经典书籍 不多说。

2017-10-15

面向机器智能的TensorFlow实践

本书是一本极佳的TensorFlow入门指南,作者都来自研发一线,他们用自己的宝贵经验,结合众多高质量的代码,生动讲解TensorFlow的底层运作套路。本书是购买纸质书时送的,而且不是扫描版。目录结构清晰准确,而且特别方便在电子设备上看!!!!

2017-06-14

面向机器智能的TensorFlow实践(山姆·亚伯拉罕 (Sam Abrahams) )

本书是一本极佳的TensorFlow入门指南,买了一本纸质书,商家送了PDF.文档特别清晰,并非扫描版,方便在电子设备上阅读。

2017-06-14

Visifire 4.0.2无水印 chart控件

Visifire 4.0.2无水印 chart控件,支持WPF不slivight

2017-04-18

FAT文件系统原理

本文详细介绍了FAT32文件系统的原理,是想从事数据恢复的很好的先修资料

2016-03-19

神经网络在艺术风格上的学习应用

德国科学家关于神经网络在艺术风格上的学习应用的论文:a neural algorithm of artist style.方便不好寻找原文的朋友下载

2016-03-19

万能脱壳机

万 能 脱 壳 机 器。 十分好用 你来试试吧!

2012-03-29

Icoding_F2014的留言板

发表于 2020-01-02 最后回复 2020-12-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除