MORSE

MOCTF-Crypt-writeup

心已入冬 提交于 2021-02-03 09:28:40
MOctf Crypt Writeup记录 都不难,就随便记录记录下。 MOCTF平台地址: http://www.moctf.com 0x01 数据库密码 hint:20岁的小刚,自幼热爱信息安全,一天他利用SQL注入漏洞入侵了XX公司的数据库 修改了数据库访问密码。网警不久便抓获了小刚,在小刚系统中发现了他做了入侵记录 上面写着一串字符串:D8EA7326QE6EC5916ACCDX6E0VC9D264C63,小刚说这与后台密码有关。 聪明的你知道如何解密这条记录,帮助XX公司恢复密码吗? 根据提示,与后台密码有关,一般后台密码都是MD5加密的,直接MD5解密,发现解不出来 MD5有32位和16位的(用十六进制表示),而这串字符有35位,所以应该是多了,找出不在0-9和A-F的再解就行了 MD5在线解密地址: http://www.chamd5.org/ get flag:moctf{key123} 0x02 rot大法好 直接给了这么一串字符:}rQbpar_gbE{sgpbz 而且题目也说了rot大法,所以直接rot13在线解密,地址为: http://www.rot13.de/index.php 有的在线解密不一定区分大小写,如果你解密出来,提交不对的话,可以重新找其他的。 get flag:moctf{Rot_encoDe} 0x03 奇怪的汉字 题目:2099年

电报之父的传奇人生

走远了吗. 提交于 2020-11-25 14:51:43
1791年4月27日,一个男孩在美国马萨诸塞州的查尔斯顿(Charlestown)出生。他的名字,叫做萨缪尔·芬利·布里斯·莫尔斯(Samuel Finley Breese Morse)。 没错,他就是电信时代的开创者,被誉为“电报之父”的美国著名发明家——萨缪尔·莫尔斯(也有译为塞缪尔·摩尔斯、摩斯)。 萨缪尔·莫尔斯 莫尔斯的父亲,杰迪狄亚·莫尔斯(Jedidiah Morse),是一位保守且虔诚的基督教公理会牧师,同时也是一位地理学家,在学术上颇有成就,后来还被誉为美国“地理学之父”。莫尔斯的母亲,名叫伊丽莎白·莫尔斯。 莫尔斯是家中长子,从小就展现出对艺术的浓厚兴趣,热爱绘画和雕刻。 1799年,年仅8岁的莫尔斯进入马萨诸塞州的菲利普斯艺术学院学习。6年后,进入耶鲁大学。 在耶鲁大学求学期间,莫尔斯旁听了几次电学讲座,对电有了初步的认识。 1810年,莫尔斯从耶鲁大学毕业,返回老家 查尔斯顿 。他父母希望他将来成为图书出版商,于是安排他到波士顿一家书店当学徒。 莫尔斯对这样的安排非常不满,坚决要求投身艺术事业。于是,在软磨硬泡之下,1811年7月,他父亲允许他前往英国,进入伦敦的皇家艺术学院学习。这期间,他得到了著名画家本杰明·韦斯特的指导。 莫尔斯的自画像(1812年) 1815年10月,莫尔斯学成回国,在波士顿开设了自己的艺术工作室。 在这一期间,他的艺术生涯非常顺利

Go 语言在极小硬件上的运用(二)

杀马特。学长 韩版系。学妹 提交于 2020-10-25 12:25:43
在本文的 第一部分 的结尾,我承诺要写关于接口的内容。我不想在这里写有关接口或完整或简短的讲义。相反,我将展示一个简单的示例,来说明如何定义和使用接口,以及如何利用无处不在的 io.Writer 接口。还有一些关于反射reflection和半主机semihosting的内容。 ] 接口是 Go 语言的重要组成部分。如果你想了解更多有关它们的信息,我建议你阅读《 高效的 Go 编程 》 和 Russ Cox 的文章 。 并发 Blinky – 回顾 当你阅读前面示例的代码时,你可能会注意到一中打开或关闭 LED 的反直觉方式。 Set 方法用于关闭 LED, Clear 方法用于打开 LED。这是由于在 漏极开路配置open-drain configuration 下驱动了 LED。我们可以做些什么来减少代码的混乱?让我们用 On 和 Off 方法来定义 LED 类型: type LED struct { pin gpio.Pin } func (led LED) On() { led.pin.Clear() } func (led LED) Off() { led.pin.Set() } 现在我们可以简单地调用 led.On() 和 led.Off() ,这不会再引起任何疑惑了。 在前面的所有示例中,我都尝试使用相同的 漏极开路配置open-drain

