粉丝400获赞3670

将纸盒从设备中完全拉出,将照片纸打印面朝下装入纸盒,轻轻调节纸张导块, 将纸盒完全推入设备。 打开 brother mobile connect, 点击设置图标戒指类型,选择照片纸。

各位同学好,欢迎大家来到用 q t 六创建 j y 程序微课堂,这节课主要介绍工具栏与工具按钮。 在 q t 六中,我们可以使用 q 拖把类创建工具栏控件工具栏上一般放置动作工具按钮, 我们可以使用 q to 八腾类创建工具按钮空间,工具按钮空间一般显示图标而不显示文字,工具按钮经常被放置在工具栏中。 q to 八类的构造函数如下所示,其中第一个构造函数只有一个参数,第二个构造函数有两个参数, 其中参数 parent 表示指向父窗口或父容器的对象,指真。其中参数 title 表示工具栏的标题。 q 拖把类中锋中的方法是比较多的,这张表格只展示了其中的一部分,大家可以看一下这张表格。 比如,我们可以使用 set icon size 这个方法设置图标允许的最大尺寸。比如,我们可以使用 set to a button style 方法设置工具栏上按钮的风格。 比如,我们可以使用 a d d action 方法添加已创建的动作到工具栏。 q 拖把类的信号如下表所示,大家可以看一下这张表格。其中 action trigger 的 信号表示当动作被触发时发送信号。 其中 allow 的 areas change 的 信号表示当允许的停靠区域发生变化时发送信号。 下面我们介绍一下 q to 八 ten 类的用法。 q to 八 ten 类的构造函数如下所示,这个构造函数只有一个参数 parent 参数 parent 表示指向负窗口或负容器的对向时针。 q to button 类中封装的方法也是比较多的,这张表格只展示了其中的一部分,大家可以看一下这张表格,比如我们可以使用竖 menu 方法显示菜单, 我们可以使用 set default action 方法设置默认动作,我们可以使用 set to button style 方法设置按钮。外观 q 托巴丁类的信号如下表所示,大家可以看一下这张表格,其中 trigger 的 信号表示当触发动作时发送信号, 其中 click 的 信号表示当单机时发送信号。其中 press 的 信号表示当按钮被按下时发送信号,其中 release 信号表示当按钮被按下又释放时发送信号。下面我们做一个例题演示,实践一下。 使用 config 类创建一个窗口,并在这个窗口的顶部添加工具栏,在工具栏上添加按钮,我们演示实践一下。 首先我们打开 qt creator, 由于我们要创建的项目中的代码比较长,所以我们已经提前将这个项目中的代码编写好了,就是这个项目。呆猫三,从这个项目的文件目录中我们可以看出, 我们选择的模板为 qt widgets application, 我 们选择的窗口类的基类为 q widget 类,这个项目中没有 ui 文件。首先我们单机运行按钮运行一下这个项目, 大家可以看一下已经显示了这个运行窗口,这个窗口整体采用的是垂直布局, 在垂直布局的上方是工具栏控件,我们向这个工具栏控件中添加了三个工具按钮,并分别设置了他们的图标。 在垂直布局的下方是一个多行文本框,然后我们关闭这个运行窗口,关闭代码三, 然后我们双击打开这个窗口类的头文件 weid 点 h。 下面我们讲解一下这个窗口类头文件 weid 点 h 中的代码。 首先我们要包含 q text edit 类,然后我们要包含 q 拖把类,然后我们要包含 q 拖八零类,然后我们要包含 q vbox layout 类,然后我们要包含 q icon 类。 在这个窗口类的定义中,我们使用 q vbox layout 类创建了一个对象指征,这个对象指征的名称为 vbox。 然后我们使用 q 拖把类创建了一个对象指征,这个对象指征的名称为拖把。 然后我们使用 q 托八零类创建了三个对象指向指针,这三个对象指向的名称分别为, to new, to open, to save。 然后我们使用 q text edit 类创建了一个对象指向,这个对象指向的名称为 text edit。 然后我们在这个窗口类的定义中定义了三个槽函数,这三个槽函数的函数名分别为, to new, to open, to save。 然后我们双击打开这个窗口类的原文件 weid 点 c p p 下面我们讲解一下这个窗口类源文件中的代码。在这个窗口类的构造函数中,我们首先使用 set j amt 这个方法设置窗口的位置和宽高,然后使用 set window title 这个方法设置窗口的标题, 然后使用 n 变换符创建了一个垂直布局对象,并将该对象的首地址赋值给对象指向 vbox。 然后我们使用 set layout 这个方法设置了主窗口的布局方式为垂直布局。 然后我们使用 n 韵算符创建了一个工具栏控件,并将该控件的首地址复制给对象指定拖把。然后我们使用 vbox 的 a, d d w d 的 这个方法向垂直布局中添加了这个工具栏控件。 然后我们使用 new 运算符创建了一个工具按钮,并将该控件的手地址赋值给对象指定 to new。 然后我们使用 to new 的 set icon 这个方法设置了这个工具按钮的图标, 然后我们使用信号槽将这个工具按钮的单机信号和这个窗口内的槽函数拖 new 相关联。然后我们使用 new 运算符创建了第二个工具按钮控件,并将该控件的首地址复制给对象指向指针 to open。 然后我们使用 to open 的 set icon 这个方法设置了这个工具按钮的图标,然后我们使用信号槽将这个工具按钮的单机信号和这个窗口类的槽函数 to open 相关联。 然后我们使用扭矩算符创建了第三个工具按钮控件,并将该控件的首地址赋值给对象指向 to save。 然后我们使用 to save 的 set icon 这个方法设置了这个工具按钮的图标。 然后我们使用信号槽机制将这个工具按钮的单机信号和这个窗口内的槽函数 to save 相关联。然后我们使用拖罢的 add 微指令这个方法向工具栏中添加了这三个工具按钮。 然后我们使用 n 韵算符创建了一个多行文本框控件,并将该控件的首地址赋值给对象指令 text edit, 然后我们使用 vboxed a d d 编辑这个方法,向垂直布局中添加了这个多行文本控件。 下面我们讲解一下这个自定义函数 to new。 在 这个函数中,我们使用 textedit 的 set text 这个方法设置多行文本框中显示文本为单机的新建。 然后我们讲解一下这个自定义函数 to open。 在 这个函数中,我们使用 textedit 的 set text 这个方法设置了多行文本框中的文本为单机的打开。 然后我们介绍一下自定义槽函数 to save。 在 这个槽函数中,我们使用 text edit 的 set text 这个方法设置了多行文本框中的文本为单机的保存。然后我们单机运行按钮运行一下这个项目, 大家可以看一下,已经显示了这个运行窗口,我们点击第一个工具按钮的图标, 大家可以看一下多行文本框中显示的文本为单机的新建。然后我们单机第二个工具按钮的图标,大家可以看一下,这是多行文本框中的文本为单机的打开, 然后我们点击第三个工具按钮的图标,大家可以看一下,这是多行文本框中显示的文本为单机的保存。这节课我们主要介绍了 q to 八类和 q to button 类的用法。

难得一见啊,非常非常,真的是非常难得一见的,奥迪 s 三 到现在只行驶了六万多公里。一手车主这类车其实往往很多啊,现在我们接触到的都是二手车,从一五年、一六年到一九年,中间有个一七的小改款,一五到一六款的车头就是这个样子,纤细大灯, 然后搭配的是 d q 二五零的,到了一七年以后啊, led 大 灯,然后变速箱为 d q 三八幺,最后一批就是一九年的一九款,就是那个变速箱减配的那一款。地上摆这一摊东西,你可以看一下啊,先看一眼啊,价格想必懂的也都懂,之前车子纯素车就改了轮毂、刹车和避震,日本 bbs 的 r a p 的 九五四零官方套装, k w e 三一套减震。去年在我这改了,之前啊,也做过一定的准备,这台车可以说现在这个车况啊,板板正正,刚刚过磨合期,非常能打的状态。那么这里其实我想跟车主说一声抱歉啊,这地上有些原厂件啊,都是等了从一月份等到了现在,现在已经五月份了 啊,等了快四个月,德国没有货,然后一直在等。为什么说车主非常有追求啊,那你像这些件啊,其实就是车窗外面呢一些试条和试板,说实话这个和 a 三是 一样的,拿 a 三的车架号买 a 三的回来装也一样,装你也看不出什么,但车主非常讲究细节啊。还有一个是 w t 的 中轮,我就想问问大家,现在这个年代,这台奥迪 s 三二手车才多少钱?能去选中的时候还去选 w t 这样大品牌的能有几个?你觉得你是?你可以站在评论区 我说个话,然后还有一套就是毒液的,一套国产的毒液的中尾段阀门排气啊,也还好一万出点头。然后呢,主要是声浪还相对比较浑厚,特别是刷过 ecu, 车子啊,不会给程序去拖后腿,他是通过原车的一个阀门电机去控制的,所以高速上面啊,巡航也好,什么也好,共振几乎为零。头段也没换啊, 就简简单单的选择一个低阶程序。我们今天将这些东西换完了,拉到马力上,唤醒一六年的这台老炮血脉当中的基因, 伴随着清脆的换挡声,把我们拉回了十 年前那个钢炮横行,战火纷飞的时代。那时候 s 三也刚出来,直线加速文化啊,在国内刚刚开始盛行啊,可以用四个字形容啊,群魔乱舞。一六年到一七年,那一八年以后 r s 三出来是吧,那时候的钢炮啊,几乎就是全部是奥迪全部统治,一统江湖。那时候的 零四比赛也非常正规啊,有中青年认证的啊,发斯沃尔的我们也是一直有去参赛, u g r 作为啊,国内为数不多的几个头部的 ecu 特调的一个品牌。最后一届发斯沃尔的,一九年啊,上海总决赛全场最速,所有车型最速的总冠军。那就是那台 t t r s 啊,你有什么事吗? 啊,我以为你要改来改车了。我的啊,同行哪家店的?是张家港张家港啊,对,张家港 张家港的啊,上海也有个,我们是他们的,是跟合作的,合作很久了啊,也做吗?对 哦,那你你过来是找谁啊?找我,正好今天来上海出差,拿车子,顺便过来玩两哦。好的好的好的好的好的啊,又来了个同行啊,过来参观一下,正好我们要拍摄啊,又赶上了。 那没事啊,我们接着接,我们继续讲。那么这台车原厂轮上两百一十匹,两百九十四牛那么一个一阶,而且写的还是九五油,那车主的要求就是要保守一点,虽然我给他写的是九五,但他回去还是有九八,就会加九八油,荣誉非常高,做出来就轮上两百六十五匹, 扭矩三百七十二牛米,关键的硬件头段都没换啊。那当然,中冷换了有用吗?有用,快到夏天了,中冷这个东西我还是建议能去装的,没装的我去装一下。没换就是你第一脚是爽的,第二脚可能还行,第三脚可能他就萎掉了,但是换了中冷以后连续来个五脚,他可能 依旧坚挺。对于 ecu 动力调试我就做了一个总结,同行做的那是义务,那同行没做的那就是服务,我们只是说做了会比他们更多,人家做一脚两脚三脚,我做四脚五脚六脚,这样我才能最大程度保证他在路上的时候也是 ok, 没有问题。还不关注早起工作。

