- 博客(95)
- 收藏
- 关注
原创 浅谈Attention模型
目录前言正文hard attentionsoft attentionglobal attentionlocal attentionself-attention总结前言我们先简单聊下 attention 模型的引入。以基于 seq2seq 模型的机翻为例,如果 decoder 只用 encoder 最后一个时刻输出的 hidden state, 可能会有两个问题:encoder 最后一个 hidden state, 与句子末端词汇的关联较大,难以保留句子起始部分的信
2021-02-25 20:46:07
752
原创 浅谈Transformer
目录Transformer模型回顾简述Transformer的输入单词 Embedding位置 EmbeddingSelf-Attention结构Q,K,V的计算Self-Attention的输出Multi-Head AttentionEncoder结构残差模块Feed ForwardDecoder结构第一个 Multi-Head Attention第二个 Multi-Head AttentionSoftmax 预测输出单词Transfor
2021-02-19 20:08:14
1499
原创 浅谈fastText中的N-gram特征
N-grams模型自然语言处理过程中,一个值得我们主义的是,如果我们仅仅是将文本字符串分割成单独的文本,此时我们只是简单的去分析文本中每个字符所代表的潜在意义与我们需要分析的结果的关系性,然而我们忽略一个非常重要的信息,文本的顺序是含有非常重要的信息的。举一个简单的例子,“钓鱼”两个词,如果我们单独去分析这两个词,而不是看作一个整体的话,那么我们得到的语意意思就是“钓”是一个动作词,“鱼”是一个名词,而当两个字放在一起的时候,我们知道其实我们想表述的“钓鱼”是我们要做的一个活动(event)。又比
2021-02-10 09:11:10
2439
原创 tensorflow的 jupyter环境 error :UnrecognizedFlagError: Unknown command line flag ‘f‘ 解决办法
在pycharm里运行就不会,应该是jupyter的问题?(具体原因我也不是很清楚...)加一行代码即可:tf.app.flags.DEFINE_string('f', '', 'kernel')Referencehttps://blog.youkuaiyun.com/qq_35455503/article/details/86308556
2021-01-20 19:44:45
364
原创 浅谈Word2vec
目录00 前言01什么是 Word2vec ?02Word2vec 的 2 种训练模式CBOW(Continuous Bag-of-Words Model)结构图模型流程举例Skip-gram(Continuous Skip-gram Model)简单情形一般情形03Word2vec 的优化方法04Word2vec 的优缺点优点缺点Reference00 前言在说明 Word2vec 之前,需要先解释一下Word Embed...
2021-01-19 15:10:23
1249
1
原创 jupyter连接服务器&安装模块
前端时间刚把pycharm连上服务器,但是因为jupyter可以分段运行代码,所以就想着把jupyter也远程连上服务器。首先在这里默认大家是安装好jupyter的,如果还未安装自行搜索。(其实直接pip install就可以)先看下怎么能远程连接上服务器:00连接服务器,在终端运行以下命令来生成配置文件:jupyter notebook --generate-config01进入ipython测试环境 ,输入密码,把输出的哈希值密码复制保存下来,后面会用到。In [1
2021-01-16 22:14:13
1332
1
原创 力扣_合法二叉搜索树_dfs
二叉搜索树(又:二叉查找树,二叉排序树)——Binary Search Tree解法一、递归函数递归调用的入口为helper(root, -inf, +inf),inf表示一个无穷大的值。class Solution {public: bool helper(TreeNode* root, long long lower, long long upper) { if (root == nullptr) { return true; ...
2021-01-15 10:34:04
197
转载 C++——函数传参三种形式(包含形参与实参)
https://blog.youkuaiyun.com/shang_0122/article/details/102208507
2021-01-15 10:33:11
285
原创 力扣_最小高度树_dfs
首先,先来看一下什么是二叉查找树:根节点的值大于其左子树中的任意一个节点的值,小于其右子树任意一个节点的值。这一规则适用于二叉查找树中的每一个节点,如图:总结一下就是,树的中序遍历可以得到一个升序序列。那如何保证高度最小呢?当树中的任意结点的左右子树高度差都不超过1时,整棵树的深度最小。下面时一种构造最小高度树的思路:如果序列长度为0,那么是一棵空树。 如果序列长度为1,那么只有1个根节点。 如果长度大于1,那么选取中间位置的数赋给根节点,然后前一半递归构建左子树,后一半递归构..
2021-01-14 21:33:11
538
原创 力扣_二叉树的深度——dfs
树的遍历方式总体分为两类:深度优先搜索(DFS)、广度优先搜索(BFS)常见的DFS:先序遍历、中序遍历、后序遍历 常见的BFS:层序遍历(即按层遍历) 求树的深度需要遍历树的所有结点,本文将介绍基于后序遍历(DFS)和层序遍历(BFS)的两种解法方法一:后续遍历(DFS)树的后序遍历 、 深度优先搜索往往利用 递归 或 栈 实现 关键点:此树的深度和其左(右)子树的深度之间的关系。显然,此树的深度等于左子树的深度与右子树的深度中的最大值 + 1.算法解析:终止条件:当root为空,说
2021-01-14 08:04:44
408
原创 DFS和BFS理解+模板+例题
DFS(深度优先搜索)本质上是暴力把所有的路径都搜索出来,它运用了回溯,保存这次的位置并深入搜索,都搜索完便回溯回来,搜下一个位置,直到把所有最深位置都搜一遍(找到目的解返回或者全部遍历完返回一个事先定好的值)。要注意的一点是,搜索的时候有记录走过的位置,标记完后可能要改回来。dfs一般借用递归完成整个算法的构造。int dfs(){ if(达到目的)处理return; else { 处理; dfs(); }}dfs
2021-01-13 18:45:44
21403
5
原创 pycharm连接远程服务器运行代码
Linux命令行运行实在顶不住了,最终还是来填坑了...环境:pycharm professional Edition 2018官网链接:https://www.jetbrains.com/pycharm/download/other.html(自行下载)01(这里先说明两点,大家可以排一下雷:首先,社区版tools是没有deployment的,可以尝试在setting中搜索一下SFTP,然后如果能搜索到东西就按照上面的步骤下载,搜索不到也没得法子了,转去下载专业版吧...我就是转去
2021-01-12 16:34:46
1784
转载 C++ STL用法总结
https://blog.youkuaiyun.com/u010183728/article/details/81913729
2021-01-11 21:09:26
163
转载 OSPF+ACL大型综合实验(组网)
https://blog.youkuaiyun.com/banya1999/article/details/90139489
2020-12-17 22:18:49
507
1
原创 关于Tensorflow2降版本tf1问题
最近在跑深度学习代码发现,有些代码是用tf1写的,而我的机子安装的是tf2,tf1到tf2还是有比较多的变化的,具体的版本变化自行百度,不贴出来了,这篇文章主要是提供一个解决办法怎么知道自己的报错是否是因为版本问题呢?我这里举一些报错出来吧:module 'tensorflow' has no attribute 'contrib'module 'tensorflow' has no attribute 'app'module 'tensorflow' has no attribute '
2020-11-24 11:59:43
7373
1
原创 OPSF协议
转载链接:组网技术 | OSPF协议一、OSPF协议概述OSPF 作为一种内部网关协议(Interior Gateway Protocol,IGP),用于在同一个自治系统(AS)中的路由器之间交换路由信息。OSPF 的特性如下:1. 可适应大规模网络;2. 收敛速度快;3. 无路由环路;4. 支持 VLSM 和 CIDR;5. 支持等价路由;6. 支持区域划分, 构成结构化的网络;7. 提供路由分级管理;8. 支持简单口令和 MD5 认证;9. 以组播方式传
2020-11-13 15:13:50
2589
2
原创 湖湘杯2020 easyre wp
很久没有写题解博客了,最近忙着学习深度学习= =,湖湘杯这道题还是不错的,可以锻炼一下自己动态调试的能力,所以刚好在练习的过程中记录一下,方便以后回顾:首先拿到文件,查壳发现无壳,运行一下大概就是先判断长度,再判断是否是正确flag:长度错误就输出wrong length并退出。拿到ida里看一下,发现没有很明显的入口函数,查找字符串找到input your flag:,找到主函数位置f5看一下,发现没办法反编译,所以我们就直接上动态调试吧:在0x40DA40下断点(f2),f8单步
2020-11-10 16:16:39
507
原创 Linux常用命令总结(持续更新
这学期刚好选到了操作系统实践这门课,借这个机会整理一下Linux里面的常见命令:ls类:- ls //显示当前目录下的文件- ls -a //显示隐藏文件- ls -l //列出当前目录所有文件的详细信息- ls -l 参数 //只查看参数文件的信息------------------下面可以参考正则表达式进行记忆&理解------------------- ls *.tmp //显示所有文件扩展名为tmp的文件- ls a*.tmp //以a开头,以tmp结尾的文
2020-11-08 20:51:41
373
1
原创 路由器RIP协议
一、RIP配置这里通告的网络指的是主类(也可以叫做有类),关于主类和无类,在这里简单的解释一下,想具体了解的话自行百度ip地址分为A,B,C,D,E五类,我们常用的是A,B,C三类。其中:A类 1-126 /8B类 128-191 /16C类 192-223 /24例:ip为1.1.1.1/8,那么该ip为A类(主类)(它的掩码是标准的)ip为1.1.1.1/24,那么该ip为无类(无类,它的掩码会变长/短)二、关于优先级因为在路由表中一条路由条目只能显示一次,...
2020-10-23 15:48:34
862
2
原创 VM Ubuntu硬盘扩容
之前一直提示我内存不足...我就一直忽略...今天终于不能再继续下载了 = = ...别说了我来扩容了 = =看了很多博客上的扩容办法,因为我本人对命令不是特别敏感,所以看到那些开新分区、挂载之类之类的都用命令行操作...我就不想搞= = 如果喜欢这种方式的话就去度娘自己搜吧,在这里我就不写了;我又不想开虚拟内存(因为根本不够qaq),然后就想有没有一种图形界面的可以直接操作的,终于!!gparted真的香[doge/]说一下:我最后是采用了把/dev/sda1扩容,没有再去开新的分区,也没有使用虚
2020-10-19 21:27:29
151
原创 静态路由学习
首先知道几个命令,用来查看路由表:show ip route在路由表中,C表示是直连的,S是静态的(也就是我们手动加入的),D是动态路由我们知道路由器不同接口是需要接不同网段的,那么有没有什么办法能够不增加任何设备即可以增加网段?答:我们可以设置子接口,又称为环接口(即虚拟接口)int loopback 0ip add 1.1.1.1 255.255.255.0配置真实端口ipint s0/0/0ip add 192.168.12.1 255.255.255.0no
2020-10-18 16:20:29
551
原创 攻防世界warmup pwn wp(fuzz)
发现这题没给附件,所以是要fuzz的题目(最开始不知道什么叫fuzz = =,在这里解释一下,(fuzzing)模糊测试的意思,百度是这样解释的:模糊测试(Fuzzing),是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。首先先远程看一下:可以发现给了我们一个十六进制数(应该是地址)那首先根据这些我们可以先将fuzz函数写出来,分三种情况——不用他给的地址(0),用p32发送(1),用p64送(2)expfrom pwn import*addr = 0x
2020-10-15 12:01:25
837
原创 攻防世界pwn stack2 wp
拖进ida查看,找到溢出点:通过这里我们可以更改数组中任意元素的值,那么,如果要更改返回位置的话我们就要去计算main函数返回位置距离数组的偏移是多少了。(这道题的难点也是在这里)思路:我们在输入的时候,输入数组的第1个元素,看他存储在栈中的哪个位置,然后再看函数漏洞所在函数(main)最后返回时,栈顶的值,他们的差值就是数组的大小加上ebp。找到后门函数:但是后来发现靶机上没有bash,所以你可以把这个看成是一个假的后门qaq,我们可以找到system函数,然后用后门里的"sh"
2020-10-14 16:00:37
364
原创 攻防世界Mary_Morton wp
首先查看他的保护机制:(checksec)有canary保护然后我们拖进ida发现两处溢出点:看一下流程图和汇编可以知道readsqword这个地方有canary保护,只有 rax 和fs:28h 两个值相等的时候 才能跳转到返回值,反之则调用stack_chk_fail找到后门函数思路:将两个漏洞结合利用,首先利用字符串漏洞,泄露出canary的值,然后在函数要返回的时候再填回去,之后利用栈溢出,让其返回到后门函数根据程序可以看出,v2应该就是canary的..
2020-10-13 13:32:09
361
原创 攻防世界(PWN)forgot
感觉有些wp写的不是特别详细,当时我看的时候有的地方也是看不太懂...先拖进ida中看一下:找到溢出点,因为我们分配给了v2 32byte的内存,但是scanf不限制长度,所以这里可以溢出。第88行就是决定程序走向的语句了。初步思路就是栈上的变量覆盖,在v2这里溢出,覆盖掉v3,然后让程序走到sub_80486CC:既然我们要覆盖v3,那么根据(&v3+ --v14)我们需要让v14的值不变,因为v14 = 1则--v14 = 0,这样程序就会顺利的走到v3.观察
2020-10-12 15:56:59
331
原创 单臂路由实验
实验步骤1)设置交换机:创建两个vlan,并将接口加入vlan这里0/5接口连接的是PC1,0/7接口连接的是PC0.使用命令:switchport mode accessswitchport access vlan 2可以将该接口接入vlan2中2)设置PC:IP 子网掩码 网关地址(网关地址很重要!!——网关地址其实就是一条默认路由)3)设置交换机:将连接路由器线路的接口设置成trunk(这里是f0/10接口)注意交换机和路由器的本征vlan要相同才能p...
2020-10-09 22:20:12
814
原创 Linux安装sublime 创建桌面快捷方式并可以用命令行打开
安装官网下载Linux版本,成功之后解压,这里就不放步骤截图了,也不需要配置什么。快捷方式图标解压之后会有一个sublime.text.desktop的文件,修改权限——读写,然后使用命令sudo gedit sublime.text.desktop打开,然后将里面的内容修改为:[Desktop Entry]Version=1.0Type=ApplicationName=Sublime TextGenericName=Text EditorComment=Sophist
2020-10-07 19:54:49
772
原创 逆向angr学习
坑是迟早要填的....前言angr 是一个基于符号执行和模拟执行的二进制框架,可以用在很多的场景,比如逆向分析,漏洞挖掘等。符号执行简单来说就是用符号来模拟程序执行,在我看来就相当于暴力破解,比如一个程序要求你进行一个复杂的运算,每次动态调试只能输入一次,然而符号执行可以尽可能的遍历每一条路径,这样就方便了许多。...
2020-10-06 20:20:41
1442
1
原创 BUU NPUCTF2020
f5发现主函数逻辑很简单,直接找到关键函数进入:void *__fastcall RxEncode(const char *a1, int a2){ void *result; // rax int v3; // [rsp+18h] [rbp-38h] signed int v4; // [rsp+1Ch] [rbp-34h] int v5; // [rsp+20h] [rbp-30h] signed int v6; // [rsp+24h] [rbp-2Ch] int
2020-10-05 22:35:29
374
原创 STP——生成树协议 & ip地址分配问题
1. STP?Spanning Tree Protocol——生成树协议树没有环路,但是有冗余2. 冗余链路带来的问题有哪三个?多次拷贝 CAM表不稳定 广播风暴3. STP里面找到阻塞口的步骤是什么?先找到转发数据口(包含根端口,指定口),然后剩下的就是阻塞口。4. 如何确定根桥?根桥:所有端口皆可转发。互相交换BPDU(桥协议数据单元),然后去比较BID(Bridge id),小的就是根桥。5. BID的组成:(图源自老师的ppt,非原创)Bridge Priorit..
2020-09-27 15:07:10
1025
原创 VTP——VLAN中继协议
1. VTP含义?2. VTP三种模式的理解:3. 透明模式交换机不受其他交换机的影响,也不影响其他交换机。服务器设置vlan2,3,透明模式不一定有vlan2,3,透明是独立的如果没有透明模式,交换机要么服务器要么客户端,所有在VTP的交换机vlan都是一样的服务器模式——默认4.在一个VTP域里,拥有最高修订号的交换机会覆盖其他角色交换机的VLAN*透明除外)修订好高的交换机覆盖修订号低的交换机,不管它是什么模式。5. vtp配置步骤:6.查看命令:...
2020-09-25 14:42:01
796
原创 交换机配置VLAN和跨交换机
1. VLAN含义?把地理位置不在一起的设备逻辑上划分到一起。2. 划分VLAN优点?管理方便;安全。3. 怎么创建VLAN?交换机进入到conf t模式后,直接在命令行输入vlan 2.....就可以创建了4. 怎么把创建的VLAN改名字?输入过vlan 2之后,在后面接着输入name teaher,就可以把vlan2的名字改成teacher5. 通过do show vlan命令可以看到当前的vlan配置(do代表强制执行)6. 如果将指定端口加入VLAN?Switch(co
2020-09-19 10:36:13
698
原创 re-for-50-plz-50(MIPS指令)
突然想起很久之前的一个坑没填题目是攻防上的,借着这道题直接把MIPS坑填平拖进ida查看你就会发现它处处都在提醒你,它是一个MIPS文件查看主函数:都是MIPS平台上的指令..看不懂qaq那就有下面两个选择了:1. 恶补MIPS指令——【十分钟教会你汇编】MIPS编程入门(这里再留个坑= =2. 在ida里安装插件——传送门2(ps. 如果直接找函数简单看出逻辑写脚本也不是不行哈:本人毫无疑问的选择了第二种> <,具体安装反汇编等等就去看上面传送门里的
2020-09-17 17:30:54
298
原创 base64原理(附代码) & 换表脚本
虽然有在线工具,但是原理这东西还是都要明白才行,不然换汤不换药就不会了噢base64原理简单来说就是——“把3个字节变成4个字节”这么说吧,3个字节一共24个bit,把这24个bit依次分成4个组,每个组6个bit,再把这6个bit塞到一个字节中去(最高位补两个0就变成8个bit),就会变成4个字节。没了。因为6个bit最多能表示26=6426=64,也就是说Base64编码出来的字符种类只有64个,这也是Base64名字的由来。应用由于二进制的一些字符在网络协议中属于控制字符,不能
2020-09-17 14:13:07
1979
原创 GACTF easyre复现
简单说一下函数逻辑:首先输入38位char型数据过后进行三层加密encode_one, encode_two, encode_three,然后对比在程序里面存放的数据,如果相同则通过,否则就不通过 encode_one:base64编码(啊...这里源码看了好久...算是看到第二层输出并且看了个源码大概然后蒙出来的,换个表就容易懵...base64源码之前看的有点囫囵吞枣,单看源码还有点懵,主要是移位感觉没太学好的样子,最近再仔细学一下写篇博客)encode_two:每13个一...
2020-09-17 00:08:35
215
原创 BUU RE部分apk整理(持续更新)
[BSidesSF2019]blink使用GDA打开,main中没什么关键函数,随便翻一下其他函数,找到隐藏的图片base64编码:然后把这部分base64直接转成图片就行了,在线转换网站is here.
2020-09-16 17:49:20
510
原创 系统学习vm虚拟机逆向
最近做了两个vm逆向的题,为了理解的更透一点并且动手实践,所以写下这篇博:首先,来说一下什么是vm逆向?vm逆向首先这里的虚拟机往往不是商业的vmp之类的保护软件,而是出题人实现的小型虚拟机,题目本身一般也没有实现某些复杂的功能。基本原理这里的虚拟机当然并不是指VMWare或者VirtualBox之类的虚拟机,而是指的意思是一种解释执行系统或者模拟器(Emulator)。所以虚拟机保护技术,是将程序可执行代码转化为自定义的中间操作码(OperationCode,如果操作码是一个字节,一
2020-09-16 00:05:54
4665
原创 交换机/路由器基本配置
一、三种模式切换用户模式:R1>(输入enable可以进到下一级)特权模式:R1#(输入conf t可以进到下一级)配置模式:R1(config)#exit——退出一级 end——直接退出到特权模式二、路由器重命名router(config)# hostname R1三、关闭域名查找router(config)# no ip domain-lookup未关闭之前用ctrl + shift + 6退出死机状态如果想开启的话就把no删掉四、设置超时R1(config)#l..
2020-09-11 18:14:33
9530
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人