docker-compose ports 与 expose 的区别

依然范特西╮ 提交于 2020-05-05 10:13:50
这篇文章主要介绍了docker-compose ports和expose的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。 docker-compose中有两种方式可以暴露容器的端口:ports和expose。 ports ports暴露容器端口到主机的任意端口或指定端口,用法: ports: - "80:80" # 绑定容器的80端口到主机的80端口 - "9000:8080" # 绑定容器的8080端口到主机的9000端口 - "443" # 绑定容器的443端口到主机的任意端口,容器启动时随机分配绑定的主机端口号 不管是否指定主机端口,使用ports都会将端口暴露给主机。 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P(大写) 或 -p (小写) 参数来指定端口映射。 (1) 当使用-P标记时,Docker 会随机映射一个49000~49900的端口到内部容器开放的网络端口。 使用docker ps可以看到,本地主机的 49155 被映射到了容器的 5000 端口。此时访问本机的 49155 端口即可访问容器内 web 应用提供的界面。 $ sudo docker run -d -P training/webapp python app.py $ sudo docker

架构师内功心法,被誉为摩斯密码的解释器模式详解

我的梦境 提交于 2020-03-27 14:46:24
3 月,跳不动了?>>> 解释器模式(Interpreter Pattern)是指给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。是一种按照规定语法进行解析的模式。 就比如编译器可以将源码编译解释为机器码,让CPU能进行识别并运行。解释器模式的作用其实与编译器一样,都是将一些固定的文法(即语法)进行解释,构建出一个解释句子的解释器。简单理解,解释器是一个简单语法分析工具,它可以识别句子语义,分离终结符号和非终结符号,提取出需要的信息,让我们能针对不同的信息做出相应的处理。其核心思想是识别文法,构建解释。 一、解释器模式的应用场景 其中我们每天都生活在解释器模式中,平时所听到的音乐都可以通过简谱记录下来;还有战争年代发明的摩尔斯密码(又称为摩斯密码,Morse code),其实也是一种解释器。 我们在程序中,如果存在一种特定类型的问题,该类型问题涉及多个不同实例,但是具备固定文法描述,那么可以使用解释器模式对该类型问题进行解释,分离出需要的信息,根据获取的信息做出相应的处理。简而言之,对于一些固定文法构建一个解释句子的解释器。解释器模式适用于以下应用场景: 一些重复出现的问题可以用一种简单的语言来进行表达; 一个简单语法需要解释的场景。 解释器模式主要包含4种角色: 抽象表达式(Expression)

您如何找到Ruby的最小/最大?

元气小坏坏 提交于 2020-02-27 18:28:33
我想做一些简单明了的事情,例如 min(5,10) 或 Math.max(4,7) 。 在Ruby中是否有实现此功能的函数? #1楼 你可以做 [5, 10].min 要么 [4, 7].max 它们来自 Enumerable模块 ,因此任何包含 Enumerable 东西都将具有这些方法。 v2.4引入了自己的 Array#min 和 Array#max ,它们比Enumerable的方法快得多,因为它们跳过了 #each 调用。 @nicholasklick提到了另一个选项 Enumerable#minmax ,但这一次返回的数组 [min, max] 。 [4, 5, 7, 10].minmax => [4, 10] #2楼 您可以使用 [5,10].min 要么 [4,7].max 这是用于数组的方法。 #3楼 除了提供的答案之外,如果要将 Enumerable#max 转换为可以调用变量数字或参数的max方法(如某些其他编程语言一样),则可以编写: def max(*values) values.max end 输出: max(7, 1234, 9, -78, 156) => 1234 这会滥用splat运算符的属性来创建包含所有提供的参数的数组对象,如果未提供任何参数,则创建一个空数组对象。 在后一种情况下,该方法将返回 nil ,因为在空数组对象上调用

804. Unique Morse Code Words