大家好,这一期给大家分享 simon 四 d 二二十的安装教程及下载软件,可以前往怪兽软件网站下载。打开浏览器,点击地址栏,输入三 w 点 g s s w 六六点 com, 按回车键, 点击搜索框,输入 c 四 d, 点击搜索鼠标右键点击下载好的压缩包,点击压缩软件,点击解压到当前文件夹, 打开解压好的文件夹,打开 install 文件夹,选中安装程序,点击鼠标右键点击以管理员身份运行,点击试选择语言,简体中文点击 ok, 点击继续输入个人信息,可随便填写输入序号,点击继续点击,继续点击继续勾选,我同意许可,点击继续 勾选。在桌面上创建图标,无需更改安装位置,点击继续快速更改安装位置到地盘,把安装路径首字母 c 改为 d 即可,点击继续 取消勾选开始 simon 四 d, 点击结束,打开解压好的文件夹,打开 f i、 b 文件夹,选中 f、 a、 b 程序,点击鼠标右键点击以管理员身份运行。 把 cinema 四 d 图标拖到程序内,点击入站规则,再次把 cinema 四 d 图标拖到程序内,关闭程序,运行 cinema 四 d 软件,软件安装完成。

本视频耗时五个月,共计三十小时,三十八分钟,零基础自学黑客从入门到入狱,全套教学视频包括工具安装与使用、黑客攻防、渗透测试等,共三百六十八集。此视频内容敏感,很可能被下架,建议先收藏再观看。声明, 教程仅供学习,禁止用于违法行为。要是想系统学好网络攻防技术,我自己录制的二百节从零到进阶的视频教程可以分享给你,主流的网络攻击和防御的技术都讲的清清楚楚,只要是粉丝留个六百六十六就行,只希望你能把学到的技术用在正道上。 各位马士兵教育网络安全学院的 vip 同学们,大家好,我是乌鸦老师,学海乌鸦的乌鸦。这节课我们来学习 linux 平台下的软件安装, 内容包括,第一个,给大家解释一下软件为什么必须要安装才能使用,那么为什么有些软件他又可以不安装呢?第二个,脚本和程序的区别,为什么有一些代码他不需要翻译就可以使用,而有一些代码呢,他必须要翻译才能使用?第三个, 在 linux 安装软件,我们常用的方式有哪些?这个区分不同的平台。第四个, sonos 安装软件的案例,这个方式也有很多啊,我们给大家去演示主流的一种。第五个, linux 软件版本的管理,比如说 jdk 或者 python 或者 my secret, 它有多个版本要同时安装在我们的操作系统里面,我们怎么去切换它的版本? 第一个,软件为什么要安装呢?我们从 windows 的 软件安装的流程带大家去回顾一下啊,为什么有一些软件它必须要安装了以后才能使用,而有一些所谓的那些什么绿色版呀,便携版,它是可以直接双击启动的, 或者说大家得思考一下,一般的 windows 的 软件,它在安装的过程里面到底做了什么事情呢?我们给大家概括总结一下啊。第一个就是你在双击的时候呢, 他会执行一个安装的检查,比如说跟你的这个操作系统的版本是不是兼容,你的这个主板的空间够不够?是不是已经安装过了一个旧的或者更新的一个版本?第二个呢,他会把这个 压缩包里面的安装文件给他释放出来,而且呢有的还会联网去更新一些内容,比如说联网去下载一个数据库啊,那个 ex 是 一个打包文件,是一个打包的文件。 第三个他会去复制一些可值可执行的文件到系统的特定的目录,比如说我们比较常见的是安装的那个 program files 这样的一个目录,是吧?好。然后第四个他会去把 依赖的一些 d、 l、 l 的 动态链接库复制到操作系统的目录,这样它就可以自己去使用了。有的还会去安装一个服务,什么叫做服务呢?比如我去点一下我的 windows 的 左下角那个 windows 的 图图标,然后输入一个服务, 打开这个 windows 操作系统的服务。哎,那这里面这些服务是怎么来的呢?就是他们在安装的时候注册进去的啊,比如说 vm 二, vm 二它有几个服务呢? 有五个服务是吧?都是安装的时候注册进去的啊,而且呢它能够做到开机自启,这个都是在安装的时候做的,如果你你你不安装的话,这个就是做不到的,是吧?实现不了。 第五个向系统的注册表写入相关的信息啊? ok, 也就是我们的这个程序的信息啊,比如说他的这个安装相关的内容,你到时候如果要在这个控制面板里面要去卸载他的话呢?因为你注册了才能够在这里面去找的到的,是吧? 所谓的那些绿色软件,便携软件是没有的啊,他不写,不写注册表。第六个他会在你的电脑里面去创建一个开始菜单,比如这个地方啊,我点一下大家能够看得到的 左边的这些,这个叫做开始菜单,还有你的桌面的快捷方式,为了让你方便的去启动它,是吧?这个就是我们的 windows 平台里面的软件的安装的常规的流程,也就是说安装的时候我们到底做了什么呢?它是配置了我们的软件运行的过运行的环境, 所以我们只要安装一次就可以了,后面就可以直接启动这个已经安装好的程序去使用。为什么那些那些绿色软件、变形软件不需要去安装呢? 说明他们对于环境的依赖很低,他不需要去把他的文件复制到特定的目录,他不需要去复制动态链接库,不需要安装服务,不需要去写注册表,也不需要去给你创建开始加载和快捷方式,这些他都不需要做,所以他就变成了一个 有可能就是一个 ex, 一个绿色的文件,是吧?比如给大家看一个啊,我们有一个这样的程序, 它是一个 ex 的 文件,你不需要在任何时候去安装它,直接双击它就启动了是吧?在你的这个服务啊,注册表那些地方也找不见它 好,这个启动稍微的有点慢啊,只是给大家演示一下。那么在 windows 里面,我们的安装程序它长什么样子呢?现在才启动成功了, 最常见的两种就是一个点 m s i 的 安装文件,是吧?比如这个 my secret 的 python, 还有这个 everything 的, 它们都是一个 m s i 的 安装文件。还有呢?然后更多的当然是这个点 exe 的 安装文件了,比如说这个 get 的 安装文件, idea, launch for example, navigate, pacham, reddis, desktop, virtualbox vs code, 那 这些都是常规的安装的文件,安装好了以后呢,它就会在这里啊,在我们的这个安装目录里面会释放出来一个 ex 的 可执行程序,后面我们启动肯定不是不是在启动这些东西了啊,它是这是一个打包的文件,它里面包含很多的东西,你如果再双击它,它又会启动一次这个安装的流程,所以我们去使用的是这个啊,安装目录里面的这个可执行程序去启动我们的应用,这个是 windows 平台里面的, 在安卓操作系统和 ios 的 系统里面也是一样的,你要去用一个应用,你是不是要去安装那个 apk 或者 ipa 这些安装包安装好了才可以使用,是吧?我们的命令操作系统当然也是一样的了,本身它是已经有自带了很多的程序的啊,就是在这些目录下面, 我们可以使就开机可以使用的那些命令,它其实就是就是一个程序,是吧? 而且呢,他放到了这样的一个目录下面去,那我们就不需要去找这个程序了,可以直接去使用这个命令,比如说这个是 root 可以 使用的相关的命令,这个是普通用户能够使用的一些程序,或者我们自己去安装,也要安装到这些目录下面。 ok, 大家要注意一点啊,就是 linux 跟 windows 操作系统有个很大的区别,是什么呢?你看它的这个安装文件也好,可执行程序也好,它是有这个扩展名,有一个点 esc 的 后缀的,是吧?但在 linux 操作系统里面并没有,并没有这样的一个要求, 就只要这个文件呢,它有可执行权限,它就可以执行,不管它是点什么,或者有没有那个点什么, 那个扩展名都是可以的啊,他操作系统他是通过文件头来识别文件的类型的,只要有可执行权限就可以。好, ok, 这个就是我们为什么要去安装软件,那么在 linux 操作系统里面当然也是一样的了,他也有一个配置的过程吗?只有你安装好了才可以去使用它。 第二个我们来看一下脚本和程序的一个区别。哎,就是我们现在得思考一个问题啊,比如我去找一个什么什么的,一个 python 的 脚本 dns, 好 吧?比如这个 stress 的 一个 python 利用的脚本,它不管是在 windows 的 平台里面,还是说在 linux 的 平台里面, 我们都可以直接 python 加上这个文件名去运行它。为什么呢?就这个东西它为什么不要,不需要做成一个 exe, 或者不需要做成一个 linux 的 点 elf 这样的可执行程序,然后才能运行它呢? 它不需要翻译的, ok, 这里大家需要了解一下我们常见的不需要翻译的那些呢?我这种东西我们把它叫做脚本啊,脚本语言,比如 java、 script、 python、 ruby, 我们看到的是源码,而且交给操作系统去运行的呢,就是这个源码的文件。但是那些 其他的变成元,比如 c、 c 加加、 swift、 混合零、 go 呢?它们的源代码必须要经过翻译,要变成另外一个二进制的程序才可以去执行。比如说 c、 c 加加,我们我们是不是要把它制作成一个 ex 的 文件,然后在 windows 里面才能够去运行的,是不是?那么在 另一个操作系统里面,我们也需要用相应的一些翻译工具,比如 g, c, c 啊,或者 micros 里面的 g n u 的 这样的翻译器 翻译工具,把它翻译成一个可执行的程序,在操作系统里面才可以去执行的,是吧?那他们的区别到底在哪里呢?这个其实就是所谓的解释型的编程语言和编意型的编程语言的一个差别。 对于这种翻译型的编程语言来说呢,他翻译他其实是做了什么呢?是这个,他其实是把 那个元代码翻译成了计算机可以理解的指令,所以我们得到的那个 excel 的 文件呢,它是一个二进制的文件,计算机能够识别里面的指令,所以它运行起来很快。但是对于这种解释型的脚本语言来说, 你看到这个东西就是这个东西操作系统去执行的时候呢?是从这里开始的,是吧?所以你你,你要让计算机能够识别他的话, 你是不是必须要把这个东西做一个解释呀,也就是他是一边解释一边去执行的,否则的话,因为计算机他只能识别机器语言,他不能识别高级语言的。所以从运运行效率上面来说,肯定是你先已经给我做好了这个翻译,翻译成了 机器语言,计算机可以识别了我,我就可以马上就跑了,是吧?这种效率就低了,这种效率高。按你这样说的话,那我为什么还要去发明一个这个脚本语言呢? 我都让他先翻译,再交给计算机执行,那不更快吗?注意啊,各种编程语言的类型,当然有他的各自的应用的用途的啊。我们因为我们不能,也不能只看效率。对于这种脚本类型的编程语言,他的一个优势在哪里呢? 它不需要先翻译,也就是翻译成目标平台的那个可执行的格式,比如说 windows 里面的 ex 一, linux 里面的对应的可执行程序,也就是你你把这个东西交到对应的操作系统里面,它都可以去执行,它有一个在各个平台里面它的一个解释器, 所以这种脚本语言它的性能虽然弱了一点,但是它的跨平台的能力更强。你把这个 java、 sql 吧,放到 micro os 里面,放到 windows 里面,放到 linux 里面,它都是一样的跑,这个 python 也是一样,对吧?我们看到效果就是这样的,在 micro os, 在 linux, 在 windows 里面都是一样的跑,它的跨平台的 特性更强。好,有没有?还有一种特殊的,比如大家为什么没在这里看到写这个 java 呢? java 变成圆这么这么流行, 他是介于这两者之间的啊,就是他不是纯粹的解释型,也不是编纯粹的这个编辑型,为什么呢?首先他是需要编辑的,是吧?我们要把这个 java 的 点 java 的 元代码的文件去翻译成一个点 class 的 文件。哎,但是你这个 class 的 文件, 它能被计算机直接识别吗?不是,它不是机器语言的内容啊。注,注意,它的那个东西叫做字节码文件,那这个字节码文件你必须还得做一次翻译, 那计算机才能识别,是吧?所以呢,它又结合了这个解释性,那谁给他解释呢?我们就把那个东西叫做 java 虚拟机, java virtual machine, 不同的平台里面都有不同的平台的虚拟机,比如说 linux 有 linux 的 虚拟机, windows 有 windows 的 虚拟机,不同的平台的虚拟机去负责 把相同的那个字节码文件翻译成对应操作系统的计算机可以识别的指令,你看是不是它要先翻译,然后再由那个 jvm 去解释执行啊?所以我们可以把它理解为是半翻译 半解释型的编程语言。好, ok, 我 们现在了解了脚本和程序的一个区别,现在来看一下,在 linux 操作系统里面,我们安装软件一般有哪些方式呢?大家可以回想一下啊,就如果你之前对 linux 操作有简单的接触,你是一般是用什么样的方式去安装软件的呢? 可能各种各样的方式都有,是吧,我们常见的啊,第一种,用源码去翻译,用 make 这个命令去翻译,得到一个可执行程序,那就这就是自己动手了啊,就像就打个比方,你想吃面包,那你就自己去 买面粉,自己去做面包,就这种方式好,其他的呢?有 r p m, 其他平台的,还有 d b、 yam、 app、 doc, ok, 它很显然后面的这些方式,它们都比这个原版编辑的方式省时省力啊,因为它们是我们可以把它理解为是一个 安装的工具,专门用来帮你去安装软件的东西啊,他这个是经过设计的,而且经过了这个迭代升级发展,肯定是很好用的。好, ok, 那 么这些方式是不是在所有的 linux 操作系统上面都可以用任意一种方式呢?不是的, 嗯,在不同的平台上面啊,还是有区别的。 ok, 好, 当再补充一下啊。其实还有现在有越来越多的人会选择用 dunk 去安装一个程序,是吧?我们在前面的课程里面也介绍了 dunk, 比如我现在的场景就是我要去安装一个 tomcat, 我 要去安装一个 macbook。 用 dunk 其实更简单,也就是一行命令的事情,是吧?而且用完了还可以销毁,甚至我们去安装一些靶场的 环境的时候呢,用刀刻肯定只有他能做到,他把那些依赖的东西全部都做去了,做进去了啊。 ok, 好, 但这个不在我们今天介绍的范围之内了啊,我们主要是了解一下那些我们常规意义上面的一些程序,而不是那个一些复杂的,比如包括操作系统,包括外包、靶场那些东西。 ok, 我 们现在来分一下, 对于常见的类型,操作系统发行版本呢?我们我们可以按照他们的这个派系 去做一个分类,比如说第一类呢,是 red hat 红帽派系,包括 red hat s fedora, 它们的常用的安装方式包括源码编码、 r p m 的 包, yam 的 包,还有 dnf, 这个 dnf 不是 地下城与勇士啊,是基于 yam 升级的一种安全方式安装方式。第二个呢, devon 系, kelly 和乌班图都是属于这个啊,他们的常用的软件安装方式是用这个 d b 的 包,还有 a p t, d p k g 去安装。第三个是 freebsd。 好, 它又有特别一点啊,其实我们最最最最主要的还是去学习这个样的方式, 然后因为开立和乌班图有一些同学都可能会用的到啊,那你只需要去简单的了解一下 apt 就 行了啊, apt 就 行了,这个 rpm 和 d 一 d 一 b 的 这种安装包的方式我们都抛弃了,这两个东西都更加的 自动和智能化。好,现在我们来看一下啊,我们先简单的介绍,到最后我们再介绍一下,因为我们学习的操作系统主要是 centos, 我 们再看一下 centos 里面安装软件的案例。 第一种方式呢,那么对于基本上对于所有的 linux 的 发行版本都是支持的啊,源码翻译就你自己动手嘛,你自己去烤一个面包, ok。 源码安装的流程会包括这些, 首先你要去下载到他的原码包,当然这个肯定是针对那些开源的软件啊,如果不是开源的软件,没有没有这一步呢,他也不可能给你一个自己去翻译的一个机会了,是吧?开源的软件你会有他的原码下载下来呢,他是一个套儿包, 我们在前面已经学了这个怎么去解压缩是吧?把这个压缩包给它解压出来,放到指定的目录,然后要去配置,比如说你的这个程序要安装到哪里去? com mac 进行翻译升级,呃,生成了一个可执行的二进制的文件, 然后 mac install, 把它复制到操作系统进行配置,它的环境好, ok, 这个时候我们就可以使用了。原码安装呢,有一些特定的场场景我们可以去使用啊,这个我就不在课堂里面演示了,但是在我们课程里面提供的那个资料,我们是有 两个案例的,在安全课程资料下载这个里面,课程资料里面有一个教程合集,这个大家一定要下载啊,下载里面里面有两个,一个 simple s 去安装 radis, 还有 simple s 去去安装 ngx 这两个文档我现在给大家打开看一下啊, ngx 可能大家不一定会用的,但是这个 radis 啊,在我们后面讲那个未授 radis 未授权访问的漏洞的时候,大家必须要去安装搭建这个环境。 当然这个 radis 的 版本可能现在已经升级到七的版本了啊,如果大家想要去把这个漏洞复现出来,还是可以用六的这个版本。我们打开来看看, 这个就是一个典型的原版安装的方式,给大家简单的过一下啊。 首先第一步是不是在 reddit 的 官网去下载它的这个源码的程序包,是吧?它现在官网做了一个非常大的升级改版啊,我都有点认不出来了。这个时候我们要去下载软件,怎么去下载呢?来试一下啊。 get started reddit, 然后 get started, 打开了它的文档。好,然后看一下啊, 这里面有一个 install linux linux 它也提供了这种 a p t 的 安装的方式是吧?好哎,这里有一个 install from source, 从源码的方式去自己编辑安装。那么第一步也是这样的,它现在把这个最新稳定版本呢,统一放到了这个链接, 用 wget 把它下载下来。 t 杠叉子 v f f 这个命令我们已经学过了,是吧?把它解压出来,好进入到这个命令 make, 然后 mac install 它,它省略了那个配置的过程,因为不一定需要去配置,那不配置的话使用的都是默认的好。然后这个就是翻译出来的那个可执行的程序,用它来启动服务端,好吧,跟我们讲的这个大差不差的,是吧?好,这个流程呢,大家也可以去看一下, 一般还是用的比较少的,因为大部分的软件都可以用我们刚才讲的那种软件安装工具,一键搞定。 第二个呢,在红帽派系里面,我们比较常用的是这个 r p m 的 包,叫做 red hat package manager, 我 记得我刚刚毕业的那那几年是用这个,真的是用的非常多的啊。比如说你看我在我的电脑上面去搜索了一下这个 poco, 一个 my secret 的, 可以给 my secret 去做数据备份的一个程序啊,也是 my secret 的 另外一个分支。 还有什么 e z r s a open vpn, 什么 pptpd 这些 rpm 的 程序呢?它都是在红帽派系里面的一个安装包,注意,这个里面这个本质是什么呢?它已经包含了那个翻译好的程序, 也就是说你不用自己去手工去翻译了,免去了你翻译的麻烦。它的全名叫做 ride height package manager 啊,注意是 安装包的管理工具,就这个东西发明就是为了帮你去安装程序用的,它只能用在红帽派系里面。 redhead 啊,所以它的简称叫做 rpm。 我 们来看一下,如果我们要用 rpm 的 方式去安装软件,我们是怎么做呢?那第一步肯定是先要把这个程序下载下来,是吧?下载到你的那个 linux 操作系统的服务器上面去。 好,然后我们怎么去安装呢?提供给大家一些常用的选项去了解一下啊,比如我要去查询,我看一,比如我看一个包有没有安装,有没有一些之前的旧的版本,用 rpm 杠 q 加上报名,比如 my secret, 我 们可以试一下啊, rpm 杠 q, my secret 好 了没有是吧?他没有安装 r p m 杠 q a 呢?那就是搜索所有的安装软件,所有的安装软件啊,那我我电脑上面已经安装了这么多的软件。 q 是 query 的 意思。然后第二步我们如果要去安装一个软件呢?用 r p m 杠 i v h, 那 么这三个选项是什么意思呢? i 代表 in store, v 代表 verbos, 详细的嘛,把这个安装的流程打印出来。 h 是 哈希显示这个哈希的标记啊,我们一般都是用固定的这个三个选项去安装一个程序啊,比如我现在试试啊,在我的这个虚拟机里面,它到底有没有之前已经存在的一些 r p m 的 包 杠 name 点 r p m, 把所有的 r p m 的 包都找出来,看看有没有多少好,特别的多,是吧? 因为说到本质啊,我们接下来说的那个亚姆也好, dnf 也好,他们他们都是对这个东西去做了一个升级,就他们是层层递进的啊, 这个东西包包含了那个翻译好的工具啊,然后那个亚姆呢和 dnf 又是利用了这个 rpm, 它它其实它只是会自动下载这个 rpm 的 程序而已啊, 不用我们自己,我们自己去下载了,然后升级的话呢,用这个杠大写的 u 代表 upgrade 或者 update。 卸载的话呢,用杠 e remove rpm, 杠 e 把一个什么什么卸载掉,因为我们有了样以后,这个 rpm 基本上不会用了啊,这里我们也, 我们也不演示了, ok, 我 们用了这个 rpm 的 所谓的 red hat package manager 叫做软件包管理工具之后呢, 安装肯定方便了很多了,是吧,我们不需要自己去翻译了,什么 mac 啊, mac install config 这些我们都不要不要去做了,但是还是有一个问题,什么问题呢?就是这个 rpm 它不能解决 软件包之间的依赖关系的问题,也就是说,如果我们在安装一个软件的时候呢,他依赖于其他运行的, 依依赖于其他的这个软件,那这个时候我们就必须要先去下载其他的 r p m 包好,然后如果这个 r p m 包又依赖于别的 r p m 的 包呢?他又要去,你要又要去先下载这个 r p m, 有 可能这个依赖的链路就非常的长,而且呢,他有可能不仅仅依赖一个软件,那你为了安装一个软件,你就 下载了一堆 r p m 的 吧,你会你自己去下载,你就感觉非常的麻烦,是吧?而且反过来呢,如果你要去卸载一个被其他的软件依赖的软件呢, 他会导致其他的软件不能正常运行,或或者说你就是你如果要去卸载一个软件,你要你要先保证已经没有人 依赖他了,才可以去写的,否则的话就报错。所以呢,我们得需要一个更加自动化的,智能化的安装的程序。打个比方,我现在要安装一个软件呢,他首先依赖了其他的五个软件,然后这五个软件呢,每一个又依赖了三个软件, 我是不是要下载的非常的多,是吧?我下载要下载五个,再加上 三乘以五,我一共要下载二十个软件。 ok, 我 们用了这个 yam 之后呢,它就可以自动的去从一个远程的软件仓库里面把这些所有的需要依赖的软件呢都下载下来,并且自动的安装。那么这个时候我们要做两件事情,就是 给所有的软件都去写好一个依赖的清单,比如说我要安装 mc 的 时候,他需要依赖哪些,然后哪个软件又需要依赖哪些?我们做好这个清单之后,这个程序才能自动化的去帮我们去下载和安安装,是吧?那么第二个呢?你去哪里下载? 去哪里下载?你是不是要给他做一个远程的软件仓库的服务器,这样才能那个自动安装的工具,才能从这个 已经存好了所有的软件的这些仓库里面去找到你依赖的那个软件下载下来才能帮你去安装,是吧?好,那么这样的一个工具呢?我们就把它叫做 yum, 它的全称叫做 yellow dog updater modified, 这个名字有点奇怪啊, 什么黄狗更新器修改派 yum, ok, yum 它解决了 rpm 的 那个软件依赖关系的问题啊,注意它是基于 rpm 的 啊,就是这个 rpm 里面包含了那个已经编辑好的程序,而这个样呢,它就是帮你去找 rpm 的 包的。 ok, 它它并不是一个全新的替代 rpm 的 东西。 ok, 那 在我们的这个教程合集里面,同样的也给大家去提供了两个案例啊,就这个零六和四三的,我带同学们来看一下啊,在这个教程合集里面有一个零六零六, sonos 七、亚姆方式安装 dok, 有 可能这几个字是我后来才加的啊,有可能下载这个资料,早一点的同学,你们看不到这个东西,那你就只要去搜这个 dok, 就 在里面能找到这个东西啊,用亚姆方式去安装,然后呢还有一个亚姆方式去安装麦麦斯扣五,编号四三的在这里 macbook 五, ok, 那 现在我们我们先来学习一下啊,那个等一下我们就去演示一下,在 sims 里面用 yam 方式去安装 macbook, 其实它我们发会发现,用了 yam 以后,流程还真的比较简单,除了那个软件自身的一些配置,比如说它的这个密码的设置呀,还有它的这个数 数据存储目录的一些设置之外,还是非常的简单的啊。我们先来学一下 yam 的 常用的一些选项和命令,首先我们如果要去查看在我的操作系统上面有哪一些程序的话呢?我们可以用 yam list。 好, ok, 我们这里说的那个 ym 是 什么呢?它既然是 rpm 的 一个前端的程序嘛,也就说这个是那个仓库里面猎取出来的啊,你可以从这个 ym 的 仓库里面去安装哪一些软件,这个叫做一个列表。好,我们也可以看一下 ym 类似的 my secret 在 这个阿里云的仓库里面呢,有可能是我没有更新啊,它是搜索不到的,无关紧要,没关系啊,然后我们可以去 search my secret。 ok, 好, 他就他就在远程的仓库里面找到了很多的,你如果想要去安装呢?这里面的任何一个版本你都可以去安装, 是吧?而且它不仅仅是 macbook, 还有把其他的一些名字里面包含 macbook 的 一些东西给你搜索出来了。好,你现在如果要去安装了,你就按照他的这个名字去安装,比如 我要更新 macbook 带这个包名,这个叫做 python 吗?包名 我要卸载了。 yam 瑞幕,带上这个包名,还有前面我们三个已经学习过的命令,再给大家回顾一下啊。我们再去配置那个 yam 源的时候,是不是有用了这个 yam update, 它这个会联网,会下载所有的这个程序的更新包,并且去安装它,有可能会花很长的时间啊。我也跟大家说了,你如果网络不好,千万不要执行这个命令。 yum click on 清除缓存, yum make cash, 重新去创建缓存。创建缓存的意思是什么呢?我是不是有一个 yum? yum 它有一个软件清单, 它并不一定是实时的跟某一个远程服务器,比如说这个阿里云的服务器保持同步的,是吧?我现在想要把它最新的软件的清单拉到我本地来,方便我到时候要去安装的时候能够去搜索参考。那这个就叫做 yummy cash, 把远程服务器的最新的软件清单给我拉一份下来。 ok, 另外有几个选项, ym 杠 h 显示帮助性,这个我们也用的比较多啊,就除了这个 ym 意思多,有的时候我们会用 ym 杠 y 意思多,什么意思呢?就是它在安装的过程里面有可能会有一些需要决策的东西, 你如果使用了杠 y 的 命令呢,它一律会给你回答 yes, 就 这个就叫做自动化无人值守了。 你是你如果安装的时候他时间消耗的比较多,你又不一定在电脑前面的话,你可以用这个样杠 y, 或者你觉得每一次都要回答他的问题很烦,你可以用它杠 c 指定配置文件去安装杠 q 安静模式。这两个东西是相反的啊, 一个是不给你任何的流程提示的信息,一个是把每一每一个步骤都详细的告诉你, ok, 好, 其实看起来是非常的简单是吧,而且这个英文单词也也很容易理解。 search, install update remove。 你只要知道这个英文单词,你你你都不用去记,你基本上都会知道怎么样去用它。 ok, 这个是样,然后很不幸的是什么呢?亚姆的作者在二零一三年的时候 因为出车祸去世了,所以这个 yam 就 停止更新了。后来呢,又有人推出了 yam 的 下一代的版本,它的名字叫做 dified yam, 简写呢是 dnf 啊,注意,再说一次,不是地下城与勇士 dnf, 它,它是 yam 的 下一代的产品,在最新的 fiora 和 centos 的 操作系统里面呢, dnf 都已经取代了 yam。 这个 difier 是 什么意思呢?是时髦的,华丽的一个意思啊,我们可以可以理解为是一个 yam 的 高级版本, 这里也有一个表格,大家可以简单的看一下啊,就是因为这个样吗?也有将近十年没有更新了,没有办法,没有人去维护了, 所以他已经被这个 dnf 远远的抛在后面了,你看从各个角度来说,这个 dnf 基本上全面碾压他了是不是?你看从这个扩展的支持啊,占用的那那那内存啊,代码的简洁度啊等等的。但是还是那句话啊, 在我们实际使用的这个过程里面, yam 还是使用的更多,所以在我们的这个课程里面,还是重点的去学习 yam 如果使用了一些比较新的操作系统的同学呢,大家也可以了解一下这个 dnf。 现在我们再看一下刚才一直讲的都是红帽系的啊,现在我们来看一下 david 系的操作系统。 david 系的操作系统主要是有两种方式啊,第一种通过这个点 d 一 b 的 安装包去安装。 第二种呢, a p t。 同样的啊,这个就相当于 rpm 的 包和 yam 的 一个区别,我们有了这个 a p t 之后, d b 完全不需要使用了,除非就是它的那个安装包呢,还没有提供这个 a p t a p t 的 安装方式,比如使用 kelley 的 同学就会非常的清楚啊,当我去使用一个工具不存在的时候。

