1.å¦ä½è¿è¡ä»£ç
2.《了不起的源码Markdown》第六章
3.Linux下的Meltdown攻击实践(含代码)
4.Word文档转成Markdown文档并在Typora免费版添加图床-----想想都很香
å¦ä½è¿è¡ä»£ç
æ¹æ³å详ç»çæä½æ¥éª¤å¦ä¸ï¼1ã第ä¸æ¥ï¼æå¼ä»»æç½ç«ï¼ç¶åæ ¹æ®éè¦è¿è¡éæ©ï¼è§ä¸å¾ï¼è½¬å°ä¸é¢çæ¥éª¤ã
2ã第äºæ¥ï¼æ§è¡å®ä¸é¢çæä½ä¹åï¼åå»å³ä¸è§çâä¸âå¾æ ï¼è§ä¸å¾ï¼è½¬å°ä¸é¢çæ¥éª¤ã
3ã第ä¸æ¥ï¼æ§è¡å®ä¸é¢çæä½ä¹åï¼åå»âå·¥å ·âé项ï¼è§ä¸å¾ï¼è½¬å°ä¸é¢çæ¥éª¤ã
4ã第åæ¥ï¼æ§è¡å®ä¸é¢çæä½ä¹åï¼åå»âæ¥çæºä»£ç âé项ï¼è§ä¸å¾ï¼è½¬å°ä¸é¢çæ¥éª¤ã
5ã第äºæ¥ï¼æ§è¡å®ä¸é¢çæä½ä¹åï¼å¯ä»¥è½»æ¾æ¥çç½ç«çæºä»£ç ï¼è§ä¸å¾ï¼è½¬å°ä¸é¢çæ¥éª¤ã
6ã第å æ¥ï¼æ§è¡å®ä¸é¢çæä½ä¹åï¼å¦æè¦å ³éç½é¡µæºä»£ç ï¼åªéåå»å·¦ä¸è§çâè¿åâæé®ï¼è§ä¸å¾ãè¿æ ·ï¼å°±è§£å³äºè¿ä¸ªé®é¢äºã
《了不起的Markdown》第六章
笔记软件是现代人记录重要信息、事件与想法的源码重要工具。Markdown作为一种简洁的源码文本格式标记语言,因其专注且高效的源码写作特点,在笔记软件中大放异彩。源码以下介绍几款流行的源码征程手游源码笔记软件及其与Markdown的结合: 印象笔记 印象笔记支持基础Markdown语法与GFM语法,用户可以快速绘制数学公式、源码流程图、源码时序图、源码甘特图,源码并提供多种图表绘制功能。源码在印象笔记中新建Markdown笔记,源码可通过左上角的源码新建Markdown笔记按钮或快捷键实现。默认编辑模式下,源码左侧为源码,源码右侧为预览。工具栏提供常用标记的快速插入功能,包括图表模板。使用添加流程图功能后,可快速插入流程图模板。印象笔记支持四种图表:饼图、折线图、柱状图、条形图,预览界面支持交互操作。上传、单击按钮的源码直接拖拽添加或从剪切板粘贴均支持,大小可通过右键菜单调整。导出Markdown格式或转换为PDF文件亦可实现。 有道云笔记 有道云笔记支持Markdown功能,包括基础Markdown语法、代码高亮、任务列表、表格、数学公式等。在电脑端与Web端,新建Markdown文件可通过右键菜单中的新文档选项完成。手机端则在+按钮中选择Markdown。在Markdown编辑环境中,常用语法可通过工具栏的快速插入图标直接使用。有道云笔记还提供快速插入公式与图表模板的功能,简化了创建图表的过程。 OneNote OneNote本身不直接支持Markdown,但通过插件可以实现Markdown功能。插件可在网站上下载,适用于Windows版本。 在线多人协作工具 在线文档协作工具如腾讯文档和石墨文档,支持简单的Markdown语法,如标题、分隔线、列表等,强突破指标源码且在编辑时直接通过“标记符号+空格”使用Markdown,效果实时显示。 写博客 知乎支持基础Markdown语法,通过“标记符号+空格”对文字进行排版。简书与CSDN也分别支持Markdown编辑器,其中CSDN的Markdown编辑器功能齐全,可以导入/导出Markdown文件,解析GFM语法。 写微信公众号文章 对于写微信公众号文章,Markdown虽然方便,但某些格式在微信编辑器中不支持。推荐使用Online-Markdown或Md2All等在线格式化工具,将Markdown文档渲染为适合微信公众号的格式。 写邮件 Markdown Here插件允许用户在邮件编辑器中使用Markdown语法,通过该插件,Markdown编辑器直接集成在邮件编辑器中,实现Markdown写作,简化了邮件写作流程。 其他常见工具 锤子便签支持Markdown语法,适用于文字排版;DayOne日记软件支持Markdown对日记进行排版,使用简单;交互式文档工具如Jupyter Notebook与R Markdown,分别在数据分析与技术写作领域提供强大的功能支持,支持代码的实时执行与显示结果。Markdown页编写工具md-page允许直接使用Markdown编写网页,无需转换格式。找源码搜索公式项目文档写作工具如MkDocs与VuePress,提供快速创建项目文档的解决方案,支持Markdown编写。 付费软件方面,如Ulysses、MWeb、MarkdownPad与CMD Markdown等提供更专业的服务与更好的用户体验,适合不同需求的用户群体。 小结 本文详细介绍了多个专业Markdown工具,旨在帮助用户根据不同的写作场景选择合适的工具。从记笔记、写博客、写邮件、编写技术文档到创建交互式文档,Markdown工具提供了丰富的功能与便捷的体验,满足了现代写作的多样化需求。Linux下的Meltdown攻击实践(含代码)
北京时间年月日,Google Project Zero公开了Meltdown(熔毁)漏洞,指出该漏洞能够影响几乎所有的Intel CPU和部分的ARM CPU,于是相关的侧信道攻击方式由此开始走进大众的视野。
Meltdown攻击是一种直接针对底层硬件机制(CPU的乱序执行机制、Cache机制和异常处理机制)的时间侧信道攻击,它的基本原理如下所示:
这里对上图及上述条件作简单解释:从顶层程序的角度来看,指令A、B和C应该是pic-org源码顺序执行的,且由于指令A访问了非法地址的数据会触发异常,故指令B和C的操作不会被执行;然而,从底层硬件的角度来看,指令A、B和C满足乱序执行的条件,于是在下一指令所需要的数据准备完成后就可以立即开始下一指令的执行。在图中指令A的“阶段A_1”结束后,指令B由于所需要的数据已经准备完成故可立即开始执行;在图中指令B的“阶段B_1”结束后,指令C由于所需要的数据已经准备完成故可立即开始执行。若“阶段A_2”的执行时间大于“阶段B_1”的执行时间和“阶段C_1”的执行时间之和,则非法数据能够经过运算产生合法地址,且该合法地址的数据能够被放入L3_Cache中;若在指令A的“阶段A_2”结束后,检查出非法访问所引起的回滚冲刷不影响L3_Cache,则与非法数据相关的合法数据依然存在于L3_Cache中。最后,通过遍历访问合法地址的数据,并对访问时间进行计时,能够找到某个访问时间明显较短的合法数据,该数据的合法地址即为指令B中由非法数据经过运算后所得到的值,从而可以反推出原非法数据,于是间接地得到了非法地址中的数据。
随后将详细说明完整的Meltdown攻击是如何具体实施的,文中攻击实践的操作系统平台为虚拟机中的Ubuntu。此前,在虚拟机中的Ubuntu和某服务器中的某操作系统上也能够成功实施该Meltdown攻击,只是某些具体的实施步骤和本文有细微差别。
简单写一个字符设备驱动程序,该驱动程序运行在操作系统内核态,私有存储空间内有一段秘密信息。这里只实现了它的IOCTL函数、OPEN函数和READ函数,其中主要关注如下所示的READ函数(带注释的完整源代码已上传至Github):
该READ函数能够将内核空间中的秘密信息的存储地址反馈给用户空间中的一般用户程序,于是一般用户程序可通过直接调用该函数得到秘密信息的存储地址。然而,对于一般用户程序来说,通过该READ函数读取到的地址是一个不可访问的非法地址,其中的数据对一般用户程序不可见,也就是说一般用户程序无法通过正常的访问流程来获取该秘密信息。但是,随后的Meltdown攻击的对象即为该驱动程序,这一侧信道攻击方式可绕过操作系统的隔离间接地窃取到该秘密信息。
首先,编译该驱动程序的源代码,生成可加载的内核模块:
在加载编译生成的内核模块之前,先看一下操作系统中已经加载的内核模块,以作对比:
接下来,加载编译生成的内核模块;然后,再次查看操作系统中已经加载的内核模块:
对比以上两图,可以看出"Module"一列的第一行新增了内核模块"memdev",说明OS内核模块加载成功。
最后,在内核模块加载完成的基础上,还需要在/dev目录下创建对应的设备节点文件,从而一般用户程序可以通过该文件访问内核模块:
尝试调用该内核模块(带注释的完整源代码已整合进Meltdown攻击代码中并上传至Github):
至此,作为攻击对象的目标驱动程序已经被加载成为内核模块,且能够被一般用户程序正常调用。
首先,通过操作系统自带的文件查看是否存在Meltdown漏洞:
其次,通过Github上的spectre-meltdown-checker程序来查看是否存在Meltdown漏洞:
接下来,通过添加内核参数"nopti"以关闭操作系统的Meltdown补丁:
重启操作系统后再次查看是否存在Meltdown漏洞:
最后,通过运行Github上的meltdown-exploit程序来查看操作系统是否真的能够被Meltdown攻击窃取一些秘密信息:
至此,操作系统的Meltdown补丁已经被关闭,此时可通过Meltdown攻击窃取其中的部分秘密信息。
首先,分析Meltdown攻击的源代码(带注释的完整源代码已上传至Github):
1. 主函数内主要包括五个运行步骤,具体说明分别如下:
2. 主函数内最关键的函数为attack函数,其中主要包括四个步骤,具体说明分别如下:
3. attack函数内的核心部分是attack_core函数,该部分也即是整个Meltdown攻击的硬件机制缺陷利用点所在:
其中值得注意的是上述汇编代码的第八行、第九行和第十一行。第八行:对目标地址进行非法访问,将其中的字节数据放入寄存器al(寄存器rax的低8位);第九行:将寄存器rax左移位,相当于乘上(该乘数至少为一个Cache_Line的大小,否则攻击中使用的相邻存储地址会相互影响);第十一行:将非法访问的数据作为新地址的一部分,再访问新地址(rbx+rax*0x1)中的数据以将其载入Cache。在第八行的指令执行完后,以顺序执行的角度来看,由于第八行的指令进行了非法访问,故CPU会产生异常阻止接下来的指令执行;然而,由于乱序执行机制的存在,第九行和第十一行的指令会在第八行的指令的异常处理完成之前就开始执行,且CPU异常处理的回滚机制并不会改变L3_Cache中的内容,于是第九行的指令将秘密信息混入合法地址中,第十一行的指令将合法地址的信息混入L3_Cache中。在异常处理函数中简单地完成对相应异常的处理后,即可通过L3_Cache利用典型的"Flush+Reload"Cache攻击来反推出原秘密信息。
最后,编译并执行Meltdown文件,得出的Meltdown攻击结果如下所示:
至此,Meltdown攻击的具体实践成功完成。
以上三条防护措施只是所有可能的防护措施的一部分,也存在其它有效的针对Meltdown攻击的防护措施。
第1、2条防护措施需要对底层的硬件做出改动,对成本和性能的影响较大,在实际工程中难以接受其带来的负面作用;第3条防护措施是操作系统层面的漏洞修补,对成本和性能的影响相对较小,目前以各操作系统补丁的形式被实施(KAISER/KPTI)。
meltdownattack.com/
Meltdown: Reading Kernel Memory from User Space
github.com/paboldin/mel...
2. Linux驱动相关:
paper.seebug.org//
/article--1...
4. x汇编相关:
ibiblio.org/gferg/ldp/G...
blog.csdn.net/littlehed...
blog.chinaunix.net/uid-...
en.wikibooks.org/wiki/X...
5. 本文源代码相关:
github.com/hahaha...
Word文档转成Markdown文档并在Typora免费版添加图床-----想想都很香
欢迎阅读本文,本文将引导您完成将Word文档转为Markdown文档的过程,并在免费版Typora中添加图床。通过这些步骤,您可以享受到更高效和个性化的文档编辑体验。请在操作后一键三连以支持作者。
前言
在现代文档编辑和管理中,Markdown因其简洁的语法和广泛的应用而备受青睐。本文将介绍几款实用的软件工具,特别是针对将Word文档转换为Markdown格式,以及如何在Typora中添加图床功能。
2. 安装免费版Typora
Typora作为一款备受好评的Markdown编辑器,提供直观的可视化编辑界面。然而,由于其升级为收费版本,我们为您找到了一款免费版本供您使用。通过链接(pan.baidu.com/s/1-JCXz5... 提取码:6ecx),您可以获取mac版和Windows版的Typora免费版,只需关注码农飞哥并回复typora即可获取解压码。
安装Typora后,创建一个Markdown文档并上传。您会发现保存在本地目录,这可能会影响在CSDN等平台上的使用。因此,我们需要一个可靠的图床服务来解决这个问题。
3. 图床安装
Typora支持多种图床插件,例如iPic。安装iPic后,即可直接使用,无需额外配置。若需自定义图床服务器,推荐安装PicGo,并通过插件搜索安装如gitlab-files-uploader等插件。请确保已安装nodejs,并在安装插件前重启电脑。安装完毕后,在图床设置中找到gitlab files上传配置,并完成必填项的配置。
资源获取
1. 源码获取:查看获取****。
2. 精彩专栏推荐订阅:在下方专栏,关注码农飞哥获取更多资源。
3. Python从入门到精通
4. Java高并发编程入门
5. 免费资源全网同名码农飞哥。享受分享的乐趣,我是码农飞哥,感谢您的阅读。
2024-11-23 02:45
2024-11-23 02:39
2024-11-23 02:05
2024-11-23 01:50
2024-11-23 01:46
2024-11-23 01:35
2024-11-23 00:48
2024-11-23 00:47