ぐ巨炮叔叔 提交于 2019-12-06 00:43:34
Question 804. Unique Morse Code Words [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."] Solution 题目大意: 根据对应的编码规则将字符串数组中每个字符串编码,这样就得到一个编码后的数组,数组去重后返回数组大小 思路:用set来保存编码后的字符串 Java实现: public int uniqueMorseRepresentations(String[] words) { String[] arr = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."}; Set<String> codeSet = new HashSet<>(); for (String

一次看懂摩斯电码的秘密

强颜欢笑 提交于 2019-12-04 13:23:39
有内鬼,终止交易 在电影《无间道》中, 刘建明( 刘德华 饰)作为警方卧底在一次行动中发现了黑帮卧底陈永仁( 梁朝伟 饰)与黄警督( 黄秋生 饰)通过摩斯电码进行通讯,经过紧急的群发区域短信 "有内鬼,终止交易" 避免了黑帮头目被抓。 通过动图能看到 黄警督 和 陈永仁 仅通过 手指的敲击 就能完成通讯是不是很神奇? 其实不是的 ,在电影中 陈永仁 的窗外是有信号传输装置的 要想实现如此流畅的通讯,两人必须对 摩斯码 表和通讯非常的熟悉,而且手速要快。 摩尔斯电码 > 摩尔斯电码( 又译为摩斯密码,英语:Morse code)是一种时通时断的信号代码 > > 通过不同的排列顺序来表达不同的英文字母、数字和标点符号。是由美国人艾尔菲德·维尔与萨缪尔·摩尔斯在1836年发明。 摩尔斯电码是一种早期的数码化通信形式, 它依靠一系列的 点和划 来传递编码信息 ,它的代码包括五种: 点 ( · ):1 (读 “滴” dit ,时间占据1t ) 划 (—):111 (读 “嗒” dah ,时间占据3t ) 字符内部的停顿 (在点和划之间):0 (时间占据1t ) 字符间停顿 :000 ( 时间占据3t ) 单词间的停顿 :0000000 ( 时间占据7t ) 点的长度(也就是上面的时间长度t)决定了发报的速度 举个例子 我们现在要发送 “M O R S E(空格) C O D E” (

Java MorseCoder

痴心易碎 提交于 2019-11-30 19:50:13
摘要:JavaMorseCoder-Java语言实现的摩尔斯电码编码解码代码已经扔到GitHub上了,地址在https://github.com/TakWolf/Java-MorseCoder关于摩尔斯电码不详细介绍了,维基百科上面介绍的更详细。请参考:维基百科->摩尔斯电码说几个重要的概念。摩尔斯电码由三种类型的信号组成,分别为:短信号(滴)、长信号(嗒)和分隔符。三种信号通常习惯使用“.”、“-”、“/”表示。摩尔斯电码有一个密码表,用来映射密码。密码表如下:(注意:字 Java MorseCoder - Java 语言实现的摩尔斯电码编码解码 代码已经扔到 GitHub 上了,地址在 https://github.com/TakWolf/Java-MorseCoder 关于摩尔斯电码 不详细介绍了,维基百科上面介绍的更详细。请参考: 维基百科 -> 摩尔斯电码 说几个重要的概念。 摩尔斯电码由三种类型的信号组成,分别为:短信号(滴)、长信号(嗒)和分隔符。三种信号通常习惯使用“.”、“-”、“/”表示。 摩尔斯电码有一个密码表,用来映射密码。密码表如下:(注意:字母都会转换为大写,0 为短信号,1 为长信号。) 字符 电码 A 01B 1000C 1010D 100E 0F 0010G 110H 0000I 00J 0111K 101L 0100M 11N 10O 111P

OSI七层模型和TCP/IP四层模型(一)

廉价感情. 提交于 2019-11-30 17:57:23
一、概述 OSI模型(Open System Interconnection Reference Model,缩写为OSI),全名“ 开放式系统互联通信参考模型 ”,是一个试图使各种计算机在全世界范围内互联为网络的标准框架。1983年国际标准组织(ISO)发布了著名的ISO/ICE 7489标准,它定义了网络互联的七层框架,也就是开放式系统互联参考模型。 1.为什么需要协议 什么是协议(protocol)?通俗的来讲,协议是一种双方都明白或者必须遵守的事先约定,比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号。这样一个“狼烟=敌人入侵”就是一个简单的协议。协议可以更复杂,比如摩尔斯码(Morse Code),使用短信号和长信号的组合,来代表不同的英文字母。 同样,计算机之间的通信也要遵循不同层次的协议,来实现计算机的通信。早期的计算机网络,都是由各厂商自己规定一套协议,IBM,Apple,和MicroSoft都有自己的网络协议,比如MicroSoft的两台电脑用网线连起来,互相说话能听懂。但是MicroSoft和Apple的电脑连接起来说话就听不懂了,想想你和我微信聊天,我是MicroSoft电脑,你是Apple电脑,你发送的消息到我这里显示不了或者解析成另一个意思,这样通讯就不能进行了(通过上面的图我们可以看到