c 盘爆满,游戏经常卡顿,这可能是由于 n 卡着色器缓存太多导致。从前需要我们前往 c 盘文件中手动清理比较麻烦,很多小白不会操作,现在只需要一键即可清理成功了。这是英伟达 app 的 最新功能,不废话,直接教大家使用。首先我们需要保证 app 版本是如图即 以上,不然就会没有清理缓存功能。如果没有 app 或版本过低,则我们需要使用奇游搜索英伟达进去,在右上角拿完资格后一键优化,点右下角更多 get force 驱动程序, 在这里即可安装或更新最新 app。 接着我们需要保证驱动程序,这里显卡驱动版本为五百九十六点四九级以上,如果不是则在右侧这里更新一下。前面所有都完成后,我们点图形全局设置下拉,点入着色器缓存, 再点右上角的三个点点按钮,选择清除缓存即可一键清理了。根据大家 n 卡缓存的不同,能给 c 盘瘦身最多甚至五十 g 左右,并且清除缓存后,游戏的卡顿问题也会得到一定的缓解。以上就是本期视频的全部内容,大家学会了就赶紧去试试吧!

现在我们练习三零 plc 的 编程,先打开编程软件 gx was 二,双击它。那么第一步我们要新建一个工程点,菜单上的工程,新建工程, 工程类型直接使用简单工程 plc 系列,我们的是 fx cpu plc 类型这里可以选择有一 n 二 n 三 u, 我 们现在选择三 u 的 plc 程序语言,直接使用梯形图 点确定加入专属会员的方法,在你观看视频的首页点击智多工的头像,然后就会进入智多工公共知识的首页,点击专属会员, 进入专属会员的首页查看会员课程。会员课程目前一共有七套,加入专属会员之后,这里所有的课程都可以观看, 系统会自动把你拉入 vip 群,不用你自己去加入,系统会自动把你拉入 vip 群,我们可以在 vip 群领取所有课程的资料,程序软件方便你学习。 点击相应的课程就会进入课程的详细界面,这边内有课程的目录,课程的总课时, 点击相应的课程,就会进入观看视频的界面设置,这里显示文字的大小,比如我要指定文字八十五, 百分之一百,显示的文字就比较大,点确定,那么我们现在输入第一个程序,点动控制, 这个蓝色的是一个活动框,你要在哪个位置输入。双击这个蓝色的活动框, 那么就出现梯形图输入,点一下这个三角形的按钮, 第一个是常开触点,第二个是长臂触点,括号是线圈,我们现在用到的就是这三个符号,我们先点常开触点,常开触点,后面我们需要输入一个原件, 比如我们要从 x 零输入信号, x 零就是 plc 上的实物输入触点点确定, 那么这里就出现了一个常开触点 x 零零零,这里对应的就是 plc 上的输入端口 x 零,然后我们点击到右边空白的地方,还是双击这个活动框, 然后我们选择一个线圈的符号,我们要控制线圈 y 零, 这个 y 零就是 plc 的 输出端口 y 零点确定,下面软件会自动创建一个结束的指令, and 这个指令就是表示程序到这里结束,以下是空白, 那么我们输入完程序以后,我们可以看到这一个部分,是 我们可以看到这一部分还是显示着灰色,表示这一部分程序并没有转换给 plc, 那 么我们要点击软件的转换功能,转换功能有两个,一个点转换, 它只转换你自己小部分程序,另外这个转换就是把你整个程序就全部转换成 plc 能读起的语言, 如果你的程序比较长,那么就用这一个转换所有程序点击一下它,那么这里的 灰色的块就会消失掉,表示这一个程序已经转换成 plc 能读取的语言。那么当 plc 上的输入端口 x 一 输入信号的时候,这一个长开触点它就会闭合, 那么后面的 y 零输出端口它就会接通, plc 上的 y 零输出端口就会接通, 那么我们接着输入第二个程序,第二个程序是我们经常会用到的自锁电路,同样双击它输入常开触点,我们用 x 输入端口, 后面跟着的是一个长 b 触点 x 二, 那么在我们的继电控制电路里,这一个就等于是一个停止按钮,后面输入一个线圈,线圈的符号是 y e, 然后我们点确定,那么自锁电路下面还需要有另外一条并连的回路,我们又双击它,同样是用这一个常开触点,那么这个时候常开触点我们就要输入 y 一 点确定, 那么当你这个 y 一 线圈得电熄火的时候, y 一 的常开触点它就会闭合,那么这里要并连一条线路到上面去,怎么画呢? 点一下这一个划线,写入点一下它,然后鼠标点住这个活动框,往上一拖, 那么这条并连的线路就画好。当 x 一 接通以后,这个 y 一 的线圈就会得电吸合,那么它对应的常开触点就会接通,那么这一条就形成了自锁电路。我们再在这一个位置, 用这一个划线功能往下拖出一个并连的电路,这里输入另外一个线圈, 比如 m 零, m 是 一个辅助继电器,也就是继电电路里面常用的中间继电器。 程序写完以后,我们就点一下这一个转换所有程序, 把这个梯形图转换成 plc 能读懂的语言。下面我们再接着编写定时器的程序, 那么这一个常开触点我们输入 m 十点确定。 m 是 一个辅助继电器,它不需要在外接电路,它在程序里是一个逻辑软件,不需要接线。 那么我们后面跟着的是一个定时器,定时器它也是线圈,我们可以输入 t 零,定时器的代号,用 t 编号零, 然后按下键盘上的空格,输入 k 三百, k 是 代表实进计数, 那么这个是什么意思呢?定时器 t 零,它的计算单位是一百毫秒, 时进计数三百,那么它的时间就是用三百乘以一百毫秒等于三十秒,那么 t 零定时器的时间就是三十秒点确定, 那么当 m 十接通的时候,这个定时器 t 零,它就会算时间,下面我们接着输入常开触点 t 零, 那么当这个定时器时间到达接通的时候,它下面这个常开触点就会接通,接通以后我们让它强制接通线圈。 y 二 set 的 意思就是强制接通,也就是我们常说的置位 点确定,那么当这个 set 指令执行之后, y 二这个输出端口它就会一直接通, 我们后面接着再输入一个常开触点 x 十一点确定,然后输入一个强制复位 rst y 二点,你输入这个强制指令 r s t 或者这个 set 指令的时候,这个位置都不用选择线圈,也不用选择常开触点,直接选择上面的空白处, 你点确定,那么就会出现这一个指令,那么这一个指令执行了之后,它就会把上面接通的 y 二给强制断开, 这个是强制接通 r s t 就是 强制断开,然后再点一下转换,那么我们的程序就输入好,如果想把它保存,那就点一下工程, 工程另存为,你就可以把这一个工程,你就是你编程的这个程序指定保存到一个地方,比如我把它保存到桌面,然后输入一个文件名零点保存, 指定工程不存在,是否创建工程。点四,那么你下次就可以直接到你的电脑桌面去找到那个文件, 那么我们看一下桌面上的这一个,就是我们刚才保存的这一个程序的文件,那么程序写完之后,我们可以用软件它的模拟功能去测试这个软件的运行。 如果你没有 plc 的 实物,那么也可以使用这一个模拟功能来运行一下这一个程序,看它是否能正常运行。

不知道你有没有注意过一个有些反直觉的技术细节。当我们尝试在本地部署一些前沿的 ai 工具或者安装 codex 这样的开发者软件时,官方文档里经常出现这样一好命令, npm install。 如果你对技术稍有了解,可能会产生一个疑问, npm 的 全称通常被理解为 node package manager, 它是 java scrapp 生态里用来管理网页项目依赖的工具。那为什么一个原本用来写网页的工具,现在却能用来安装并在本地运行一个复杂的命令行软件? 很多习以为常的现象背后,往往藏着技术眼镜的深刻脉络。为了解答这个问题,我们需要顺藤摸瓜去重新认识一下 javascript 这门语言。它从哪里来,它和 javascript 是 什么关系,以及在这个大模型爆发的时代,它为什么依然扮演着直观重要的角色?保持思考,保持好奇。让我们从一九九五年讲起, 把时间拨回到一九九五年。那时的互联网还处在早期阶段,当时的网页更像一本静态的电子书,文字、图片、超链接。如果你在网页上填写一个表单, 哪怕只漏填了一个名字,都必须点击提交,把数据发回服务器,再用服务器返回一个新页面,告诉你出错了。这种每次交互都要等待互联网传输的企业,效率极低。浏览器迫切需要一种内置的脚本语言, 让网页在用户的本地电脑上就能具备交基本的交互能力。比如检验表单、弹出提示响应、鼠标点击。网警公司把这个任务交给了工程师 brian ash。 在 紧急的商业压迫下,他仅用十天的时间就设计出了这门语言的第一版原型。 由于诞生的过于仓促, java scrap 确实留下了不少设计上的妥协和背后人诟病的历史包袱。但从工程学的角度来讲,这其实是一次伟大的水乳主义胜利。他没有追求学院派的完美无缺,而是精准地解决了当时最迫切的问题,让网页火起来。 伴随 java scrap 诞生,还有一个至今流传的误解,它和 java 到底是什么关系?在这里我们可以直接给出结论,他们除了名字相似,在技术架构、设计理念 和应用场景上没有任何之间的血缘关系。 java 是 一门严谨、面向对象的系统编程语言,常用于大型企业后端金融系统和安卓底层。 而 java script 则是一门轻量级的,主要运行在浏览器的脚本语言。之所以名字如此接近,完全是出于商业化的考量。一九九五年的科技圈, java 是 当时最耀眼的明星。 网警公司为了推广自己的这门新语言,当时还叫 leave scrapped, 决定与 some 公司合作,把它改名为 java scrapped。 如果打比方, java 和 java scrapped 关系大概更像热狗和狗的关系,仅仅借用了一个字,但本质截然不同。 那么,抛开历史,我们该如何定义 javascript? 如果把一个现代网页比作生命体, html 是 它的股价定义的信息的结构, css 是 它的外表决定了视觉的呈现, 而 javascript 就是 它的神经系统和肌肉。当你在搜索引擎输入文字时,底部的自动联想。当你在视频网站发出的实时弹幕,或者在不刷新网页的情况下加载出的新内容。这些都是 javascript 在 背后默默工作, 让网页从单向传递信息的静态文档,跨越到能与用户双向互动的应用程序。现在,我们可以回到开头关于那个 npm 的 玄念了。在很长的一段时间里, javascript 是 被囚禁在浏览器和这个沙箱环境里的,它只能在操作网页上的五谷元素, 无法触碰电脑底层的系统和文件。直到二零零九年,技术界迎来了一个关键的转折, nodjs 诞生。 notes 把 java script 的 运行引擎从浏览器里拨出来,移植到了操作系统检测面。这使得 java script 获得了读取本地文件、操作网页端口响应系统命令的能力。一旦 java script 打破浏览器的界限, npm 的 定位也就随之改变。它不仅再是一个网页组建的下载器,而是变成一个可以分发任何 java script 程序的平台。当你执行 npm install 来安装一个命令行工具时, n p m 实际上是在下载基于 node js 编辑的程序,并自动将其关联到你的操作系统的系统路径中。这不是 n p m 越界了,而是 javascript 这门语言的边界被无限拖宽了。 随着 javascript 的 边界扩张,还被用来编辑越来越复杂的系统。但这门语言与生俱来的灵活性在大形象塑造中反而形成了隐患。在 javascript 中,一个变量可以随时在数字、文本和对象之间切换。 这种动态弱类型的特性导致很多错误只有在代码真正运行,甚至交给用户手中时才会暴露。为了解决这个问题,微软推出了 type script。 type script 并没有颠覆 javascript, 而是它的超级。它在 javascript 的 基础上增加了一套严密的静态类型检测系统。在代码运行前, type script 会像一位严谨的架构师,提前检查出参数类型是否匹配,对象属性是否拼错。 他补齐了 javascript 在 大型工程化开发中的短板,让这门语言既保留了生态的繁荣,又拥有了企业级的可信。 随着科技进入大模型时代, python 凭借其在数据科学和深度学习领域的积累,成为了训练 ai 模型的首选。很多人甚至认为 javascript 的 地位会被消弱。但在真实的行业中, 我们观察到一个截然相反的趋势, javascript 正在成为 ai 落地和 ai agent 开发中最关键的一环。为什么呢?因为如果说 python 是 负责构建 ai 的 大脑,那么 javascript 则是负责构建 ai 接触事件的感官和手脚。 当一个 ai agent 需要调用外部 api 或者实时天气搜索网页资料,或者渲染一个复杂的交互式数据图,表示 javascript 拥有这个视屏球上最庞大的 api 调用生态和最优秀的异步处理能力。 更重要的是,无论是 chat gpt 的 网页端,还是各种智能化的浏览器插件, ai 最终都需要在一个离用户最近的界面上呈现,而这个界面永远是前端技术的领地。 正如像 first 的 a s sdk, 其各种 webscript 驱动的 agent 的 框架正在成为连接大模型与终端用户的核心桥梁。在这个时代,思考和推理归 python, 而交互和行动归 javascript。 所以,今天我们到底该如何评价 java script? 它其实不是一门在象牙塔里被设计出的完美语言,但它绝对是生命力最顽强、生态最繁荣的语言 之一。它以极其低的门槛拥抱了无数初学者,又通过 node js 的 type script 接住了复杂工程的考验。它就像数字世界的一套通用讲述架,把浏览器、服务器开发者已经如一般的 ai 紧紧地联系在了一起。 下一次,当你在终端敲下 n p m in store 的 时候,你看到的也许不再是一条简单的指令,而是互联网底层逻辑不断,眼界不断突破边界的一段缩影。这就是 test lab。 让我们保持思考,保持好奇,下期再见。

哈喽,大家好,我是杰瑞,好久不见啊,这期给大家带来一键备份驱动程序,我们重装系统最怕什么?不是装系统慢,而是装完系统后,我们要花费大量的时间去安装驱动,如果用第三方软件去打驱动,有几率会出现死机、蓝屏, 甚至出现系统不稳定的问题,那么今天讲的方法就可以彻底解决以上的痛点, 只需要两个脚本啊,右击以管理员身份运行,这个时候它就会自动避开 c 盘,也就是你的系统盘啊,在 d 盘或者 e 盘等其他分区新建一个叫 java 的 文件夹,然后把你当前电脑里所有的驱动原封不动的全部提取到这个文件夹里面, 等到脚本跑完以后,你就可以安心的重装系统了,因为 c 盘要格式化,我们把两个脚本放到 d 盘里面。 好了,这边系统已经安装完毕了,我把我的电脑和用户文件夹调出来, 然后我们打开设备管理器啊,看哪些驱动没有打上, 因为我是笔记本啊,这边还有 pci 主板、网卡、显卡都没有打上。 然后我们打开 d 盘,找到一键恢复驱动程序,右击以管理员的身份运行,这个时候他会自动去找那个 java 文件夹,就是我们刚才一键备份的那个文件夹,找到以后自动进行静默安装。这种方法的好处, 不用联网,不用装流氓软件,就这么简单粗暴。好了,关于这两个脚本的原代码,我会放在评论区或者简介里面啊, 大家有空去找一下就可以了。如果这个视频能够帮到你,可以给我点个免费的赞吗?谢谢大家。

那现在我们再拔盘测试一下,可以看到系统现在就能正常的进入系统了,完美!你是不是已经受够了被博通收购后的微软?那找个资料下载个软件,简直就是迷宫,那是时候放弃微软,拥抱 pve 了, 开源免费,还超强大,那这一期 pve 带你上岸!其实我想做这个系列已经很久了, 奈何拖延症它不好治啊!转眼一年过去了,今天正式开坑,我既然决定做了,那就要把它做好,那我自己也是从 esci 逃难过来的,所以接下来的教程里,如果遇到难懂的概念,我会拿 esci 的 功能来给你们打比方,这样的话能帮助你更好的去理解 pve。 很多我也是现学现卖,所以如果有说的不对的地方,欢迎各路高手在评论区友好交流。好,我们简言少叙,正式开始今天的教程。版本方面,现在很多人可能还在用八点四甚至是七点四, 但是考虑到教程的一个时效性,我还是选择当前的最新版本 pve 九点一。那正好也带大家看一下这个新版的 pve 跟老版有哪些不同。不过你们也不用太担心, 我相信真正有用的知识往往是相通的,相信你看完我的教程,即便碰到了之前的版本,也一样可以信手拈来。安装 pve 的 最低硬件要求很低, 那 amd 或者英特尔的 cpu, 一 g 内存有硬盘有网卡就行,但是你懂的,最低要求那不是给正常人用的。但凡你想真正用好 pve, 再跑些虚拟机,那内存最好是四 g 或者更大,因为光 pve 和底层的 linux 系统就要吃掉近两 g 的 内存, 硬盘和内存一样多多益善。虚拟化技术,它虽然说提高了 cpu 的 利用率,但对硬盘和内存的消耗那可是一点都不少,那这一点等你玩久了虚拟化, 那就能深刻的体会到。安装过程中的地区、时区等等这些设置没有什么好说的,这个网络设置界面也很简单,最下面这个 pin network interface names, 它的意思是给这个网卡起个名字,默认它给你起的名字是 nick 零,当然你也可以在这里换成别的,然后提交就能看到它的网卡名字已经改变了,当然你也可以不勾选这一项,那它就会用系统给它自动生成的名字。 还有一个就是在管理 ip 这一块儿,那其实也是有个坑的,不过大家一般不会碰到,也不影响你正常使用。而且这个视频主要是面向新手的,如果讲太多额外的知识, 容易让人产生从入门到放弃的感觉,所以这个视频我就不展开了,之后我会单独出一期视频来解决这个问题。那接下来要说的是硬盘分区设置部分,那这个才是这一期视频的精华, 也是我最想说的。那首先是如果你想把 pve 用在生产环境中,那怎么着也得给系统搞个 reid 一 吧,那不然换一个硬盘就当机,那你的绩效奖金还要不要了?那 pve 在 这里它提供了两种方式的 reid 一 安装,那能解决你没有硬件 reid 卡 也想实现系统容鱼的需求,其中 z f s 组睿的一它要求会更严格,需要你的两个硬盘容量完全一样才行,而 b t r f s 则没有这个要求,所以我们就先看这个 b t r f s。 当你选择 b t r f s ray 的 一可以看到它可以修改的选项其实并不多,那通常我们也只需要修改一下 hd size, 那 这一个参数就可以了。那你以为这么安装好就能实现双盘容鱼了? 那现在我们来做个测试,那在系统安装好后,我直接拔掉一个硬盘来模拟硬盘损坏的情况,那可以看到 pve 它并没有按照我们预期的那样正常启动,而是卡在了这个界面。那我们刚刚给系统盘做 read 还有什么意义呢? 那其实作用还是有的,先别灰心,那这个故障我们只需要做一个小小的操作就能修复。在你安装好系统后,你还需要做一个小小的操作就能修复。在你安装好系统后,你还需要做一个小小的操作就能修复。在后面添加这么一个参数, 然后执行一下这个命令,来更新一下不的配置,那现在我们再拔盘测试一下,可以看到系统现在就能正常的进入系统了, 完美。那造成这个的原因其实是默认 b t r f s 是 不允许在缺盘的情况下启动的,而修改这个参数就是告诉他少一个硬盘你也给我正常启动。可见 b t r f s read 一 还是有些麻烦的, 所以如果你条件允许的话,我更推荐 z f s read 一, 它没有刚刚说的这个毛病,也不需要你做额外的设置。那 z f s read 一 模式它提供了很多选项可以让你修改,但是在你不了解 z f s 这个文件系统的情况下,我建议你只修改最后一项 hd size, 那其他的保持默认。因为 zfs 又是一个专门的知识分类,我对 zfs 其实也了解的不多,不过如果你对 zfs 感兴趣的话,我倒是可以给你推荐一位 up 主。 在这里还有一个点需要提醒一下大家,就是 zfs 和 btfs 这两种安装方式,默认它是不会自动创建 swipe 分 区的,所以如果你需要 swipe, 那 就只能在安装好系统后,自己手动创建 生产环境下的配置。说完了,我们再来说一下个人用户最常用的 e s t 四叉 f s 的 这种安装方式,那这种安装方式它最难的自然是这些选项该怎么设置,以及需不需要设置。什么情况下需要设置, 那不知道你们有没有好奇过这些选项的具体含义是什么,反正他们是困扰了我很久,如果你不求甚解,倒也不影响使用, 但总归心里是有那么点膈应的,那正好要做这一期视频,所以我就彻彻底底的了解了一下 i d size, 那 这个参数它是用来指定整个 pve 系统占用的总空间,那如果你的硬盘比较大,那你就可以用这个参数来限制一下 pve 对这个硬盘的占用,因为默认他会使用你全部的硬盘空间。那这个参数对下面的这几个分区来说非常重要,因为他们的默认值或者极限值都是基于 hd size 这个参数来进行计算的, 而且他们都是包含在 hd size 这个空间之内的。不过我的建议是,就跟我们安装 excel 一 样,你可以找一个小的硬盘 来专门安装 pve, 从而实现 pve 和虚拟机的数据分离,那用久了之后,你会发现这种存储方式好处多多,那这个也是生产环境中最推荐的一种方式。 swap size, 那 这个参数它是指定交换分区的大小,如果你不需要 swap 分 区, 那直接把它设为零就可以了。这样的话,你在安装完 pve 以后,是没有 swap 分 区的,那如果不指定,那默认它的大小就是你物理内存的大小,但是最大不会超过八 gb, 最小的话是四 gb。 注意,这个是当你硬盘空间充足的情况下, pve 才会按照这个公式进行设置。但是如果你的硬盘空间本来就很紧张,比如这块十六 g 的 硬盘,那最终的 swap size 可能是会小于四 g 的。 不过这个参数你也不用太纠结,一般空着让系统决定就好。 那上面这俩参数都是精确值,你指定多少,那最终这个分区的大小它就是多少。而下面这三项,它则是都只是指定的一个范围。像这个 max root, 那 它是用来约束跟分区的大小,也就是 pve 杠 root, 那 这个 lv 的 大小,也就是 pve 系统的跟分区。 那比较容易产生误解的地方是,那这一项他并不是指定跟分区有多大,而是仅仅指定了跟分区的一个上限,也就是跟分区他最大能是多少。所以最终你看到的跟分区大小 如果小于这个数字是完全正常的。如果你空着,也就是默认情况下,那最终跟分区的大小,那它也是有公式可以计算的。只不过要分两种情况来看,当 hd size 大 于四十八 gb 时,那跟分区的大小就是 hd size 的 四分之一,但最多不会超过九十六 gb, 因为九十六 gb 已经很大了,你给跟分区更多的空间也没有必要。那当然,这里指的是 max route 时, 那最终跟分区是有可能超过九十六 g 的。 那第二种情况是,当 hd size 小 于四十八 gb 时,那跟分区的最终大小是不小于 hd size 的 二分之一。那这个原因也很简单,因为此时我们要优先保证 pve 系统能稳定地运行, 那跟分区它就不能太小。 max vz, 那 这个参数它同样是指定一个上限值,用来限制 pve 杠 lvm 的 大小,它对应的是 local 杠 lvm 这个存储, 所以当你的系统盘比较小时,那可以把这一项直接设置为零,表示不创建数据卷,那这样在 pve 安装好后,就不会再有 local 杠 lvm 这个存储了。不过这样正合我意,反正硬盘的空间这么小, 那 local 杠 lvm 这么点空间它也放不下虚拟机,那还不如只留个 local 存储,用来保存一下 i s o 镜像什么的,正好合适空间完美利用。 如果你不在安装 pve 时把 local lvm 这个存储闭掉,而是等系统安装完成后,再去用 lvm 等等工具调整,那就属实太麻烦了。那数据件的默认计算公式是,数据件它等于总空间减去更分区, 然后减去 swap 分 区,最后再减掉这个预留的空间,剩下的就是数据卷的大小。而且如果计算出来的结果发现它的 size 特别小,还不到四 g b, 那 数据卷它也不会创建, 因为太小了嘛,那建起来也没啥用,干脆取消得了。最后,这个 mini free 它是指定一个下限值,表示我们要保留多少空间备用。同样,这一部分空间,它也是从 i d size 的 这一部分空间里面扣。 默认的话,保留多少也是要分两种情况来看的,如果你的 h d size 大 于一百二十八 g b, 那 系统就会保留十六 g 的 free 空间。而如果你的 h d size 小 于一百二十八 g b, 那 它就只保留 h d size 的 八分之一。官方文档中没说的是, 这个是当你硬盘空间比较充足的情况下才会这么分配。那我实测发现,当你的 hd size 特别小时,那 free 空间它并不会还死板的以 hd size 的 八分之一为标准进行保留,而是直接不保留。嗯,不过这个也好理解,一切还是要以系统稳定运行为前提, 系统都快饿死了,你还留个屁的分域空间啊。以上这些计算方法大都是指你全部留空时的默认场景,如果你手动指定了某个值,那么最终还是你手动指定的优先级更高,以你指定的为准。估计听到这里还是有很多人会脑子比较蒙, 不是那么的通透。那这是因为你对这些分区的关系还没有一个宏观上的概念,所以我就整理了这个图 来帮助你们理解。结合这个图再去看这些参数,就没有那么难懂了。首先, pve 会在硬盘上创建三个分区,一个是一兆 b 的 bios boot 分 区,第二个是五百一十二兆或者一 g 大 小的 efi 分 区, 剩下的就都是数据分区,那这三个分区是固定的,不管你的硬盘有多大或者多小,它都会创建这三个分区。其中所有分区根分区和 data 分区都是放在第三个硬盘分区上的。那通过 l s b l k 这个命令我们也能看出来,对于 ext 四叉 f s, 那这种安装方式, pve 在 底层使用的是 rvm 技术来管理所有的数据分区的,所以最终整理成图表,那 pve 的 系统结构就是这样的,那其中这个 data 分 区它比较特殊,那下期我们单独来聊一下它。 总之,如果你的硬盘空间很大,比如一百 g 以上,那你完全可以不理会这些参数,让 pve 安装程序 自己分配即可。相反,如果你用来安装 pve 的 硬盘很小,或者说你有特殊的需求,那这期内容你是有必要好好看一下的。那比如如果我这块硬盘就只有十六 g 的 空间,所以它最合适的作用就是只负责把 pve 系统给我跑起来,然后只保留 local 这一个目录, 用来存放一些上传的系统镜像什么的。那这么做啊,其实还有一个好处,就是实现了系统 和虚拟机数据的分离,那这个也是生产环境中非常推荐的一种方式。要实现这个效果,我们只需要在安装的时候 把这个参数设置为零就可以了。又或者说你不想要 swap 分 区,那你直接把这一项设置为零就可以了。我通过很多次的安装,得出的一个建议是, 你最好不要每一项都手动指定,因为那么做系统最终它也不一定会按照你的预期那样严格执行。

最近眼睛有点花了,我都找不到了。文件下载, 哎, 下载目录在哪?我找一下文件下载, download 在 哪?难道就是这一个?不应该呀,应该是一个英文的 download 的 哦。啊,直接点击文件下载里面吧,然后比如说它这里有个文件呢?我比较喜欢,我想要给它下下来啊,比如说这里面的, 哎,都不是很喜欢,我都不是很在意这些东西。就比如说这里的一个漏洞处置 s o p 文档,那里面的这一个文章我喜欢,怎么办呢?右击刚落的下载,下载以后再试图 文件下载这里,它就会有这一个文件的描述。点击右击哦,点击下面这个 s y n c 就 给它读取下来,然后放到我自己的机器里面啊,比如说我想要把这个文件下载到我的 d 盘的 test 目录,那我就找到 test 目录给它打开, 那我们再进入到 test 目录,就可以去找到这个文件了。刚才的那个什么漏洞处置文档啊,它就会出现在这里,看到没有, 就这里了。所以 cs 它能够提供的功能非常强大。那问题呢,就在于,如果说我想要去控制别人,会有一个小问题, 这个问题呢就是怎么让目标去运行我的木马,是不是?朋友们是不是有这样的一个疑问,这木马文件又怎么去让目标去运行呢?怎么让目标去打开呢?双击 s r t 杠 c n 点 b a t 闪退。什么情况? 你是不是?是不是大家没有去解压缩啊?解压缩之后应该不会出这种情况。社工 生成 back 点 exe 文件之后怎么做啊?直接双击,直接双击就能控制你的电脑了。 钓鱼,社工钓鱼,那肯定不可能说你发一个 exe 文件给他吧,你发个 exe 文件给他,那到时候他就直接给你逮住了。 好,你想的是黑客,你居然想拿 exe 文件来钓鱼我,那肯定不行。所以呢,我们只能够换一种方法,我们可以去使用到一种技术,叫做自解压木马制作, 只要运行的木马程序不在同一个网站也可以吧。如果你用的是云服务器可以,如果说你用的不是云服务器,它就不行。如果说我是在我的云服务器上面,在我的公网 ip 上面去搭建的这个 cs 服务, 不在同一个网段,你只要联网了我就能够控制你。但是现在我们做讲解的话是用的卡里,卡里的话它是内网机器,它就只能够控制同一个局域网内的,它只能控制同一个局域网里面的。好,那我们就来给大家继续讲解一下。就是对应的 客户端和服务端都用虚拟机吗?都可以,看你自己选择。我是推荐大家客户端用自己的机器,服务端用虚拟机,或者说你有 vps 的 话,你就用 vps。 好, ok, 那 我们就来教大家去制作一个让别人能够去 点击的木马文件。好,怎么制作呢?这里我们首先去准备 两个文件,一个是图片文件,一个是我们的木马文件,两个文件都准备好之后点击邮寄。这里要用到一个工具,叫做问 a r a r, 这个问 a r 工具呢?怕大家下载到一些什么盗版的,所以说我就直接给它上传到了我们的课程工具网站当中, 里面有一个哦,还没有放丢啊,在这里问,哎呀叉二四七幺三 s c 点 x 一 是我今天在网上下载下来的一个问哎呀的安装包程序,大家自己去安装就可以了。安装完成之后,我们选择两个文件,点击右击,它有一个 word i r 压缩的格式,就通过 word i r 进行目标压缩,选择第一个添加到压缩文件,然后它会弹出一个 选项,在这里呢,我们去选择勾选压缩选项, 选择这一个创建自解压格式压缩文件,选择它勾选一下,勾选完成以后,点击高级,它就会有一个自解压选项, 点击自解压选项,这里呢总共就有多个设置方式了。首先第一个解压路径,解压路径大家可以设置成一个所有人都能够访问的路径,叫做 c 盘的 windows type 目录,因为这个路径呢是 windows 的 临时文件目录,所有用户都可以访问,那我们就设置成这一个目录,即可直接复制粘贴过来,然后再选择第二个设置设置解压后运行的程序,那这一个程序呢,我们就设置成刚才所选择的两个软件, 一个是图片的文件名,一个是这个 button 点 x 一 的文件名,我这里呢也是全部写在上上面了,然后直接复制粘贴就可以了, 但是一定要记住啊,这里的复制粘贴呢,第一个一定是在 c 盘 windows tab 五六 back 点 x 一, 如果你对文件没有去进行更改的话,文件的名字没有更改的话,它就是 back 点 x 一。 那第二个呢,所要运行的内容是打开这一个 g p g 文件,这个 g p g 文件就一定要是 这个文件的名称,这个图片文件的名称,我的图片文件叫四 f f d d 三一四一,那如果说你的图片是一点 g p g, 那 你这里的名字呢?就要改成一点 g p g, 明白吧?同学们 一定要改成这个样子,嗯,好,这里呢,设置完成之后,点击模式,模式的话选择全部隐藏,静默安装。 记住,如果你不选择隐藏安装的话,那到时候我可以告诉大家,他可能会给目标弹出一个对话对话框,就说是否解压,就会出现这样一个对话框,所以选择全部隐藏。 这是赛博花柳的方法吗?懂了,上传几个无害花柳到小红车逗哥们玩, 搞这种好,全部隐藏,点击高级,高级的话不需要改,然后更新的话选择解压并更新文件覆盖所有文件,这里呢就选择第二个模式即可,然后点击确定, 点击确定它就会生成一个叫做 test 点 x 一 的文件,看到没有? test 的 点 x 一, 哎,在哪里啊? 再这样太 t e s t 点 x 一 的文件,那这个文件的话是我们刚才压缩好的,那压缩完成之后的文件类型, 把图片和文档一起,把图片和软件一起放进去了,但是还是没有解决一个根本性的,就是说后缀还是点 x 一 的,那大家会点吗?还是不会点,那怎么办呢?我们就得想办法把它变成 g p g 的 后缀怎么变? 在这里首先对名字进行更改,改成一个一页 g p g p g g 点 e x e, 我 们改成这样的一个文件命名格式,这个格式的话就一定要符合一个标准,首先前面是我的名字,大家这个名字你可以随便的去输入,然后 p g p 的 话,它其实是 g p g 的 一个顺序, 给他捣乱了一下,因为 g p g 嘛, g 是 在最前面的,应该是 g p g, 但是我要给他把第一个和最后一个进行调换,那就变成了 p 啊, g p g 是 第一个和最后一个调换,就会变成 g p g, 点 x, 改成这个形式,课题上面呢也有写,然后我们点击一页后面的内容,把光标移动到一页后面这个 g p g 前面,点击右键,选择插入 unit 的 一个控制字母,选择 r l o, 选择完成之后可以发现啊,等会儿因为我这里有一个这样的文件了,去给它删掉,重新来一下,重新来一下, 改成一页 g p g, 这个 g 就是 勾 点 ex 一 名字,设置完成之后,点击一页后面的内容,点击右击,选择插入优利库的字母,然后选择 r l o, 选完之后它就会变成一页 ex, 一 点 g p g 文件,那这个文件它就变成了什么 g p g 为后缀的了,那你看到它就会以为是图片,同时我们改完之后,再给它去对 图标改一下,把它图标改成 i c o 的 图标,那这个图标的内容呢?就改成这个图片内容。 当然我们今天这节课因为时间问题,所以说就没有给它去改图标了。改图标可以用一款工具,然后也可以对它的图图标进行一键化更改,那我只要把图标再进行更改,把它后缀也给它改了,那我再发给我的朋友,我再发给我们的摩卡老师,那摩卡老师是不是就相信了, 我说这里有一个学生的图片,学生照片,或者说学生的简历你看一下,然后我们的模考老师呢,一看是一个 g p g 的 文件,那 g p g p g 的 一个图片文件,他就想看一下,看这一个学生帅不帅,然后一点击打开, 好图片打开了,哦,这个美女还挺好看的。然后不知不觉间他还运行了我们的木马文件,看到没有?我们的上面原本只有这一个,现在呢?是不是又多出了一个?原本只有这一个,现在又多出了一个, 啊哈,又多出了一个,那这一个呢?我们能不能控制输入到 step 零回车, 然后再去执行到对应的指令,那是不是就能够实现无感控制? 不会被朋友的杀毒软件杀吗?杀毒软件杀,有没有解决方法?同学们,哎,杀毒软件它就是万能的吗?杀软就是万能的吗? 问一下大家,你们觉得杀软它是能够杀掉所有的木马吗?有没有?是不是有这样一个想法,你觉得杀软能够杀掉所有的木马, 可以免杀的呀?你又不是说他做,他杀软安装完之后就无敌了,他这个电脑就不可能被控制了,不可能被攻击了,不会的呀,可以免杀呀,而且现在其实你说什么 杀的软件无敌啊?谁都绕不过,没有没有这样的杀软,基本上现在所有的杀软都可以绕过,都可以做免杀, 都可以做免杀的。你说把这个文件给他删掉,是不是就没办法控制了?给他看一下,我给他删掉了,我控制结束了吗?我把刚才那个文件给他删掉了,那现在他 是不是还是在被我控制的阶段?我想干嘛?是不是还能干嘛?我想要看他的桌面,是不是还是能看他的桌面。 嗯哼,有什么用?没用的,因为我是做了自解压,是解压到它的一个 type 目录了,除非它能够找到 type 目录下面我所创建的木马,那这还只是我做的第一层,如果说我在这个木马生成的过程中,我给它植入一个控制目标之后,直接去 那什么来着,注入到他正常进程当中,他就算把我的文件他发现了,删除掉了,没关系,那我已经注入到他的其他进程里面了,我一样能够控制他。 所以你们想的这些方法他都有绕过的手段,都有绕过的一个方法的。所以说同志们没有绝对安全的系统,只有说不够技术不够强的黑客,你有杀软,我可以绕过你的杀软,我可以去做免杀 啊,你能找到我的文件,我可以去给他做进程注入,我移动到其他的进程,那你说你会去做进程排查,你会去找到我的外联目标,那我就给他伪装成一个真实网站,那你也找不到。 所以你能够想到的方法,黑客都能想到,你能够想到的解决方式,黑客也能想到,那他就会根据你的解决方法去制定一个你永远找不到的木马文件,你永远找不到的一个木马, 那你的电脑就是永久被控制的状态。好吧,好,这就是今天的一个简单技术点。看啊,这个还是挺好看的,还挺好看的。 嗯,这就是所谓的一个木马伪装以及社工的手段,就是给他设置一个感兴趣的文件内容,从而去诱导他点击我们的文件,不管是图片文件还是什么 pdf 文件,还是 word 文件还是 excel 文件都行,只要能够让目标点击,那我自然 就能够去对他实现所有的控制。要是朋友是 gay, 不 喜欢女生,那么骗你就搞个肌肉男给他,他也喜欢看,他也喜欢看。都连。夏威晚是不是也属于同一局域网?不属于,夏威晚做了 ap 隔离的夏威晚是做了 ap 隔离的,他是不属于同一个局域网。 ok, 那 今天呢,我们就提前给大家打个卡。好吧,同学们准备打卡了,有没有准备打卡的同学给他打个卡。 没想到吧,今天这么早,让那一些现在在洗澡的,或者说现在在外面玩的同学给他们突击一下,让他们打不上。大家可能会觉得我都是在九点十多分九点半打卡, 但是今天我就九点打卡。好准备啊,三二一开始打卡, 嗯,还是一分钟的时间,还是一分钟的时间?可以攻击,可以虚拟机攻击虚拟机吗?可以,没问题。嗯哼, 幸好提前进入了。还有这些卡点来的,嗯哼, canada。 但是这样的技术呢?虽然说很牛逼,这些技术呢,虽然说能够控制到所有的人,但是有一个问题, 有个问题,这个技术不能够在日常生活中去进行使用,因为在日常的生活中,这个技术它是属于违法范畴之内在违法范畴之内,所以我们正常情况下来说,这个技术只有在特定时间段里面才能够使用。
![[焚诀]还破解个锤子:教你内存解密一把梭哈 分享一款自己二开的内存解密工具🛠️(linux版),用网络安全研究🧐,降维打击。
#黑客 #程序员 #知识科普 #密码 #信息安全](https://p3-pc-sign.douyinpic.com/image-cut-tos-priv/3f9535d90d42283d0328a48bd95e134e~tplv-dy-resize-origshort-autoq-75:330.jpeg?lk3s=138a59ce&x-expires=2094832800&x-signature=Ng1zaY%2Bh%2BJT6H5KR1CYSSU9NT00%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=cover&biz_tag=pcweb_cover&l=20260523021647AC8E5B239109BCD000AA)
接口逆向遇到加密应该怎么办?我们一起回顾传统方法,那么现在有没有更加好的方法呢?我们一起来看这个开源项目, 推理算法助手将为打击,看他的一个大致原理是什么呢?相当于说是在我们程序运行的时候呢,就直接去读取这个程序的它的内存, 把他的内存信息,包括一些加密信息以及解密后的铭文全部都给他拷贝出来,把之后呢做成一个数据库,然后通过一个文件来进行读起。比如说他使用的是 md 五加密,我通过这个密密文的话,就可以快速搜索到他的铭文,这也是非常快的。 那么这个项目是非常优秀的,但是它存在一个缺点,不支持 linux 系统,你像我这个系统只用的是低端系统,就用不了它这个软件,也就于是呢,我在 ai 的 辅助下呢,就对这个项目进行二开,怎么使用呢?我们就通过命令来运行这个程序参数,干 e 参数,这是我们程序的这一个入口, 启动它使我们 windows 版本就非常的像,那么应该如何来使用呢?我在这里的话给大家写了一个 demo, 哎,这个单词也是用开成写的,但是的话他就用了各种各样的加密,为了方便测试的话,他会直接输出我们的 pid, 我 们把这个 pid 给它复制下来,也就是我们程序的一个进程号, 选择自定义进程,你也可以选择这个进程,然后去这里找嘛,我们这里省的找了,我们直接这里直接停入进程 id, 选择加载模型,加载模型它就会去弹破我们这个程序的内存了,加载成功之后呢,我们尝试来测试嘛, 比如说我们通过抓包呢,就抓到了这样的一个密文,拿到这个密文呢,你不要去瞎猜,你就去问 ai, 你 说这个这段密文可能是什么加密,他就会大致的会告诉你它是 md 五加密,你复制了之后呢,然后回到我们的程序里面,把它填到最下面的这里啊,你知道的密文忍者开始推理 好这里的话,就这里的话不要忘记了再点上 md 五,因为它是 md 五算法,我们就开始推理啊,你看速度是非常快的,就可以推理得出它的名铭文是 md 幺三。好,那么我们再来体验一下这个比较常见的这个 aes 算法, aes 算法就比 md 五复杂的多了,它就多了这个这个密钥,哎,有密钥, 那么很多时候呢,我们都是需要找到这个密钥的。好,我们把这个密文复制进来,然后的话这里的话还要填入你知道的部分铭文,这里我们就填入部分铭文嘛, 填入部分铭文之后呢,不要直接点开始推理,我们这里选择 aes 开始推理,你看我们这样的话就能够把我们的 k 给它推理出来了。 你看通过这个演示的话,我们就发现这个工具其实是非常便捷的,以我们传统的逆向方式相比较的话,它的优势就显而易见,但是的话这个工具它也存在一些弊端。