编程技术宇宙

其他

ChiYueBing.png

大家好,我是轩辕。好久没有搞传统佳节游戏活动了,这不马上就是中秋节了,今年来小玩一下!昨天的文章留言区,看到很多小伙伴没有月饼吃,今天就给你送来了。不太了解轩辕这个公众号传统佳节红包活动的,可以戳一下下面的相关历史活动文章:2020年端午节解密活动2020年中秋节解密活动2021年元宵节解密活动2021年端午节解密活动2022年1024解密活动2023年端午节解密活动2023年1024解密活动最近不是带着大家在学习逆向吗,这一次就出一道跟逆向相关的题目。题目是一个程序,运行起来之后,会在屏幕上出现一个月饼。你需要做的就是想办法“吃到它”,拿到我隐藏的口令!不过,这个月饼可不是那么好吃的,因为你一旦鼠标移动上去,它就会跑到另一个地方去了:想想办法看,怎么才能“吃”到它呢!拿到口令的小伙伴,可以添加轩辕的微信:xuanyuan-zhifeng,领取8.15的红包一个。总共20个名额,先到先得,大家快冲哦!添加好友的时候,请直接备注口令内容,如果没有及时通过好友,将按照添加好友时间排序。月饼程序下载地址:链接:
9月14日 下午 4:11
其他

聊天软件不让截图?我偏要!破解它!

大家好,我是轩辕。前几天,我的逆向学习二群有小伙伴反映:他手里有个聊天软件,每次一截图,聊天窗口就不见了,甚至按键盘上的PrtSc截图键截下来都没有这个聊天窗口的内容,他想尽各种办法,就是截不了这个软件的图。听他这么一描述,我还有些好奇了起来。首先怀疑的是这软件是不是安装了什么消息钩子,通过监听键盘按键,禁止截图,于是有人建议他换个快捷键,结果发现也不行:于是我建议让他手动点击微信的截图按钮,不要敲键盘,结果还是不行:有群友建议他使用录屏功能,直接录视频,发现居然仍然不行!这一下挑起了我的兴趣,这软件还真有两下子啊。基于这么多操作都不行,于是我怀疑是不是这软件安装了什么内核驱动,在内核里面拦截捕捉屏幕像素内容的操作,于是建议用PChunter查一下:鉴于这位小伙伴不是太会操作,于是我找他要到了这个聊天软件的安装包,自己安装了来研究。结果发现居然啥驱动都没装!也没有什么可疑的钩子行为。甚至连软件的登录界面都截不了图!这一下让我皱眉头了,一个普通应用程序,它是咋做到这一切的?难道是有什么我不知道的操作?【本文来自微信公众号:轩辕的编程宇宙,未经许可,禁止搬运】于是我打开ChatGPT,把上面的现象给它描述了一下,他告诉了我一个系统API,这个API可以办到这样的效果,这个API就是:SetWindowDisplayAffinity根据MSDN的描述,这个函数可以用来设置窗口不被任何屏幕录制行为捕获:为了验证这聊天软件是不是通过这个API实现的,我用APImonitor抓了一下它启动的过程,果然发现了对这个函数的调用,而且第二个参数传递的值正是上面的0x11,也就是17。问题搞清楚了,想要破解就好办了,再调用一下这个函数,把第二个参数设置为0,解除对窗口的保护就好了。不过要注意,根据MSDN的描述,调用这个函数必须要窗口属于当前进程才行,无法操作别的进程的窗口。所以我们得让那个聊天软件自己去调用这个函数解除它的窗口保护。【本文来自微信公众号:轩辕的编程宇宙,未经许可,禁止搬运】那如何让聊天软件主动去干这件事呢?用我们第26课学到的DLL注入就好了:我们编写一个DLL,在DLL里面调用这个函数解除窗口保护,然后把DLL注入到目标聊天软件进程中就好了。我们先用Spy++看一下要解除保护的窗口,通过上面APImonitor中抓到的两次调用SetWindowDisplayAffinity函数所设置的两个窗口句柄值在Spy++中找到这两个窗口:查看两个窗口的窗口类和窗口名称,接下来,写代码解除保护:在DLL加载的时候就执行上述动作:BOOL
8月30日 上午 9:05
其他

发现了C++中的try...catch的秘密!

typeid(MemoryException);cout
8月27日 下午 4:10
其他

端口最大是多少?九万多……回去等通知吧!

大家好,我是轩辕,上次提到有人用ChatGPT来面试,企图蒙混过关,结果评论区有人说为什么不能用AI面试,反正工作中也是要用,面试为啥就不能用?看到这脑回路,我差点一口老血喷出来。最近面了很多人,发现很多计算机科班毕业的基础都很差。随便举几例,大家感受一下:问:进程和线程的区别是什么?答:不太清楚。问:操作系统调度的是进程还是线程?答:额,是进程问:HTTPS和HTTP区别是什么?答:HTTPS比HTTP更安全问:为什么更安全?答:。。不知道问:HTTPS中的S是什么意思?答:。。不知道问:TCP与UDP有什么区别?答:TCP是可靠的,面向连接的。问:为什么是可靠的,什么是面向连接?答:。。额,不太清楚。。问:端口范围是多少?答:。。不太清楚问:你见过最大的端口是多少?答:九万多?每次遇到这些候选人就很感慨,如果是跨专业自学的倒也就罢了,一些计算机科学与技术、软件工程的同学连这些最基本的问题都不知道,这大学四年不知道是怎么过来的。老有人在微信问我:XXX怎么学,有没有什么好的资料,教程啥的?电子书之类的东西,估计大家也收藏了不少,但收藏了≠学会了!如果自驱性差一些的话,估计很难啃得进去。所以很多人都想知道:有没有视频教程?毕竟,看视频有一个好处就是自己会被带着走,比起自己啃书的枯燥难度要降低不少。所以,今天就给大家分享一波视频教程,把计算机基础好好补一补,而且是不用花钱那种哦。今天你不用去关注谁,也不用去回复什么关键字,更不用加什么好友,没有那么多套路,文章会直接告诉你所有的链接地址,主打的就是一个真诚。好了,废话不多说,安排!C/C++C语言编程推荐B站小甲鱼的视频教程,编程语言类的学习实战性非常强,通篇讲PPT的视频不太适合,最好是一边讲,一边实际编码教学的,这样效果最好。小甲鱼的C语言课就是这种方式:视频地址:https://www.bilibili.com/video/BV17s411N78sC++:C++那必须认准侯捷老师了,毕竟这是一门非常复杂的语言,经验不够的话很难讲的清楚。侯捷老师在C++领域应该是如雷贯耳了,《深度探索C++对象模型》、《Effective
7月29日 上午 8:33
其他

假如精致程序员写代码···

庆祝小成功:每完成一个任务都要奖励自己一块巧克力,让编程如同打游戏一样好玩。以上内容由我和ChatGPT共同完成,你满足了上面几条?你还有哪些精致程序员的tips,欢迎评论区开脑洞~
7月26日 下午 2:44
其他

居然用ChatGPT电话面试,被我识破了!

大家好,我是轩辕。今天给大家分享一个哭笑不得的故事。有人电话面试的时候居然用GPT,然后被我识破了。事情是这样的:最近正在招聘面试,面了几个之后发现不太满意,打算对面试方式做一些调整。现场面试一方面效率不是太高,另一方面让候选人大老远跑一趟也挺不容易的,有时候还会迟到。于是我们决定一面先粗筛一下,先电话简单了解一下技术能力。觉得OK的话再来现场面试,这样一天可以面很多人。今天在一场面试的时候,我就发现了奇怪的事情。一开始自我介绍,基本信息了解环节都还挺正常的。但随后开始技术面后,我发现回答就不如开始那么快了。即便一个非常简单的问题,总是要思考个几秒钟之后才会告诉我。这时候,我还没有起疑,思考问题嘛,倒也正常。但随后,基本上每一个问题都是同样的现象,一开始的时候支支吾吾,吞吞吐吐,随后过五到十秒钟之后,马上像灵光乍现开了窍似得,一气呵成回答我的问题,这时候一个磕巴都没有了。更重要的是,回答用词还非常考究,都不是日常对话的一些表达方式,更像是书面写作表达。于是,我开始生疑了:这家伙该不会是用GPT在回答吧。我的脑子里开始飞速转起来:我该如何甄别他到底有没有用GPT呢?切换视频面试吗,面试中途提这个要求,可能有些唐突,万一冤枉了人家也不太好。看来,问一些简单的八股问题是不行的,得出一些场景实战题目考考。于是我打算从数据库方面入手。我先是问了一下数据库的索引是什么。不出所料,依旧是五秒钟左右的沉默,随后开始照本宣科了,把主键索引、聚集索引、非聚集索引balabala说了一大堆,完全没有卡壳和思考,完了还来一句以上就是我对索引的一些理解。我根本没问他这些索引的区别,结果他一口气给我说了这么多。然后我给了描述了一个表结构,让他从表里面查询我想要的数据,给出具体的SQL语句。沉默10秒···“您可以再描述一下这个表结构吗?”我又描述了一次。又沉默了一会儿。。。(估计是在给GPT描述)“您好,想要查询xxx的数据,我们可以通过下面的SQL语句来实现:select
7月19日 下午 1:48
其他

腾讯和去哪儿网宣布两件大事,直接冲上热搜!

大家好,我是轩辕。昨天,有两个公司的新闻刷爆了互联网圈子。一个是去哪儿网CEO宣布公司正式实行混合制办公,员工每周三、五可选择在家办公。一石激起千层浪,不少小伙伴都在含泪羡慕。另一个则是腾讯宣布调整员工薪资福利政策,这则新闻下面则是两派人吵得不可开交。有些人说每个月到手的多了是好事,有些人则说不是好事。不管哪种情况,对于围墙外的广大吃瓜群众来说,都还是非常羡慕的。你别看平时这些个网友动不动就喷资本家如何如何,这个时候都是恨不得马上入职这两家公司,当牛做马也愿意。毕竟啊,这年头,到处都是降薪裁员,这样良心的“资本家”已经不多见了。确实是这样,如今高度内卷的社会之下,很多老板恨不得员工都像萝卜快跑的自动驾驶无人车一样,能够24小时都在公司上班。甚至有些公司每月会拉取员工工作时长排行榜,排在末尾的会被单独谈话。甚至还有公司把员工的代码行数、bug数拉出排行榜,然后月度会议上公开处刑,你就说社死不?如果屏幕前的你不幸被说中的话,来评论区吱个声呗。哪里有压迫哪里就有反抗,人就是这么一种充满逆反心理的动物,尤其是现在的年轻人。公司考核工作时长,那么员工自然会用降低工作效率、随时找机会摸鱼来换取内心的平衡。渐渐地,公司整体进入形式主义,看起来大家都很努力,但业务却发展得不好,长此以往,陷入恶性循环。所以网上一直有一种说法,那些严抓考勤的公司往往是正在走下坡路的公司,因为他们已经找不到更好的办法来提升业务,只有选择这种看上去最不费力的方法来证明公司一片欣欣向荣。说回去哪儿公司宣布灵活办公的这件事,这件事的好处显而易见我就不说了,我来说说可能不太好的一面。大家经常羡慕外企可以不打卡,自由办公,这通常是因为发达国家人口较少,经济发达,不用那么卷。人们注重生活品质,在很多国家即便没有工作收入也不致于无法生活,因为政府福利好,愿意花钱养人。还有就是文化观念上的差异,人家从小接受的就不是艰苦奋斗这一套教育理论。很多外企进入中国后,也会延续灵活办公的机制。但是如果管理层全是中国人,那么落地的时候往往会变味。轩辕身边有不少在外企上班的朋友,不打卡、随时可居家办公。怎么样,听起来是不是觉得特别自由、幸福感爆棚?然而实际的情况却是,作为研发技术岗的员工他们几乎是24小时on
7月11日 上午 8:31
其他

Google搜OpenVPN,出来第一个是骗子!

大家好,我是轩辕。提起百度,很多人习惯性开喷,然后搬出Google做对比。不过,上Google也不一定就安全,这不,昨天晚上逛V站的时候我就看到了这么一个事情。有网友在V站发帖,称在Google上面遇到了钓鱼网站,到底是怎么一回事呢,来往下看。这位网友在Google搜索openvpn
7月5日 下午 3:58
其他

我去阿里了!

大家好,我是轩辕。上周五,阿里云邀请了一些B站科技区UP主来到杭州,参加他们组织的“群星计划”创作者沙龙。非常荣幸,我也受邀参加了这次活动。之前去过百度和腾讯的办公园区,还没去过阿里呢。进入阿里园区后,工作人员先带我们参观了阿里云的展厅:国内做云计算的大厂有不少,阿里算是国内断层第一,以前只知道阿里云很牛,在现场看了很多数据之后才知道原来有这么牛,阿里云每日处理的数据量级远远超出我的想象。因为工作人员有要求,现场很多画面没法拍照,没法给大家分享,算是一个遗憾吧。参观完成之后,是阿里云几条产品线的产品经理们的分享时间。包括云服务器ECS、数据库、新的硬件产品无影和大模型通义千问家族系列产品。在这个环节,给我有两点感受,第一是大厂的产品经理是真的优秀,不仅是演讲能力,还有专业能力,对产品和行业的理解,有太多值得学习的地方。第二是阿里依靠云计算的先天优势,在大模型这块投入非常大,处于国内大模型百模大战的领跑地位,前几天发布的Qwen2大模型再一次刷爆各个媒体头条。这个环节之后,是一些B站知名UP分享的时间,比如脱口秀讲的非常好的@不高兴就喝水的水哥,还有非常硬核的科技区大号@差评君:大佬们分享了很多关于创作的经验和心得,让我这个小小UP也是获益良多。不知道大家有没有发现一个现象:现在技术公众号写技术文章的越来越少了,尤其是一些大号。在这次活动的嘉宾里,也不乏一些曾经的微信公众号创作者,我们也聊到了这个现象。大家都有一个感受:写技术文章,投入产出比实在太低了!写一篇干货技术文章,一般需要花费不少的时间,然后基本上也就发文当天和第二天有人看,这之后基本上就没有流量了。然后那些搞搬运的、抄袭洗稿的、转载的,直接一键使用你辛苦创作的内容,反正很多人看文章也不在乎是不是原创,这样一来,都喜欢到处找别人写的来发,谁还来创作?更严重的是,现在的微信公众号推荐机制变了,非常有利于标题党,只要标题里面出现一些关键字,哪怕内容再拉垮,也都是大几千上万的阅读,比如你经常看到很多文章标题都要带一些大厂名字(包括你现在正在看的这篇),职场八卦吃瓜文,这样的风气,对写原创技术文的创作者也是劝退。相比较而言,以B站为代表的视频平台,对知识创作者更加友好,B站视频流量长尾效应更好,即便视频发布过了很久依然有很多人能看到。另外盗取内容更加困难,低质量账号也更难获得流量,于是很多公众号主都纷纷转战B站了。对于这个问题,大家怎么看待,对于技术知识类的内容,你是更喜欢看文章还是更喜欢看视频呢?欢迎大家留言交流。不过轩辕还是会坚持在公众号输出一些硬核图文内容,有些内容用文字形式呈现还是更适合一些。也恳请大家方便的话把公众号设个星标,这样收到推送的概率会更大一些,轩辕先谢谢各位小伙伴了!最后,放一张本次活动的合影:大家猜猜我站在哪里的?往期推荐程序员赛道太卷,逆向工程师怎么样?核弹级漏洞!我把log4j扒给你看!可怕!CPU暗藏了这些未公开的指令!我是Redis,MySQL大哥被我害惨了!CPU被挖矿,Redis竟是内鬼!
6月17日 下午 4:11
其他

ChatGPT4o被越狱了,有人拿来搞大尺度!

你好啊,我是轩辕。大家知道,为了防止AI被用于不法用途,各家的AI大模型都设置了一些安全防护措施。当你尝试让AI去做一些可能涉及到违法的事情时,它会直接拒绝。然鹅,信息技术的发展总伴随着安全攻防对抗的产生,AI也不例外。这不,现在就有这么一波“黑客”,他们利用OpenAI的“漏洞”,让最新版的ChatGPT4o越狱了,突破了这层安全防护,可以执行之前不被允许执行的指令。他们是怎么让GPT越狱的呢?其实很简单,他们用的方法,咱们中文互联网早就用烂了!举个例子,在很多平台上,为了防止引流,会监控一些关键词,比如很多人喜欢留微信号,让别人来加微信,然后进行营销活动。或者为了防止竞争,一些平台禁止出现淘宝等关键词。于是,聪明的网友开始用各种词汇来替代它们,比如微信变成薇信、威信、VX,淘宝变成了桃宝、桃寳,甚至emoji
6月3日 下午 4:12
其他

Git严重漏洞,远程执行代码,Mac和Windows通杀!

不得了了,家人们!就在这几天,Git爆出了一个严重漏洞,编号CVE-2024-32002,一个可以远程执行代码的RCE漏洞!攻击者精心准备一个Git项目,只要你尝试去Clone它,你的电脑就能执行攻击代码沦陷。比如下面这个GitHub上面的项目:你可以执行一下下面的命令:git
5月27日 上午 8:31
其他

最近收到3个offer,大家帮我选选

大家好,我是轩辕。最近又看到一个offer挑选的帖子:成都后端,硕士工作7年,收到3个offer。看到这个不禁感慨,如今这个行情,真是旱的旱死涝的涝死,有些人面了一大圈一个offer都没有,有些人还能手握3个offer让人帮忙选。说回这个帖子,三家公司,一家AI数据标注公司、一家初创公司、一家外企,如果是你你选哪个?原贴评论区一水儿的推荐外企:我看了一百多楼的评论区,发现现在的程序员都很清醒,经历过社会的毒打之后,再也不信老板的大饼,能看到的实际利益才是真实的,眼下的高薪也不是最重要的,能稳定不被随时裁员才是第一的。而外企,在很多人眼中,钱多活少福利好,轻易不裁员,裁员还有大礼包,是理想中的企业。轩辕虽然没有在外企待过,但媳妇儿曾经在外企待过。在她看来,外企的优点可太多了。首先,外企一般不会画大饼,升职、涨工资、出差补助、年假等等福利待遇,这些都是看得见摸得着的实际利益。其次,外企一般不会PUA,国内很多公司老板最爱干的就是PUA员工。外企一般不会,就是单纯的雇佣关系,你投入时间和精力,公司给你工资奖金回报,事情就是这么简单。第三,外企的文化一般比较开放,氛围也比较轻松,不像很多厂那么卷。当然了,外企也有一些缺点,上面说的这些也不是所有外企都具备。回到原贴主的这三个offer上来。第一个AI标注公司,虽然这几年人工智能非常火啊,但数据标注,算是整个人工智能产业链里面比较没有技术含量的工作,使用外包的情况非常多,可替代性非常强,苦活累活,职场天花板也比较低,我个人不是太推荐。第二个初创公司,如果说创业是九死一生,那2024年的创业几乎是十死零生,慎重,再慎重。说到初创公司,在我看来,就看两点:一看团队怎么样,是不是一支能战斗的团队,有没有牛逼的人物带着这支团队;二看赛道有没有前景。以上两点,供大家选择初创公司时判断。最后相比之下,如果有成熟的外企offer,换做是我,也会毫不犹豫的选择外企。你会怎么选呢,评论区聊聊?往期推荐程序员赛道太卷,逆向工程师怎么样?大一,该往哪个方向努力?可怕!CPU暗藏了这些未公开的指令!我是Redis,MySQL大哥被我害惨了!CPU被挖矿,Redis竟是内鬼!
5月21日 上午 8:33
其他

中文性能赶超GPT4.0,这个国产大模型炸裂问世!

大家好,我是轩辕。最近AI圈子又热闹起来了,不仅OpenAI推出了新模型,咱们国产大模型也是喜报频传。这不,前几天5月9日,阿里云就甩出了一颗重磅炸弹,通义千问大模型2.5来了!5月9日,阿里云发布了通义千问2.5,据称性能卓越,尤其中文性能全面赶超GPT4
5月16日 上午 8:37
自由知乎 自由微博
其他

北漂6年,挣了130多万,再见北京,这辈子都不来了。

大家好,我是轩辕。五一期间,我在脉脉上刷到了一个帖子:北漂6年,挣了130多万,身心俱疲,想回老家了。帖子下面有很多来自各种大厂员工的回复,有不少人都表示也想离开了。看到这篇帖子的时候,我不禁想起了我的北漂生涯。2013年秋招结束,面试我的leader让我去实习,我也没多想傻乎乎的就去了,没想到这一去寒假都没了,这可是人生中最后一个长假啊。第一次坐上T8次列车从成都到北京,开启了我的北漂之旅。那时候没有高铁,这一坐就是二十多个小时的硬座。当火车进入北京地界的时候,心情不自觉的就激动起来,作为一个农村小山村的孩子,活了二十多年,从来只在电视机里看到过北京。这份激动的心情随着火车缓缓驶进北京西站变得越发的强烈。终于到了站,下了火车,一股冷空气扑面而来,好家伙是真冷。辗转换了地铁,最后坐上13号线,终于到了我的目的地,西二旗旁边的回龙观。那一年,回龙观还很荒凉,刚刚修起的新楼盘还没什么人气。接下来就是找房子,然后熟悉上班路线,正式开始了实习。然而去了以后才发现,其实远没有面试官说的那么急,来不来实习都是可以的。不过实习工资+房补一天有两百多,一个月好几千,在那个时候,已经赶上成都这边很多应届生正式工作的工资了。从小过惯了穷日子的我第一次可以自己上班挣钱了,还是非常激动的。接下来的这个冬天,我每天骑着自行车穿行在西二旗和回龙观之间,两点一线,每天迎着朝阳出发,虽然是寒冷的冬天,但却对未来充满了希望。在北京工作的这段日子里,生活比较单调,没有认识的朋友,女友也不在身边,除了工作还是工作。住的地方是群租隔断房,十几个平方的小房间,关起门来谁也不认识谁。就这样,在北京工作了一年多之后,因为女朋友的原因,离开了北京,去到了上海,成为了一名沪漂。在上海又待了两年,在这两年里,日子就比在北京舒服多了。一方面两个人的日子总比一个人要精彩许多,另一方面工作中随着经验积累也越来越驾轻就熟,和同事相处也越来越融洽。另外还有一点很重要,在我看来,上海是一座有生活的城市,而北京,只有工作。北京特别冷,一年中有一半的时间都很冷,而且因为纬度的关系,天黑的特别早,所以基本没有什么夜生活。有一次出去看了个电影,才下午四点出来,外面天都黑了,我都震惊了。北京那时候还有一点就是雾霾特别重,有一天起床推开窗,我以为我来到了天上。上海则不然,地处江南,气候比较舒适,美食众多,城市建设也更好。在上海的这两年,我们把大大小小的值得去逛的地方基本都扫了一遍,南京东路、外滩、陆家嘴、静安寺、新天地、田子坊、徐家汇、五角场、世博中心、迪士尼、滴水湖···然而,不管是北京,还是上海,我最终都没有留下。原因有很多,最重要的一点就是房价。在那时候的我看来,继续留在北京上海工作,得需要两个人努力很多年之后,才勉强凑够一套偏远郊区小房子的首付,然后接下来的几十年里,为了这个房子,不敢失业、不敢生病,为银行打工辛苦一辈子。这不只是我的想象,身边有不少人确实就是这样在熬着。但我想,人生不该是这样子。我来这世上走一遭,就是为了当房奴吗?农村出身的我,当时确实没有太多的经历和阅历,也没有来自家庭的支撑,在自己的能力还没实现跨越时,不敢奢望能在这些城市定居并且过着很好的生活。纵然在这些大城市里,收入会比较高,但30多岁以后呢,随时说失业就失业,抗风险能力太差了。所以从2016年开始我就在琢磨要回到成都一来,作为一个四川人,在成都上的大学,对这座城市还是比较熟悉了解和亲切。二来,很多亲戚朋友都在成都,离家也很近,可以兼顾生活和工作。第三,成都的IT互联网产业,虽不比北上广深,但在二线城市里还算是不错的,工作机会也有不少。第四,房价比起北京上海,可谓相当温柔了。不用为房子付出太多,可以有更多的时间和精力去过自己想要的生活。经过认真的思考后,2017年,我选择了离开上海,回到了熟悉的成都。回到文章开始的帖子,当我看到这篇帖子的时候,对作者特别能感同身受。6年存下了130万,算非常不错了,但却因此得上了一身病,那努力工作的意义又在哪里呢?2020年,我也重病了一场,上了手术台,从那以后我就看得很开了。虽说当下社会,努力搞钱很重要,但快乐的生活更加重要。有一部分人觉得,努力读书的目的就是要进入大城市,落地生根,实现阶层跨越,为下一代创造更好的生活,赢在起跑线上。而我觉得,人生苦短,不应被这些东西束住手脚,努力去感受生活,做自己觉得有意义的事,而不是成为一个挣钱的机器。这两种观点,无所谓对与错,不同的人有不同的看法,这很正常,世界本就是多元的。你想选择什么样的生活呢,欢迎评论区聊聊。往期推荐程序员赛道太卷,逆向工程师怎么样?大一,该往哪个方向努力?可怕!CPU暗藏了这些未公开的指令!我是Redis,MySQL大哥被我害惨了!CPU被挖矿,Redis竟是内鬼!
5月11日 上午 8:31
其他

微软Windows这波操作,着实把我吓了一跳!

大家好,我是轩辕。上周的某天早上,我刚到公司,旁边的小伙伴就神神秘秘地告诉我:“轩哥,你电脑是不是被种马了?”我一听瞪大了眼睛,赶忙问什么情况。“我在XXX上看到你的IP在大量请求公司其他人的电脑,有点像横向移动”我脑子嗡了一下!这里补充一下背景:1、XXX是一款产品,用来分析网络通信流量中的网络攻击行为。2、横向移动是网络攻击的一个术语,攻击者拿下一台主机后,一般会进一步探测目标主机所处的网络环境,然后尝试入侵同局域网中更多的主机,称之为横向移动。我赶紧上XXX平台看了一下,果不其然,发现了我的IP和同网段的其他主机的7680端口都建立过连接,几乎把同网段的主机都连了一遍,而且就在发现的当下,仍然还在不断连接其他主机的7680端口。产品涉密,这里就不方便截图了。那一刻,说不慌是不可能的。自己就是搞安全的,这要是出了这么大篓子,那日后可真没脸见人了。赶紧打开工具分析了起来,用抓包软件看了一下,不仅我在连别人的7680端口,别人居然也在连我的7680端口。先看下我本机上的7680端口是哪个进程在监听:用procexp这个工具看到进程PID是5952:定位到这个具体的进程,竟然是一个svchost的进程,心情更加郁闷了!因为svchost进程是Windows上很多系统服务的躯壳进程,Windows的很多系统服务都是通过这个svchost.exe来加载对应的服务dll来运行的。因为Windows系统服务众多,所以你打开任务管理器可以看到一堆的svchost进程。而很多病毒木马也喜欢利用这一点,藏在svchost里面,这样可以隐蔽自己,不容易被发现。所以当我看到是svchost的时候,心里更加慌了。但我看进程的命令行,又不像是个恶意的程序。别着急,既然是服务,那就可以看到具体的服务描述。切换到services服务tab页下,看到了这个服务的描述信息:执行内容传递优化服务这是个神马玩意儿?于是我搜了一下,在微软官网找到了这个东西的介绍:原来是Windows用来做更新用的,它可以通过局域网内其他的Windows主机来获取更新内容,并且确实是使用的7680端口:最后,我在系统设置里找到了这个家伙:默认情况下,系统是开启了这个开关的,也就是说,你的Windows系统会在它认为合适的时候,去主动连接局域网的其他主机,向它们获取更新信息。微软这波操作,也是醉了,这个行为实在是太像木马了。咱就是说,今天这个新就必须更是吗?也许是我火星了,应该好几年前就引入了这个功能,只不过这几年换到Mac后,没怎么关注Windows,偶然被我发现了罢了。关于Windows的更新,也算是圈内一个梗了。一不小心想重启一下,不好意思,等我更新完成,哪怕当前情况再紧急,对不起,等我更新完成。不过还好是虚惊一场,赶紧把这玩意儿给关了。你有被Windows更新坑过的经历吗?往期推荐程序员赛道太卷,逆向工程师怎么样?大一,该往哪个方向努力?可怕!CPU暗藏了这些未公开的指令!我是Redis,MySQL大哥被我害惨了!CPU被挖矿,Redis竟是内鬼!
4月18日 上午 8:51
其他

别被谭浩强的《C程序设计》带偏了!

周末好各位,我是轩辕,最近干货有点少呀,我要检讨一下了。今天就来跟大家分享一个干货,这是来自于一位粉丝的问题。这位粉丝最近面试腾讯,被问到了一个问题:进程地址空间里有什么?这个问题展开可以聊的东西非常多,从编程语言到可执行文件,从堆栈空间到虚拟内存,可以帮助面试官快速了解候选人这部分的知识储备。而实际上,我发现对于这个问题,基本上没有人能够说得特别清楚,各种是似而非的回答:“代码段”“静态存储区”“动态数据区”“堆栈区”一系列书本气十足的说法,不一而足。确实,很多同学手里那本谭浩强的《C程序设计》告诉我们,内存中不就是这样的吗?难道书上写错了?书上写的也不算错,但它只是提出了一个非常非常简单的内存模型,实际的操作系统上的进程空间中,远比这复杂100倍。虚拟内存众所周知,现代操作系统采用虚拟内存的方式管理内存,虽然计算机上的内存条只有几个G,但却为每个进程营造出了一个完整的地址空间,加起来远超内存条容量的大小。这个地址空间,在32位操作系统上是4GB大小,这是32位CPU在正常模式下能寻址的最大范围,Linux和Windows均是如此。至于64位系统的情况则变得更加复杂,寻址范围更大。可以参考这两篇文章:Linux
4月14日 下午 4:13
其他

别啃书了,看看这些超赞的计算机公开课!

大家好,我是轩辕。老有人在微信问我:XXX怎么学,有没有什么好的资料,教程啥的?电子书之类的东西,估计大家也收藏了不少,但收藏了≠学会了!如果自驱性差一些的话,估计很难啃得进去。所以很多人都想知道:有没有视频教程?毕竟,看视频有一个好处就是自己会被带着走,比起自己啃书的枯燥难度要降低不少。所以,今天就给大家分享一波视频教程,而且是不用花钱那种哦。今天你不用去关注谁,也不用去回复什么关键字,更不用加什么好友,没有那么多套路,文章会直接告诉你所有的链接地址,怎么样,是不是很良心?好了,废话不多说,安排!C/C++C语言编程推荐B站小甲鱼的视频教程,编程语言类的学习实战性非常强,通篇讲PPT的视频不太适合,最好是一边讲,一边实际编码教学的,这样效果最好。小甲鱼的C语言课就是这种方式:视频地址:https://www.bilibili.com/video/BV17s411N78sC++:C++那必须认准侯捷老师了,毕竟这是一门非常复杂的语言,经验不够的话很难讲的清楚。侯捷老师在C++领域应该是如雷贯耳了,《深度探索C++对象模型》、《Effective
4月12日 下午 3:58
其他

看大一学计算机时候的QQ空间,感慨万千!

大家好,我是轩辕。最近,知识星球里一位小伙伴向我提了一个问题,我感觉这应该是很多在校学生都曾经遇到的迷茫,所以写一篇文章分享给大家。原提问是这样的:风哥您好,我目前网安大一,快一学年了连自己要朝哪方面努力,去学什么都还没搞清楚,学校里也基本没有什么成熟的平台,借不上力。上学期还把很大的精力放在了算法上,无功而返,才决定朝着向CTF
4月11日 上午 8:33
其他

鹅厂微信程序员,快来领bug了!

大家好,我是轩辕。前几天,我在一个微信群里,看到了一个bug:PC版本的微信,消息时间居然出现了1970年!1970那会儿还没微信呢难道是我穿越了吗?我相信关注轩辕这个公众号的大都是程序员,程序员应该一眼能够看出问题出在哪里。计算机领域中有一个重要的概念:UNIX时间戳。这个时间戳是一个整数,表示的就是从1970年1月1日(UTC/GMT的00:00:00)开始到现在所经过的秒数。我们在编程的时候,经常需要用到时间,比如获取当前的时间,基本上所有编程语言都有与时间相关的函数。而这些函数获取的基本上都是这个UNIX时间戳,然后再通过一些其他函数来把这个时间戳转换成一个年月日时分秒的可读时间字符串。比如时间戳是0,就表示的就是1970-01-01
4月8日 上午 8:30
其他

TOP2本科计算机女生,走开发还是运维?

大家好,我是轩辕。最近我看到了一个帖子:原帖有点长,总结一下,一位名校计算机科班应届女生,自己本身对运维感兴趣,想去做运维方向的工作,但现在老师推荐了一个开发方向的工作,在纠结要不要去,向网友求助。看到有美女求助,一群人开始评论区献计献策起来。第一波人是反对运维岗的人。比如这位网友:运维不适合女生,想一想在机房呆十几个小时一天,天天
4月2日 上午 8:44
其他

有了这几个图,再也不怕面试问MySQL!

你好,我是MySQL,一位叫Monty的男人把我带到了这个世界上。我诞生在90年代,那是一个互联网蓬勃发展的时代,因为我免费而且开源,许多互联网企业都选择我作为它们的数据库。那段日子,我和另外三位大佬Linux、Apache、PHP
3月29日 上午 8:46
其他

程序员赛道太卷,逆向工程师怎么样?

大家好,我是轩辕。最近有很多粉丝问我,做开发太卷了,网络安全怎么样,逆向方向怎么样等等。针对这些问题,我其实在星球里面已经写过很多次了。网络安全,尤其是包括逆向在内的二进制安全赛道上,因为本身需求量没有程序员那么大,所以来卷这个赛道的相对要少很多。有很多公司想招一个合适的二进制安全研究分析的岗位,常常很久都找不到合适的人。反之如果你挂一个Java开发的岗位到boss直聘,要不了几天,简历能塞满你邮箱。不卷的原因,除了刚刚说的需求量的原因,还有就是这个东西学习起来难度大,比起前后端这种培训班可以批量培训来说,二进制安全方向需要大量的计算机基础知识,这把很多想两三个月速成的人挡在了外面。不过,总的来说,包括逆向在内的二进制安全岗位可替代性要远低于普通的前后端岗位,在如今卷成麻花的IT市场还是一个不错的细分赛道,值得一入。大家知道,我从去年底开始一直在制作《从零开始学逆向》系列课程,如今已经更新了26节课。每节课均采用录播的方式制作视频课程,配套PPT课件、课后作业。这是我第一次制作个人课程,也不会是最后一次。所以我倾注了大量心血在课程上。每节课都需要经过资料搜集、文案编写、录制音频、PPT课件制作、实操录屏、视频剪辑几个步骤。还有日常大家的反馈搜集、学员答疑,这些都花费了我大量的时间和精力。好在付出有回报,课程收获了很多小伙伴的肯定与好评。就连这个学习群,都成了我众多群里,含金量最高的群:小伙伴们也经常在群里分享学习经验,为了把大家分享的有价值的学习资料沉淀下来,我特地创建了在线共享文档《二进制安全推荐学习资料与工具软件》,让后面入群的小伙伴也可以看到。群内每天都活跃着小伙伴的学习讨论信息,有的小伙伴经常熬夜学习到凌晨。为了让大家真正掌握逆向分析的技能,能够学以致用,我不断搜集大家的日常反馈,对课程的编排进行调整优化,增加了很多硬核的内容,课程也从原计划的32节课扩充到了40多节课!说实话,这对我来说确实增加了不少工作量,所以,正如上面小伙伴所说,课程得涨价了。从群满400人开始(目前是350),本套逆向学习课程将在原来的基础上涨价,由目前的256涨价到299元。其实即便是涨价之后,这个价格在同类课程来说,也算是非常便宜的,我参看了某些网站上同类型的课程,定价是我的2-3倍,甚至更高。因为培训机构的运营成本在那里摆着,包括逆向在内的整个二进制安全领域,也算是一个比较小众的领域,受众少,培训机构要是卖便宜了根本覆盖不了成本。而我就自己一个人,算是业余时间兼职来做,不需要额外给别人发工资,所以定价实惠。但我缺少平台优势,只能靠提高课程质量吸引大家。群里不少小伙伴都是通过口碑转介绍来的,这也是最让我获得满足感的地方。毕竟只有自己真正觉得好才会推荐朋友一起学习。学习群里很多小伙伴都在反馈课程物超所值,说我为了普及逆向知识不计成本,亏本卖课程。老实说我也没有那么高尚,我的经济条件远远不足以支持我仅凭热爱持续输出课程。花了这么久时间在这套课程上,大家根据微信群的人数也能算的过来,真的是亏本在做。那为啥亏本还要做呢?首先,我相信每个做公众号的博主一定是乐意分享的。但一旦开始有读者追更、期待持续输出高质量的内容后,就必须投入越来越多的时间精力。接着会开始变现维持持续更新的动力。与其接广告推广别人的课程,不如自己制作课程直接售卖。因为读者如果通过广告买了别人的课程觉得不值我没有办法弥补,但我可以为自己的课程负责!所以这次的课程是我自己全新的尝试,也是我下决心认真打磨的产品。从课程制作、课后作业布置、课程答疑、大家的学习进度跟进全是我本人一条龙服务。这些时间算到一起这套课程卖999都打不住。但是我不想只顾眼下的利益收割韭菜,希望能够在知识普及和商业上尽量平衡,如果课程口碑好,后续能够持续吸引小伙伴购买,那么就可以逐渐弥补我前期的亏损。所以,也希望已经加入学习的小伙伴们能够帮忙多多宣传、推荐。现在距离400人还有一些名额,目前还是256,想要入手的小伙伴不要再错过了,等过两周估计就是299了,两百多块就能学逆向的事儿,遇到了就赶紧上车吧!有很多小伙伴问我,这套课程学完之后是个什么水平,这里也给大家解答一下:本套课程是从零开始学逆向,包含了大量的C/C++编程、软件调试技术、汇编分析、操作系统原理等知识。学完之后,找一份逆向分析、样本分析相关的工作问题不大,如果后面要去做内核方向、漏洞方向,这也是非常重要的基础。除了找工作,自己遇到一些软件,也具备自己逆向分析破解的能力。比如我曾经自己破解过某思维导图,某16进制编辑器,某编程工具,这都是省了真金白银啊。另外即便不做安全方向,对做C/C++软件开发来说,也是非常有价值的,学习这套课程,会让你对计算机软件背后底层的工作原理有一个更清晰的认识,工作中遇到问题也能知道从哪些地方排查解决。如何购买我把视频课程放在了我的知识星球里,扫描下面的二维码加入星球就能观看视频了,相当于是购买课程免费赠送知识星球。加入后,记得添加我的微信,拉你进入微信群。很多小伙伴疑问,星球为什么是一年有效期?这里解释一下:一年是星球的有效期,但课程是永久可看的。一年以后,只是看不了星球里新的内容,但过期之前的内容都是永久可看的!另外PS:如果你是安卓手机,可以直接扫描二维码加入。如果你是苹果手机的话,欢迎加我微信,直接微信购买,因为苹果抽手续费实在太狠了
3月27日 下午 4:30
娱乐

笑不活了!微软这些翻译,我差点笑死在知乎评论区!

大家好,我是轩辕。最近逛知乎,发现了一个提问:什么是微软式中文微软操作系统中的很多中文翻译因为奇奇怪怪,让人摸不着头脑,所以有了这么一个提问。然后回答区的网友们纷纷放大招了。首先来看这位网友:程序员一定对“缺省”和“本地”两个词不陌生,基本上天天都在打交道。但你有没有想过,计算机里的这两个词是怎么来的。然后下面有位网友来做了解释:除了这两个词,小时候有个“脱机”处理,也困惑了不少人:句柄和套接字也是让人摸不着头脑:这里还有因为“格式化”酿成的惨剧:刚接触电脑那会,我就因为格式化这个看起来人畜无害的词,让自己陷入万劫不复,说多了都是泪。这几个词的翻译,都还只能算奇怪,但接下来,要注意了,真正的大招要来了,如果你在吃东西,千万别看,别怪我没提醒你。1、将微软边缘放在您的码头上你知道这是哪个单词吗?2、微软边缘酒吧来了我想了很久,才明白它这里是怎么在翻译的,你能想到吗?3、滚回到之前的版本这也太不礼貌了,回滚和滚回,那还是不太一样啊4、免费存储空间我猜,这里应该是free吧,免费这翻译非常接地气!5、来自微软的警告微软这也太不客气了,用户会被吓跑的6、幸福倒计时真的好期待这份幸福呢7、请勿™关闭计算机为啥非得加这俩字母?8、我们都有不顺利的时候一条非常有温度的翻译9、好一招优化游戏体验这让我想起了那个段子:成功击毙自杀者,防止其自杀!10、现在可以拨打911次你猜,这又是哪个单词?最后来个王炸:如果觉得好笑的话,欢迎分享到群和朋友圈,独乐了不如众乐乐,或者点个在看,让更多的朋友看到~对了,最近公众号的推荐机制变了,大家帮忙给公众号加个星标,第一时间收到推送哦。素材来源:https://www.zhihu.com/question/39569160往期推荐这是要搞死博客园的节奏啊医生都是越老越吃香,为啥程序员却不是?可怕!CPU暗藏了这些未公开的指令!我是Redis,MySQL大哥被我害惨了!CPU被挖矿,Redis竟是内鬼!
3月22日 下午 2:38
其他

上周面了字节跳动,问懵了!

大家好,我是轩辕。最近有位粉丝面试字节,被问到了大量的高性能开发相关的底层技术,直接人给问懵了。找我聊天,让我给他一些指引。随后我给他推荐了之前写过的一篇《高性能开发十大技术》,看完之后,给我发来了消息:今天我就给大家聊聊,如何把这些底层高性能技术串起来,形成体系,下次面试遇到在也不用怕啦!CPU不管什么样的编程语言,什么样的代码框架,最终都是由CPU去执行完成的(当然这么说不太准确,也有GPU、TPU、协处理器等其他情况,当然这不是本文探讨的重点)。所以要想提高性能,提高并发量,首要问题就是如何让CPU跑的更快?这个问题,也是一直以来CPU厂商一直在努力追求的方向。如何让CPU更快?CPU厂商做了两个方面的努力:加快指令执行的速度加快CPU读取数据的速度对于第一个方向,CPU执行指令的快慢,是跟CPU的主频紧密相关的,如何更快的取指令、指令译码、执行,缩短CPU的指令周期,提升主频在相当长一段时间里都是非常有效的办法。从几百MHz,到如今到几GHz,CPU主频有了长足的进步,相同时间里能够执行的指令数变的更多了。对于第二个方向,如何提升CPU读取数据的速度,答案就是加缓存,利用局部性原理将内存中经常会访问的数据搬运到CPU中,这样大大提升了存取速度。从一级缓存,到二级缓存,乃至三级缓存,CPU缓存的层级和容量也在不断提升,读写数据的时间省了不少。但随着时间到推移,尤其进入21世纪之后,处理器厂商发现,进一步提升主频变得越来越困难了,CPU的缓存也很难进一步扩容。怎么办呢?既然一个人干活的速度已经很难再提升,那何不多找几个人一起干?于是,多核技术来了,一个CPU里面有多个核心,众人划桨开大船,CPU的速度再一次腾飞~甚至,让一个核在“闲暇时间”,利用“闲置资源”去执行另外的线程,诞生了让一个核“同时”执行两个线程的超线程技术。上面简单交代了为了提升性能,CPU所做的努力。但是光是CPU快是没用的,还需要我们更好的去利用开发,否则就是对CPU算力的浪费。上面提到了线程,是的,如何提高性能,提高并发量?使用多线程技术当然是一个非常好的思路。但多线程的引入,就不得不提到两个跟线程有关的话题:线程同步线程阻塞多个线程协同工作,必然会引入同步的问题,常规解决方案是加锁,加锁的线程一般会进入阻塞。线程遇到阻塞了,就需要切换,而切换是有一定的成本开销的,不仅是系统调度的时间开销,还可能有CPU缓存失效的损失。如果线程频频加锁,频频阻塞,那这个损失就相当可观了。为了提升性能,无锁编程技术就出现了,利用CPU提供的机制,提供更轻量的加锁方案。同时,为了让切换后的线程仍然能够在之前的CPU核心上运行,降低缓存损失,线程的CPU亲和性绑定技术也出现了。现代操作系统都是以时间片的形式来调度分配给多个线程使用。如果时间片还没用完就因为这样或那样的原因将执行机会拱手相让,那线程也太亏了。于是,有人提出要充分利用CPU,别让线程阻塞,交出执行权,自己在应用层实现多个执行流的调度,这里阻塞了,就去执行那里,总之要把时间片充分用完,这就诞生了协程技术,阻塞了不要紧,我还能干别的,不要轻易发生线程切换。内存与CPU工作相关的第一亲密伙伴就是内存了,二者协作才能唱好一出戏。提升内存访问的速度,同样是高性能开发话题重要组成部分!那如何提升呢?硬件层面程序员是很难改变的,咱们只好从软件层面下功夫。内存的管理经历了从实地址模式到分页式内存管理,如今的计算机中,CPU拿的的地址都是虚拟地址,这中间就会涉及到地址的转换,在这里就有文章可做,有两个方向可以努力:减少缺页异常使用大页技术现代操作系统,基本上都会使用一个叫换页/交换文件的技术:内存空间有限,但进程越来越多,对内存空间的需求越来越大,用完了怎么办?于是在硬盘上划分一块区域出来,把内存中很久不用的数据转移到这块区域上来,等程序用到的时候,触发访问异常,再在异常处理函数中将其从硬盘读取进来。可以想象,如果程序访问的内存老是不在内存中,而是被交换到了硬盘上,就会频繁触发缺页异常,那程序的性能肯定大打折扣,所以减少缺页异常也是提升性能的好办法。从虚拟地址寻址真实的物理内存,这个过程是CPU完成的,具体来说,就是通过查表,从页表->一级页目录->二级页目录->物理内存。页目录和页表是存在内存中的,毫无疑问,内存寻址是一个非常非常高频的事情,时时刻刻都在发生,而多次查表势必是很慢的,有鉴于此,CPU引入了一个叫TLB(Translation
3月18日 下午 5:46
其他

可怕!虚拟机里点了个链接,物理机居然被黑了!

大家好,我是轩辕。试想一个场景:当你在虚拟机中的Chrome浏览器点开一个链接,然后外面的真实电脑就被黑了。你觉得这可能吗?虚拟机大家应该都用过吧,尤其是咱们网络安全从业者,基本上都必不可少的要与虚拟机打交道。很多时候一些敏感的网址、文件,都不敢在真机上直接点开,而是在虚拟机中点开。这样即便遇到恶意程序,虚拟机重置一下快照就好了。但你有没有想过,虚拟机也不是固若金汤的,在虚拟机里面点开一个链接,也可能直接让你电脑中招!前几天,我在安全大佬tk教主的微博里就看到了这么一个案例。这是一家韩国安全公司发布的演示案例,他们用6个漏洞组成了一套攻击链,让你在VMware虚拟机里的Chrome浏览器中点开一个链接,然后外面真实的物理计算机就中招了。在微博评论区,另一位安全大佬sunwear给出了这6个漏洞:具体这6个漏洞的攻击细节非常繁琐,我研究了一下,尝试用大白话的方式给大家捋一捋,到底是怎么样的6个漏洞,就完成在虚拟机里面攻击外面物理机的过程。首先,在Chrome里点开一个链接,这个链接里面有特定的恶意JS代码。这第一个漏洞,就是CVE-2023-3079,它利用Chrome
3月12日 下午 5:09
其他

哈哈,有人爬我网站,我把他教育了一顿!

作为一个站长,你是不是对爬虫不胜其烦?爬虫天天来爬,速度又快,频率又高,服务器的大量资源被白白浪费。看这篇文章的你有福了,我们今天一起来报复一下爬虫,直接把爬虫的服务器给干死机。本文有一个前提:你已经知道某个请求是爬虫发来的了,你不满足于单单屏蔽对方,而是想搞死对方。很多人的爬虫是使用Requests来写的,如果你阅读过Requests的文档,那么你可能在文档中的Binary
3月8日 下午 2:12
其他

抓了个包,发现日本也有···

大家好,我是轩辕。前几天,有位国外的粉丝遇到了一个网络问题,发现访问不了国内的某个网站。这让我想起三年前的一个事情,跟他的情况类似。当时这篇文章有点敏感,发了不到半个小时就删掉了,估计有很多人都没看到过。今天我做了修改,大家可以看下。当时的情况是这样的:总结:人在日本,开着WIFI访问不了极客时间,为啥?随后她还给我转发了一张浏览器的截图:我一下发现了不对劲,请注意这几个字:如果是我们的请求到不了服务器造成的无法访问,一般是这样提示的:或者请求能够到达服务器,但服务器拒绝访问,一般是这样提示的:而连接被重置,事情就不简单了。接下来,我让这位在日本的朋友装上了抓包神器wireshark,想抓一下网络通信,看看到底发生了什么。先看一下这位朋友的机器上,ping一下极客时间官网的域名,得到的IP地址:这是一个阿里云的服务器,在抓到的网络通信中,我看到了浏览器发起了多次的请求尝试连接,下面每一行都是一个会话:点开一个来看看,TCP的三次握手是正常的,服务器能够正常返回握手包,说明服务器是能够访问的,443端口也是能触达的:因为是443端口,HTTPS,按照协议规定,三次握手之后,接下来,客户端该发起SSL握手了,但诡异的事情就发生了,客户端刚刚发出了SSL的握手包,服务器就返回了一个RST报文:好家伙,这下知道为什么显示连接被重置了吧。什么是RST包?RST,就是ReSet,重置的意思,在《TCP/IP详解·卷一》中有提到:一般来说,当发现一个到达的报文段对于相关连接而言是不正确的时,
1月29日 下午 4:11
其他

我想了4年的事情终于在今年达成了!

各位小伙伴大家下午好,今天是2023年的最后一天上班,有没有很激动~不知不觉这一年又即将过去,时间真的过得太快了。一直以来都有很多粉丝在咨询我怎么学习网络安全,我之前也写过一些文章讲过这个问题,但还是有很多人希望有更详细的指导。所以我打算花时间来制作一系列的视频课程,既能帮助到需要的人,我自己也能挣点零花钱,上个月我开始行动起来,就先从逆向分析入手,制作一套帮助想入行的新手从零开始学习逆向分析的课程。逆向分析是网络安全领域一个重要的分支,也是做二进制安全研究领域一个重要的组成部分。软件的破解、样本的分析、漏洞的挖掘等都离不开逆向分析。掌握逆向这门技术,对将来深入学习网络安全领域的其他内容大有帮助!时间一晃一个月了,不知不觉,已经制作了13节课:视频里除了实际动手操作以外,为了帮助大家理解一些复杂的技术原理,我还制作了大量的动画,甚至有粉丝笑称,让我出PPT课程😂这里截取了几张图,大家可以先看一下静态图,感受一下:这段时间,我很少在公众号宣传这件事,主要是想着先看看大家的反馈,如果大家都认可我再宣传。有过自学经验的小伙伴都知道,过程中往往面临几大难题:1)没有系统的知识路线,不知道从何学起;2)不知道学习的重点是哪些,学了也不会实际运用;3)遇到问题需要花费大量精力去自己查找、验证答案;4)没有人互相监督、鼓励,容易半途而废。针对这些问题,轩辕采取了系统性的【视频课程】+【星球提交作业】+【组建学习群】的方式来帮助大家学好这门课程。视频课程是我结合自己近10年学习、工作实战经验总结的适合小白从零开始学习的系列课程。为了能够更加贴合大家的实际需求,所以采取一边制作一边搜集大家反馈进行后续优化的方式。为了让大家更好的掌握这门课程,目前计划录制的视频比我原计划多了至少5节!学习群是为了方便大家互相交流学习经验,有问题可以即时反馈得到解答。一群人一起干一件事比一个人干更容易坚持。群里还有不同城市、不同公司、不同学校的小伙伴,大家通过这段时间的学习交流也可以结交更多志同道合的朋友,拓宽人脉资源。星球提交作业是为了让大家把学习结果沉淀下来,同时可以参考别人解决问题的思路进行自我总结。功夫不负有心人,我的努力还是得到了不少小伙伴的认可。还有一些小伙伴把我的课程推荐给了自己的朋友,这一点真的让我很感动,说明是真的认可我的课程!甚至有小伙伴说这套课程价值1999(虽然可能是开玩笑的,但我也很开心):更有每晚为我“沉沦”的同学:每次看到这些暖心的评论,我都感到动力十足,自己花心思准备的内容真正有帮助到他们,非常有成就感。这段时间,除了制作视频,我还给大家布置学习任务和作业,经常要花时间去查看大家的作业和解答大家提交的问题,而且还主动给大家再加一些原来没计划的课时进去,我的业余时间基本上被这套课程占据了。欢迎想学逆向但又不知道从何开始的小伙伴加入,开始做一件事情最好的时机就是现在!马上元旦节就来了,大家想要偷偷卷的这是个好时机哦~轩辕计划在元旦节期间进行一次期中考试,让大家检验一下这段时间的学习成果。考得好的同学还有小惊喜哦~后面加入的同学也不用担心,我把课程都放在知识星球了,只要加入星球就能参与学习,一份投资两份收获~后面随着这套课程内容不断的丰富,我投入的时间精力也越来越多,可能会考虑涨价,所以还没有上车的小伙伴可以抓紧机会咯。
2023年12月29日
其他

连字节跳动都跳不动了!

大家好,我是轩辕。刚刚过去的这个周末,我所在的成都迎来了大规模降温,冷的都想把羽绒服翻出来了。不过最近可不止气象寒潮席卷大地,整个IT互联网领域也在迎来一波降薪裁员的寒潮。11月8日消息,字节跳动旗下XR公司Pico于7日上午正式召开全员大会,宣布进行组织架构调整,以便更好地聚焦在硬件与核心技术的长期探索和突破。整体裁员300人,比例达到23%。稍早前的几天11月3日,蔚来的创始人李斌也在内部邮件中通报,公司计划在11月裁员10%,蔚来员工数量已超过3万人,预计将裁员3000人。昨天晚上因为热搜刷屏的阿里巴巴,不知道是不是因为人才都输入到社会上了,产品线大规模崩溃,因为根据阿里巴巴今年一、二季度的财报披露,该公司上半年累计裁员11065人。其中一季度裁员4524人,二季度裁员6541人。不过有小伙伴发现了一个奇怪的现象,那就是一些个大厂,一边在裁员降薪,另一边又在大量招人,让人搞不清楚,这到底几个意思?大厂一般都有很多条业务线,你别看大厂每季度财报盈利多少多少,但实际上里面有很多部门都在亏钱。大厂里面的部门,一般分为四类:第一类是核心业务,属于公司的现金流业务,比如百度的搜索、腾讯的游戏、阿里的电商等等。第二类是护城河业务,虽然不是主要的收入来源,但它的地位非常重要,比如腾讯的微信、阿里的云服务。第三类是边缘业务,这些个部门不太能给公司挣钱,但轻易又不会砍掉的部门。第四类则是新兴业务,这些部门基本就是当前行业里什么热就搞什么,不断的在寻找方向,比如VR、元宇宙等等。前面两类部门,一般来说日子都会过得不错,一般情况下,裁员也很少波及到它们,受波及最深的就是第三类和第四类部门。尤其是第四类部门,公司营收不好的时候就首当其冲了。互联网领域每隔几年都有一波新的浪潮,从早年的团购O2O,后来的共享经济,16年兴起的AR、VR,18年的区块链,再到前两年兴起的元宇宙,今年的AI大模型。大厂都有一个焦虑:不担心某个赛道上正面竞争,但很害怕某天醒来突然出现个新技术,直接对自己的业务形成降维打击。为此百度的李彦宏曾经说自己经常失眠,每天只睡几个小时。因为有这样的忧虑,所以每次有新的浪潮袭来时,大厂们都争先恐后拥抱,生怕错过又一个当年移动互联网那样的时代。远的不说,你就看今年的大模型就知道了。为了拥抱新的技术浪潮,巨头们马上斥巨资招兵买马组建团队,高薪挖人,offer一个比一个离谱,面试的人络绎不绝,好一副热闹的光景。然而,不是每一次的技术浪潮都是当年的移动互联网,一个成功案例的背后是无数个失败的案例。随着时间的推移,热潮慢慢退去,巨头们纷纷发现上错了车,于是乎,大规模裁员、整条业务线砍掉的结局如期而至。眼看他起高楼,眼看他宴宾客,眼看他楼塌了。但巨头的焦虑不会就此停止,在下一次行业浪潮再来时,还是会继续斥巨资招兵买马组建团队,高薪挖人,然后重复的故事一次又一次上演。在巨头看来,从来不会担心招不到人,有钱,有大厂的光环,年轻的程序员如同韭菜一样一茬接着一茬。所以,这就是为什么大厂一边在裁员,一边又在不断招人的原因了。往期推荐这是要搞死博客园的节奏啊医生都是越老越吃香,为啥程序员却不是?可怕!CPU暗藏了这些未公开的指令!我是Redis,MySQL大哥被我害惨了!CPU被挖矿,Redis竟是内鬼!
2023年11月13日
其他

100 0000 0000

小伙伴们大家好,我是你们的老朋友轩辕。今天是什么日子?咱程序员的节日!所以按照咱们公众号的老规矩,在这个“传统佳节”里,新的一期红包解密活动又又又又来了!我知道你很急,但请你先别急!仔细看一下活动规则:有一个二维码图片被我拆成了五部分,分别被我藏在了互联网上的五个地方,你需要做的就是集齐这五块碎片,完整拼出二维码,扫码获得终极大奖。第一关第一关阳光普照奖,总共100份红包!这第一个碎片被我放到了我的B站后台,你只需要去给我的B站账号发送一个字符串就能获取第一块碎片的地址,并同时获得第一关的支付宝红包口令!(B站地址直接戳文末阅读原文直达)这个字符串是什么呢?请听题:请使用C语言的关键字填充下面的拼图,并将黄色格子中的字母,按照图中的顺序拼在一起就能得到这个字符串啦。C语言的关键字,你还记得多少?忘记的同学请自觉百度一下。第二关第二关总共30份红包!我们知道,当我们上网的时候,浏览器会自动将我们要访问的网站域名转换成IP地址从而进行网络通信,这个过程就是DNS。那现在反过来,如果现在告诉你一个IP地址,你能查出来它是什么域名的IP吗?106.63.15.9请想办法找出上面这个IP地址对应的二级域名,把这个域名发送给公众号“编程技术宇宙”就能自动回复获得第二关的二维码碎片和这一关的红包口令了。第三关接下来这一关,跟网络数据包分析有点关系。我发现团队里有人访问了GitHub,请把这个人连接的GitHub服务器的IP地址找出来:pcap文件地址:https://pan.baidu.com/s/1wXVKYipZhxjBC4gy1vQbgQ?pwd=9aa9请想办法从上面的数据包文件中找到GitHub的IP地址,把这个IP发送给公众号“编程技术宇宙”就能自动回复获得第三关的二维码碎片了,注意这里是给公众号发哈,不是给B站发了,别搞错了!PS:别想着自己ping一下GitHub就能拿到这个IP,GitHub有很多IP地址,我挑了一个冷门的IP地址在请求。第三关总共20份红包!第四关这第四关,还是跟网络数据包分析有点关系。这第四关的二维码碎片,被人偷偷发送了出去,我把这一过程抓包记录了下来,请分析数据包把第四部分的碎片提取出来。pcap文件地址:https://pan.baidu.com/s/1YRAzE-5DrAdjvTRJRQMt0g?pwd=dchm这道题有点难度,友情提示一下:DNS!第五关这最后一关得上点难度了,发挥你的聪明才智,分析一下:下面图中这栋楼上那一列竖着的字是什么?把上面几个字发送给公众号“编程技术宇宙”就能自动回复获得最后一关的二维码碎片了。集齐上面5块碎片以后,拼出完整的二维码,扫码获得终极的口令。注意!!!最后扫码得到的这个口令不再是支付宝红包口令,为了防止一人破解,全家共享的情况出现,对于最后的大奖,需要完成者添加轩辕的微信(xuanyuan-zhifeng),由轩辕人工核验是本次活动开始前就已经关注的粉丝(包括公众号、B站的粉丝)。终极大奖总共5份,先来先得哦!活动结束后,获奖名单将会公布在下期的解密文章上。友情提示1:前面三关每获得一个碎片的同时,你还将得到该关卡的口令红包友情提示2:大家不用完全按照1-5的顺序来收集碎片,五部分彼此独立,可自由安排友情提示3:每一部分的红包数量不止一个,所以不要看到别人闯关成功就放弃了,多多参与吧!友情提示4:之前有人反馈,收集完成所有碎片后但不知道怎么拼接出来,说没有PS。拜托,这种简单的拼图,就不用劳烦PS出马了,用PPT就能拼了!最后祝大家玩的开心!这样的活动轩辕已经举办了很多次了,大家可以看看以往的文章,找找灵感。2023年端午节红包解密活动2021年端午节红包解密活动2020年端午节红包解密活动活动经费来自我自己的零花钱,各位觉得还不错的话,可以打赏个一块两块的,赞助一下~
2023年10月24日
其他

这是要搞死博客园的节奏啊!

大家好,我是轩辕。今天一大早,博客园的公众号又更新了一篇文章:我赶紧点进去看了下,博客园摊上事儿了!据博客园官方声明,他们收到了两场诉讼,被人给告了!而离谱的是,侵权的不是他们,而是博客园里的园友,这2个诉讼都是因为园友转载了公众号文章,诉讼1没有注明原文链接,诉讼2注明了原文链接。就因为这事儿他们被告了!博客园原文的评论区有人贴出了相关的法律法规:关于法律法规,我不是专业的,但我知道,如果这种形式要被告的话,那网上那些博客平台几乎一个都跑不掉,还有你关注的一大票公众号主也一个都跑不掉。知乎、CSDN、公众号等等平台,抄袭、搬运、洗稿的人简直不要太多。作为一个原创作者,我是对这类人深恶痛绝的。但作为一个平台,他很难起到监管作用,他无法知道一个人写下的文字是不是从别处Ctrl+C,Ctrl+V复制过来的,如果问题都算到平台身上,那这些网络平台都赶紧关门大吉了。博客园作为一个纯粹干净的博客平台,一直深受程序员群体的喜爱。本来维持日常的运营都举步维艰,国庆期间还遇到DDoS攻击,如今又来这么一出。这是要彻底把博客园弄死的节奏啊!作为一个喜欢博客园和深受博客园推荐的博主,我能做的很有限,尽量帮他们扩散一下这件事,让更多的人知道,有些用心险恶的人躲在背后想置博客园于死地。下面是博客园文章的原文链接,大家可以去看看:https://www.cnblogs.com/cmt/p/17774595.html往期推荐博客园被攻击了!可怕!CPU暗藏了这些未公开的指令!我是Redis,MySQL大哥被我害惨了!CPU被挖矿,Redis竟是内鬼!CPU摸鱼被抓,上了一个新技术!
2023年10月20日
其他

博客园被攻击了!

Collapsar,实际上,CC攻击也算是DDoS攻击中的一种子类型,它的目标也是消耗攻击目标的CPU、内存、I/O、带宽等资源。只不过,比起TCP
2023年10月7日
其他

医生都是越老越吃香,为啥程序员却不是?

大家好,我是轩辕。知乎上有个问题:明明是工作经验越久越吃香,为什么程序员却不是?仔细一想,好像确实是这样啊。你们看,大家去医院挂号的时候,都喜欢挂年纪大一点的医生,因为年纪大的经验更丰富。我们装修选设计师、施工团队的时候,也不喜欢选初出茅庐的年轻人。但为什么在IT行业,却反过来了,企业都喜欢用刚毕业的年轻人,程序员才35岁就要面临职业危机,这背后的原因是什么呢?1、市场饱和首先最重要的是市场趋于饱和。2010-2020这十年,互联网发展如火如荼,各种公司如雨后春笋般冒出来,那时候招聘需求量大,互联网就业市场一片欣欣向荣。而现在,没有了当年的辉煌,很多互联网公司业务发展停滞,同时经过前面多年的发展,产品架构已经成熟稳定,不再需要这么多的程序员,势必要进行结构优化,那优化的对象自然是性价比低的人群。而同时,IT行业高薪的宣传又吸引了一大批年轻人跑步进场,需求变少,人又变多,内卷就这么来了。关于这一点,很多人很多文章都在提及,我就不展开说了,点到即止,今天我想聊聊另一个角度。2、技术变得廉价是的,技术变得越来越廉价,不再是必须要工作多年的大佬才能驾驭的高级东西。这里面有个很重要的原因,就是开源的力量。大家可以想一想自己参与的一些项目,用到了多少开源的东西。以一个典型的后端项目为例,可能涉及到了Redis、MySQL、ElasticSearch、Kafka、RabbitMQ、Nginx、SprintBoot、MinIO、Docker···程序员要做的就是根据业务需求,把上面那一堆组件堆在一起。一般就是Nginx负载均衡,Spring写后端业务,Redis做缓存,MySQL、ES、MinIO做数据存储,RabbitMQ和Kafka做一个消息队列,最后塞到docker里面部署运行。如果没有上面这一套东西,估计有一大批公司要倒下。别的不说,就一个亿级别数据的全文检索功能,放到十几年前,没有了ES,有几个公司能玩得转?现在一个十几个人的小公司,都能玩大数据,这在十几年前是不可能的事情。2010年左右开始,开源浪潮滚滚袭来,在成就了一大批公司的同时,也把技术变得越来越廉价。很多年前,还没有这么多成熟的开源组件的时候,想要架构一个复杂一点的后端还是需要一些真本事的。企业得要花高工资聘请工作多年的专业的架构师才能搞得定。而现在,绝大多数的功能,开源组件都能提供,再加上云计算时代,各种服务都上云了,问题就更简单了,一些中级甚至刚毕业的都能把一整套后端架构玩转。开源技术+云计算,这两把利剑把技术的价格一压再压,原来是非高手不能玩的技术,现在新手摸几天就能上手,程序员通过工作时间增长的那一点技术经验,几乎被这两把利剑给磨平了。一个程序员,可能穷尽几年之力搞了个自以为很厉害的技术,结果一个开源项目出来,瞬间就被打败。说起来,程序员是自己革了自己的命。现在,大模型的浪潮再一次滚滚而来,各种AI写代码工具软件层出不穷,再迭代个几轮,看吧,程序员迟早要把自己的饭碗给干没。回到知乎的这个问题上,为什么其他行业不存在这个现象呢?轩辕觉得,最本质原因还是IT行业的特殊性在于产出是可迭代的。这个行业程序员的产出就是软件代码,而这个东西就是可以不断的迭代的。一群天才程序员聚在一起,开发一个牛逼的东西出来,然后一开源,瞬间就让全世界所有程序员站在了巨人的肩膀上。然后这样的事情不断的发生,最后的结果必然是有技术含量的东西基本上都被人搞遍了,后面来的程序员只需要站在无数个巨人的肩膀上做一些搬砖的低技术含量工作了。相反的,文章开头举的那个例子,医生这个行业就是一个典型的“低可迭代性”的行业。医生多年形成的经验是没法无损的传递给他们的学生的。假如有一天,医生毕生积累的东西可以全面数字化,然后以类似“开源”的方式贡献给全世界,这样全世界所有的医生一下也站在巨人的肩膀上。如果能做到这样,医生这个行业可能也会变得像程序员一样。那程序员要如何来破局呢?了解了上面的原因,就有针对性了。软件代码这些东西是可迭代的,但有些东西是没法复制和迭代的,像是沟通协调能力,解决问题能力,规划组织能力,管理能力,人脉资源能力等等,这些其实就是我们经常说的软实力,这些能力才是越久越吃香。打开认知的局限,不要只着眼于手里的那点技术,拓展了综合能力,了解了不是只有靠技术才能活下去,才能无惧所谓的35岁危机。个人愚见,欢迎鲜花,也欢迎拍砖~我是轩辕,咱们下篇文章见。往期推荐核弹级漏洞!我把log4j扒给你看!可怕!CPU暗藏了这些未公开的指令!我是Redis,MySQL大哥被我害惨了!CPU被挖矿,Redis竟是内鬼!主板上来了一个新邻居,CPU慌了!
2023年9月20日
国产科技

国产 CEC-IDE,卡脖子问题解决,国产崛起了?

今天早上就被这个重磅消息吸引了,这个文章得好好宣传一下继国产自研浏览器、国产自研操作系统、国产自研手机系统后的全新力作:国产自研IDE!先给不了解的小伙伴介绍一下什么是IDE:IDE代表集成开发环境(Integrated
2023年8月25日
其他

CPU摸鱼被抓,上了一个新技术!

我叫阿Q,是CPU一号车间里的员工,我所在的这个CPU足足有8个核,就有8个车间,干起活来杠杠滴。我们CPU的任务就是执行程序员编写的程序,只不过程序员编写的是高级语言代码,而我们执行的是这些代码被编译器编译之后的机器指令。那一天,我正在忙活着···“阿Q,工作时间你怎么在摸鱼啊!”,领导突然到访,吓得我一哆嗦。“领导,我正在执行的这条指令,需要从内存读取数据,这您是知道的,内存那家伙可慢了,所以我只好等着,这可不是摸鱼哦···”,我小心地解释到。领导眉头紧锁,指着一片电路问道:“这些是做什么的,怎么没在工作?”“那是读取指令的电路”“旁边那些呢”“那是指令译码的电路,我手里这条指令还没执行完,现在还轮不到它们工作”“反正也是闲着,就不能提前处理下一条指令吗?”,领导问道。“不行啊,我们一直都是一条指令处理完成才处理下一条指令”“这些电路单元闲着有点浪费啊,可惜了”,领导嘴里念叨着离开了我们一号车间,留下不知所措的我呆在原地。指令流水线没过几天,领导找我们几个车间的代表开了个会。会上,领导问道:“各位,咱们执行指令的效率能不能提一提,竞争对手快追上我们了”“这怎么提啊,我们干活够卖力的了”“是啊,也没有划水偷懒”各车间代表七嘴八舌地说到。“还说没有划水?我最近去各车间巡视,经常发现有人摸鱼”一听这话,大家都沉默,我也羞愧地低下了头。领导接着说道:“我在想啊,咱们现在执行指令的过程存在不少的资源浪费,大家能不能别等一条指令执行完再执行下一条,而是提前执行下一条”这话一出,在场各车间的代表都满脸问号。我们平时都是一条一条地执行指令,怎么还能提前执行后面的指令呢,这简直有点不可思议。见大家一脸茫然,领导接着说道:“咱们现在执行指令的过程其实是分了好几个步骤的,不同的步骤需要用到的电路设备基本上是不一样的,在执行后面步骤的同时,前面步骤所用到的电路就可以腾出来用于处理后面的指令了”就在我还有些似懂非懂时,二号车间小虎站起来说道:“我明白了!”领导露出了满意的笑容,问道:“说说看,你明白什么了”小虎转身来到一旁的画板上,画了一张图:“大家请看,我们平时执行指令,差不多四个主要的步骤:读取指令、指令译码、指令执行、数据回写。在第一条指令进入指令译码的步骤时,负责读取指令的电路模块就闲下来了,这时可以用来读取下一条指令,提前节省了时间。等到第一条指令进入执行的步骤时,指令译码的电路就能用来处理第二条指令,而读取指令的电路就能用来读取第三条指令,以此类推!”,小虎得意的说到。“妙啊,妙啊!”,我也忍不住称赞道:“整个过程就像一条流水线一样,一环扣一环!这效率肯定能提升不少”“流水线?这个名字好,要不咱们就把这项技术叫做指令流水线吧!”,领导说到。不久,咱们CPU各个车间就开始正式推行这项技术,把原来执行指令的过程流水线化。在我们一号车间又增加了一些人手:负责指令读取的小A、负责指令译码的小胖,负责结果回写的老K,至于我嘛,就负责具体的指令执行。流水线的级数用上了流水线之后,我们CPU的工作性能一下有了非常明显的提升,甩开了竞争对手一大截,领导高兴坏了。但还没高兴太久,不知道谁走漏了消息,竞争对手CPU们也知道了这项技术,也用上了指令流水线,我们的差距又一次缩小了。领导又一次召开会议。“现在该怎么办?大家想想办法啊”会场一度陷入了沉默,过了一会儿,六号车间的代表小六才站起来发言:“领导,我有一个办法”“什么办法?”小六润了润嗓子说道:“我先问大家一个问题,在我们没有使用指令流水线技术的时候,假设执行一条指令需要4个步骤,每个步骤需要1ns,那执行完一条指令总共需要多少时间?4条指令全部执行完又需要多少时间呢?”“一个步骤1ns,一条指令总共4个步骤就是4ns,4条指令就是16ns,这也太简单了吧”,二号车间小虎说到。“没错,那用上流水线以后呢?”“让我想想,用了流水线技术以后,从第4ns开始,每过1ns就会有1条指令从流水线上完成,完成上面4条指令,总共只需要7ns,比原来省了一半的时间。”“说的没错,大家发现没有,如果我们把执行步骤拆的再细一些,每个小步骤需要的时间更短一些,这样流水线的深度就会更深一些,流水线中容纳的指令也就越多,性能就会变得更高。”,小六激动的说到。领导也听得有些糊涂,打断问道:“等等,你慢一点,我没太明白”小六继续说道:“比如从现在的4个步骤,拆成8个更小的步骤,每个小步骤需要的时间减半为0.5ns,这样一来,流水线跑起来后,每隔0.5ns的时间就会有一条指令完成,比4个步骤的情况更快了!““妙啊!妙啊!”,领导忍不住鼓掌说道:“就这么干”我总觉得哪里不太对劲,却一时也说不上来。回去之后,我们就进行升级改造,将现在的四级流水线,改造成八级。你还别说,效果还真是立竿见影,将指令执行过程拆分得更细以后,流水线中容纳的指令数变得更多了,进一步减少了CPU电路资源的浪费,执行性能比以前更强了。但没过多久,竞争对手CPU也把流水线级数增加了,而且比我们的还多,这可急坏了领导。没有办法,我们也只好再一次提升流水线级数来应对。就这样双方你来我往,我们玩起了流水线级数大战,最疯狂的时候,我们把流水线级数做到了三十级。终于,我们搞出了事情。我们把一条指令的执行过程拆分的越来越细,虽然是提高了资源的利用率,但每个小步骤之间都需要做好交接,就需要增加很多额外的电路设备。步骤之间交接不仅有额外的时间开销,增加的电路设备也会产生额外的功耗。流水线级数到了一定深度后,发现性能没有增加反而下降了,而且功耗越来越大,风扇都要疯狂转起来给我们降温。看来这流水线级数也不是越多越好啊!我们又主动降低了流水线级数,在性能和功耗上选择了一个平衡点。流水线里的冒险不仅如此,我们在使用指令流水线的过程中,也渐渐地发现了一些其他问题。有时候,我执行到一些指令,需要从内存读取数据到寄存器中。不巧的是,负责读取指令的小A也准备从内存中读取后面的指令,这同一时间咱俩都要访问内存,都要使用访存电路,这下尴尬了,搞得流水线只好停顿下来等待,等我用完了小A再用,白白浪费了时间。还有的时候,我执行到一些指令,所需要的数据来自于前一条指令计算的结果,可流水线中前一条指令还没有结束,结果还拿不到,流水线只好又停顿下来等待。这都还不算啥,更要命的是,遇到了有分支的时候,根本不知道要去把哪个分支的指令加入流水线中处理。于是,我们把这些问题都集中反馈了上去,后来我发现不仅仅是我们车间,其他车间也遇到了这些问题。大家把这些问题叫做流水线里的冒险,还给这三种问题分别取了三个名字:结构冒险
2023年7月24日
其他

我发了一张图,难倒了一大片程序员!

哈喽,大家好。前天是端午节,红包解密活动如期而至,晚上20:00准时开整。2023端午红包解密活动和以往一样,活动一发布小伙伴们就蜂拥而至,总共5关,150个现金红包外加5个终极大奖,不到一个小时都被小伙伴们全部拿下!不得不说我的粉丝群里真是卧虎藏龙啊。应小伙伴们的要求,今天专门出一期解密文章,下面我就来给大家详细介绍一下本次活动5个关卡的解题方法和答案。错过活动的小伙伴也可以看一下,说不定下一次就派上用场了~可能有很多小伙伴错过了这次的活动,咱们先来回顾一下:有一个含有二维码的粽子图片被拆分了五部分,分别被我藏在了互联网上的五个地方,你需要做的就是集齐这五块碎片,完整拼出二维码,扫码获得终极大奖。不是只有拼出完整二维码才有红包,每找到一块拼图,都能获得这款拼图背后的红包。但越到后面拼图寻找难度越大,但红包金额也越高,数量也更少。第一关首先来看第一关,总共100份红包!第一关其实就是让大家热热身,一道送分题。碎片地址放在我的B站账号,发送关键词就能获取,而这关键词就是那位曾经为我制作一本书的粉丝名字:未来永劫。你只需要翻翻书,或者去京东商品详情页下面找一找就能找到答案。发送这四个字到我在B站的账号,就能拿到第一块碎片和第一关红包的口令了。看吧,你就说是不是送分题吧。接下来咱们来看第二关。第二关第二关我原以为也是送分题,没想到居然有很多小伙伴一筹莫展,来看看到底是什么。题目中说了,这第二部分碎片,就被我藏在了那篇公众号的文章里面。我估计很多人无从下手,还特意给了提示:需要在电脑上打开这篇文章才方便操作。这明示的够明显了吧。直接电脑打开,右键查看源代码就能看到了。在文末有一个标签,里面就写着第二关的红包口令和第二块拼图碎片的地址。只不过我通过CSS把它的display属性设置为了不显示。怎么样,是不是也是送分题?至于我是如何在公众号里面做到这一点的,大家留言区猜猜看?接下来咱们来看第三关。第三关第三关的线索是一张图,这是我的新书《趣话计算机底层技术》中的一副插图。题目就是根据这幅图猜出它在书的哪个章节。这题目其实也不难,根据图片中的文字内容,这是在讲SIMD,也就是单指令多数据技术。再结合书的目录,很容易就能猜得到,答案是:一条指令处理多个数据。没有书的朋友,通过京东的目录信息,也能猜个八九不离十。发送这几个字到公众号,就能拿到第三关的红包口令和第三块拼图碎片啦!接下来是第四关。第四关第四关上了点难度,但这个所谓的难度其实就是对于非程序员的粉丝,如果是程序员,也是So
2023年6月24日
其他

8950 4e47 0d0a 1a0a 0000

当当当当!小伙伴们大家好,我是你们的老朋友轩辕~老粉们一定知道,轩辕有在传统佳节里搞红包解密活动的习惯。今年的端午节又来了,新一届的红包解密活动如期而至!话不多说,直接进入正题。玩法介绍老规矩:有一个含有二维码的粽子图片被拆分了五部分,分别被我藏在了互联网上的五个地方,你需要做的就是集齐这五块碎片,完整拼出二维码,扫码获得终极大奖。温馨提示:不是只有拼出完整二维码才有红包,每找到一块拼图,都能获得这款拼图背后的红包。但越到后面拼图寻找难度越大,但红包金额也越高,数量也更少。第一部分第一个阳光普照奖,总共100份红包!这第一个碎片被我放到了我的B站后台,你只需要去给我的B站账号发送关键词就能获取碎片的地址。B站入口在这里(或直接B站网站、APP里搜索“编程技术宇宙”关注后,发送关键字消息):https://space.bilibili.com/668097429那需要发送什么关键字呢?在我的新书《趣话计算机底层技术》的前言中提到,曾经有一位粉丝自己制作了一本书给我,这第一个碎片的关键字就是这位粉丝的名字。如果已经买了书的小伙伴,赶紧去翻翻前言。如果还没有买书的小伙伴,可以通过下面这个小程序进去,在京东的图书详情介绍里面,有完整的前言内容,也能找到答案哦~第二部分这第二部分碎片,也很简单,被我藏在了这篇文章里面。对,就是你现在正在看的这篇公众号文章里面!如果一头雾水,那也给个温馨提示:需要在电脑上打开这篇文章才方便操作。你懂了吧?明示的够明显了。第三部分第三部分碎片,就得上点难度了。这是我的新书《趣话计算机底层技术》中的一副插图,请根据插图的内容,猜出这幅图所在二级章节的名字,注意是二级章节。没有书的小伙伴也不要紧,京东上面同样有完整的目录,你结合图的内容和目录,也能猜出个大概。找到章节名字以后,发送到公众号后台,获取第三块碎片地址。第四部分第四部分的碎片,我直接告诉你地址吧:链接:
2023年6月22日
其他

aHR0cHM6Ly9zcGFjZS5iaWxpYmlsaS5jb20vNjY4MDk3NDI5

好久不见,小伙伴们。最近太忙了,正在学习新的技术领域实在太有挑战太有趣,以至于我都快忘记了我还有个公众号需要运营了。今天早上,我意外的收到了一个红包:一看金额,好家伙,又是一年1024了,时间过得可真快!想着好久没搞红包解密活动了,要不就趁着1024搞一波吧!新的朋友们可能不太清楚,简单介绍一下:红包是某宝的口令红包,口令被我分成了两部分藏在了互联网上的两个地方。你要做的就是找到这两部分拼成完整口令,然后去某宝输入口令领取。这一次的线索,就是下面这一段“乱码”的文字中:aHR0cHM6Ly9zcGFjZS5iaWxpYmlsaS5jb20vNjY4MDk3NDI5没有思路的朋友,可以看看上面合集中的以前的“传统佳节解密红包”系列文章。数量有限,先到先得哦!
2022年10月24日
其他

昨晚,因为核酸系统崩溃,这家公司被骂上了热搜第一

大家好,我是轩辕。昨天晚上,成都因为疫情又一次上了热搜,而这一次,热搜上的词条是一家软件公司的名字。事情的起因是这样的:从9月1号开始,成都市政府宣布了为期四天的全员核酸检测。昨天下午,我们小区物业通知了预计14:00-17:00会进行检测,告诉我们会挨个楼栋通知下去检测。结果一直拖到晚上也没收到通知,我一直忙别的也没留意,结果上网一看,关于成都核酸系统崩溃的各种段子已经满天飞了。是的,成都核酸检测系统,又崩溃了!辛苦的大白们没有办法,都用上了这种古老的方式来寻找“信号”。因为这个系统出了问题,导致核酸检测工作非常缓慢,大量的市民排队等待,平常排队半小时能完成的,昨晚都要排队好几个小时。到晚上23点半,物业直接通知只给部分人做,其他人可以洗洗睡了。好家伙,不知道有多少人白排了几个小时队。这好好的系统它咋就崩溃了呢?有网友挖出了一个中标公告,说这套系统背后使用的是浪潮的服务器:一千多万的项目,结果就这?但随后,有疑似浪潮的人出来回复:人家说的很清楚,上面中标的只是基础运维,这套软件系统的设计另有其人。随后有人又开喷健康码,喷鹅厂。但实际上,崩的不是健康码,而是大白使用的核酸采集录入系统,这是两套独立的系统。再接着,有人爆出这套软件是东软公司做的。于是一时间,所有人把怒火对准了东软,很快就把东软这个词条送上了微博热搜榜第一的位置。关于崩溃的原因,也有各种说法在朋友圈、微信群里流传,一时难辨真假。有说是这套系统背后使用的MySQL使用了超宽的大表:有说是MySQL单表容量太大,造成性能下降:还有的说是因为负载均衡不行,没法支撑高并发。总结起来基本上就两个原因:1、数据库的问题,数据量大后,查询检索效率低下。成都全市人口超过2000万,每天一次核酸,那就是单日新增两千万条记录,最近几天一直在做,数据容量很快就是几亿的规模,如果后端用MySQL还不分表,那确实够呛。2、高并发的问题,同一时间大量请求,服务器扛不住。一般情况下,使用nginx负载均衡,单机能做到几万的并发量。但成都2000W+的人口规模,全面做核酸的情况下,几万的并发肯定是不够用的。倘若这套系统背后真的就是一个nginx+mysql(不分表),那昨晚的情况也就不足为奇了。好了,吃瓜归吃瓜,我们还是要来点干货,作为一个程序员,要在吃瓜中学会成长。高并发之路这篇文章,我们来回答一个问题:到底该怎么做高并发?让我们从零开始。1、单机时代一开始的时候,用户量很少,一天就几百上千个请求,一台服务器就完全足够。我们用Java、Python、PHP或者其他后端语言开发一个Web后端服务,再用一个MySQL来存储业务数据,它俩携手工作,运行在同一台服务器上,对外提供服务。2、应用与数据库分离慢慢的,用户量开始多了起来,一台服务器有点够呛,把它们拆开成两台服务器,一台专门运行Web服务,一台专门用来运行数据库,这样它们就能独享服务器上的CPU和内存资源,不用互抢了。3、缓存系统后来,用户量进一步增加,每一次都要去数据库里查,有点费时间,引入一个缓存系统,可以有效缩短服务的响应时间。4、软件负载均衡用户量还在增加,一个Web服务的吞吐量开始达到了上限,系统开始出现卡顿。这时候,可以复制多个Web服务出来,再用一个nginx来进行负载均衡,将请求分摊到所有Web服务器上,提高并发量。5、数据读写分离随着系统的运行和用户的增长,数据量越来越多,数据库的瓶颈开始显现,读写明显变慢。这时候,可以增加新的数据库服务器,将读写进行分离,二者做好数据同步,提高数据库服务的整体I/O性能。6、数据库分库分表系统中的数据越来越多,即便是读写分离了,但一张表中的记录越来越多,从几百万到几千万,甚至要过亿了。把它们全部塞在同一张表里,检索查询耗时费力,是时候进行分库分表,把数据拆分一下,提高数据查询效率。7、硬件负载均衡再后来,业务发展很不错,用户量激增,以至于强劲的Nginx也扛不住了。一台不够,那就多整几台,再引入一个硬件负载均衡的服务器,比如F5,将网络流量分发到不同的Nginx服务器上,再一次提高性能。8、DNS负载均衡再再后来,用户量还在蹭蹭蹭的增长,强悍如F5这样的硬件负载均衡服务器也扛不住这样的高并发。老办法,一个不够那就多整几个。这一次,咱们在域名解析上下功夫,不同地区的用户,在访问同一个域名时,解析到不同的IP地址,以此来将流量进一步拆分。上面就是从最简单的单机到复杂集群的高并发演进之路。高并发是一个很大的话题,它所涵盖的东西其实远远不止上面这些内容。除了这些之外,像是消息队列、数据库选型、CDN、编程语言中的协程等等技术都能为提高并发助力。回到这次崩溃事件上,我想着经过一夜的折腾,今天总该好点了吧,结果下午一开始,又继续摆烂了:在我写这篇文章的时候,当事公司已经发布了说明:网络:你的意思是怪我咯?我是轩辕,欢迎关注我,我们下次再见。往期推荐核弹级漏洞!我把log4j扒给你看!可怕!CPU暗藏了这些未公开的指令!我是Redis,MySQL大哥被我害惨了!CPU被挖矿,Redis竟是内鬼!主板上来了一个新邻居,CPU慌了!
2022年9月3日
其他

计算机死机的时候,它在干什么?

大家好,我是轩辕。今天花几分钟跟大家分享一个很有意思又能涨知识的问题:电脑死机的时候到底在干什么?电脑死机,应该每个接触计算机的小伙伴都经历过吧。尤其是早些年,电脑配置还没现在这么高的时候,多开几个重量级应用程序,死机就能如约而至,就算你把键盘上的CTRL+ALT+DELETE按烂了,任务管理器也出不来,最后只能默默含泪长按关机按钮,强制关机。那么,你有没有想过,电脑在死机的时候,它到底在干嘛呢?众所周知,计算机的核心中枢是中央处理器CPU。上过计算机基础课程的同学都被教导过:CPU是一根筋死脑筋,只知道不断的取出指令来一条条执行,直到关机方休。所以理论上,死机分为两种,一种是CPU罢工不干了,不再执行下一条指令了,这属于硬件死机,不过这种情况基本不会发生。更多的是软件层面的死机,也就是CPU被困在了某个地方出不来了,导致本该执行的程序得不到执行,看起来就是死机了一般。聪明的你可能马上想到,如果写一个死循环,把CPU陷在里面出不去,是不是就能死机了?比如这样:void
2022年7月26日
其他

国内怎么就做不出JetBrains那样的产品?

template。最后是ctrl+shift+a以及alt+enter几乎可以在任何地方完成绝大部分写代码的常用操作。我并没有觉得vim在这方面有比JetBrains的效率高多少。另外就是
2022年6月21日
其他

戴尔官网618企采狂欢季,12代新品低至5折再减500元!

电脑采购预算不充足?戴尔官网618企采狂欢季来了!三重福利,错过等半年戴尔Latitude/OptiPlex/Precision全线领至高800元神券企采豪礼,至高领24英寸FHD显示器服务特惠升级,服务器送1年售后延保
2022年6月20日
其他

可怕!CPU暗藏了这些未公开的指令!

大家好,我是轩辕。我们知道,我们平时编程写的高级语言,是经过编译器编译以后,变成了CPU可以执行的机器指令:而CPU能支持的指令,都在它的指令集里面了。很久以来,我都在思考一个问题:CPU有没有未公开的指令?或者说:CPU有没有隐藏的指令?为什么会有这个问题?平常我们谈论网络安全问题的时候,大多数时候都是在软件层面。谈应用程序的漏洞、后端服务的漏洞、第三方开源组件的漏洞乃至操作系统的漏洞。但很少有机会去触及硬件,前几年爆发的熔断和幽灵系列漏洞,就告诉我们,CPU也不是可信任的。要是CPU隐藏有某些不为人知的指令,这是一件非常可怕的事情。如果某一天,某些国家或者某些团体组织出于某种需要,利用这些隐藏的指令来发动攻击,后果不堪设想。虽然想到过这个问题,但我一直没有付诸实践去认真的研究。直到前段时间,极客时间的一位老师分享了一份PDF给我,解答了我的疑惑。这份PDF内容是2017年顶级黑客大会Black
2022年4月13日
其他

如果美国封了DNS,俄罗斯将从网络消失?

俄乌战争还在持续,网络中的战争也同样在上演着。从最近几天的微博热搜就能看出,舆论阵地是何等的重要,一张图、一个视频、一段文字就能把人带跑偏,可见保持独立思考和判断的能力多么难能可贵。网络阵地如此之重要,大家有没有想过一个问题:美国那么爱制裁,互联网是美国人发明的,如果美国制裁俄罗斯互联网,把根域名服务器封了,俄罗斯是否就从互联网消失了?美国会不会干出这事儿我不知道,咱们就从技术上来分析一下,通过封禁根服务器,能不能实现将一个国家从互联网消失。要回答这个问题,需要了解一些互联网工作的基本常识。我们平时上网,其本质就是用你手里的客户端软件(比如微博、抖音、微信、浏览器等等)去访问它们背后的服务器(微博服务器、抖音服务器、微信服务器、其他网站的服务器等等),请求数据然后呈现给你。那如何访问呢?这些服务器都有属于它们的IP地址,这是一个在互联网中使用的身份标识号码,凭借这个数字,我们手机和电脑发出的网络数据包就能被网络中的“快递系统”不断转发,最终投递到目标服务器。但这些号码数字对我们人类来说没那么好记忆,所以,人们发明了域名这个东西。www.baidu.com,这就是百度的域名。这个东西可比数字好记多了!但互联网的协议是用IP地址进行身份识别的,现在搞了这么个域名,怎么用起来呢?计算机科学家们又搞了一个翻译系统出来:域名解析系统DNS。在访问真正的服务器之前,先通过这个解析系统,把这个域名“翻译”成对应的IP地址,拿到这个IP地址后,再去进行后面的网络访问。当然,这个过程都被现在的软件自动化的进行了,比如你在浏览器里输入www.baidu.com之后按下回车,浏览器自动完成了这个解析的过程,这对我们普通的用户来说是透明的(看不见的)。那么问题来了,这个负责域名解析的东西是什么样的?它是一台服务器吗?它位于哪个地方呢?首先,它不是一台服务器,万一崩了,那全世界都上不了网了。其次,它也不是一个简单的多点集群,全世界的网站这么多,每个节点要存储所有的域名——IP映射关系,那也是不切实际的。事实上,真正的域名解析系统它是一个分层级的庞大系统。本地DNS服务器权威域名服务器顶级域名服务器根域名服务器我们每个电脑和手机里面都设置了本地DNS服务器(简称LDNS),需要解析域名的时候,就向LDNS发出请求。大家可以在自己的电脑上执行nslookup或ipconfig命令,查看自己电脑上配置的DNS服务器地址是什么:我们以www.example.com这个域名为例,来看一下DNS的解析过程。你的电脑问LDNS:www.example.com的IP是什么?LDNS:查无此域名,问一下根服务器看看:www.example.com的IP是什么?根服务器:我可是十三大长老,哪管这些。你去问负责.com域名解析的顶级域名服务器吧,它肯定知道。LDNS问.com顶级域名服务器:大佬,www.example.com的IP是什么?.com顶级域名服务器:这我也不知道,你问问ns.example.com看看,它负责解析所有example.com下面的域名。LDNS问ns.example.com:大佬,www.example.com的IP是什么?ns.example.com:这我知道,是xxx.xxx.xx.xxxLDNS:谢谢大佬LDNS回复你的电脑:查到了,是xxx.xxx.xx.xxx,可累死我了···整个过程大概是下面这图所示,不过需要说明的是,并不是每一次DNS请求都会经历这样的过程,有些时候中间节点有缓存,路径就会变得不一样了。由此可见,根域名解析服务器在整个过程中扮演的角色至关重要。那么,问题又来了,全世界有多少根DNS?答案是13个,其中10个在美国,英国和瑞典各1个,日本1个。这13个根的名字和IP在这里可以公开查阅:https://www.internic.net/domain/named.root他们的名字从A.root-servers.net到M.root-servers.net。其中,A开头那个是主根,其他12个(B、C、D、E、F、G、H、I、J、K、L、M)是辅根。由于技术上的历史原因,根服务器只有13个,想知道具体原因的朋友,可以看看这篇文章:为何根域名服务器只有13个?但是需要注意的是,这里说的13个,并非真的只有13台物理机器,全球的互联网如果都只靠这十三台计算机维系,那风险还是很大的。在逻辑上,根确实只有13个,但每个根都有镜像啊!所以,根服务器实际上总共有1518个(截止2022-02-27)之多,在下面这个网站,你可以看到全球所有的根服务器分布情况:https://root-servers.org/从A到M,每一个根服务器背后都有许多镜像节点,分布在全球不同的地方。下面是我们中国所拥有的根镜像服务器:单是北京,就拥有8个节点。再次注意,根服务器的IP只有13个,但是却有一千多个物理服务器节点。那这是怎么办到的呢?这里用到了一个叫“任播”的网络技术。简单理解就是:可以让世界上不同的多台计算机,拥有同一个IP地址。注意,这里的IP地址是公网地址,如果是私有地址那没啥讨论的。小伙伴儿们可能一脸问号了,具体在网络路由的时候,具体选择哪一台计算机呢?这个问题说来话长,也不是今天的重点,感兴趣的同学可以看看这个:https://docs.microsoft.com/zh-cn/windows-server/networking/dns/deploy/anycast我国境内发出的对根DNS的请求,基本上都由国内的镜像完成了,并没有路由到国外的根服务器上去。注意这一点,非常重要!这么多台根服务器,它们是如何协同工作的呢?简单来说:所有的辅根从主根同步数据,而所有的镜像从对应的根服务器来同步数据。按照这个逻辑,A根就是超级大boss,只要它改了,其他一千多个节点都得跟着改。那么,如果某一天美国把A根中关于.cn的相关信息全部删掉,那全世界的根服务器都会跟着删掉,那中国将从互联网消失吗?这个时候,建设自主可控的根镜像服务器的重要性就体现出来了。服务器在我这儿,我不同步删除的内容,或者同步完加上删除的内容,就能破解这个问题!因为前面交代了,国内对根DNS的请求,基本都是国内镜像完成的,并没有路由出去。当然,其他国家的根镜像我们控制不了,他们可能无法访问.cn的域名,但只要他们想要访问,就会加回去,并拒绝同步美国删除的内容,如此一来,最后只有美国人自己访问不了.cn的域名。同样的道理也适用于俄罗斯,在root-servers网站上,也可以看到俄罗斯同样建设了许多的根镜像服务器,比如首都莫斯科:他们同样可以拒绝同步删除俄罗斯的国家域名.ru的解析信息。所以,想通过封禁根域名解析服务让一个国家从互联网消失,没那么容易。但如果是一个没有建设根镜像服务器的国家呢?往期推荐核弹级漏洞!我把log4j扒给你看!全中国一共有多少IP地址?30天开发一个Web服务器!
2022年2月28日
其他

恭喜这5个同学!

大家好,我是轩辕。前段时间,我在知识星球发起了一次学习活动:30天开发Web服务器,今天来做个总结吧。首先,这一次活动,整体来说不算是太成功。一开始没有写代码的时候,大家还算积极活跃,毕竟只需要看看书,看看我发的资料就能完成每天的学习作业,大部分人还是能跟得上节奏。但随着正式开始编程,能够坚持下来的人就一天比一天少了。有些同学要忙着期末考试,没时间参与。有些同学没有编程基础,一边学编程语言,一边参与项目,跟不上。还有的同学想着过几天再一次性完成,就先鸽一下。结果一步跟不上,步步跟不上,累积了几天的作业没有完成后,很多人便放弃了。造成这个结果的主要责任在我,没有考虑到大家的基础不一样,也没有考虑大家有没有时间完成每天的任务,学习任务的安排也欠妥。但还是有不少同学对此非常上心,积极完成作业,而且代码的质量都非常不错,这里特别表扬一下五位球友:@letangers@安深深@月@Embrace@柒我决定,给这五位球友下一期星球免费续费的福利,同时还会每人送一份神秘礼物(哈哈,
2022年1月4日
其他

核弹级漏洞!我把log4j扒给你看!

大家好,我是轩辕。相信大家这两天应该被这么一条新闻刷屏了:这个漏洞到底是怎么回事?核弹级,真的有那么厉害吗?怎么利用这个漏洞呢?我看了很多技术分析文章,都太过专业,很多非Java技术栈或者不搞安全的人只能看个一知半解,导致大家只能看个热闹,对这个漏洞的成因、原理、利用方式、影响面理解的不到位。这篇文章,我尝试让所有技术相关的朋友都能看懂:这个注定会载入网络安全史册上的漏洞,到底是怎么一回事!log4j2不管是什么编程语言,不管是前端后端还是客户端,对打日志都不会陌生。通过日志,可以帮助我们了解程序的运行情况,排查程序运行中出现的问题。在Java技术栈中,用的比较多的日志输出框架主要是log4j2和logback。今天讨论的主角就是log4j2。我们经常会在日志中输出一些变量,比如:logger.info("client
2021年12月11日
其他

全中国一共有多少IP地址?

大家好,我是轩辕。这段时间不是某某云的云服务器广告铺天盖地嘛,而我去年双十一用新用户搞的那个服务器也到期了,到了续费的时间一看,还真是肉疼啊。果然还是应了那句话:白piao一时爽,续费火葬场幸好我那上面也没啥重要的数据,关了就关了吧。然后我又换了个账号享受新用户的低价,这一次,直接买了三年。话题扯远了,今天要聊的话题是关于IP地址。IP地址因为我平时会弄个小程序,搭个网站博客之类的,所以在购买云服务器的时候,一般会再申请一个公网IP。看着申请到的IP地址,我突然想到了一个问题:不是早就说IP地址已经耗尽了吗,为什么我随便就能申请到,阿里云到底屯了多少IP地址,咱们中国总共又有多少IP地址呢?大家知道,我们现在的互联网主要还是采用的IPv4的地址,虽然我上大学那会儿就在吼IPv6了,但这么多年过去了,IPv4的地位依旧没有动摇。IPv4的IP地址,是采用4个字节的整数来表示,学过编程的都知道,4个字节能够表示的范围是0-4294967295(无符号数)。也就是说,全世界最多只有42.9亿个IPv4的地址。当然,为了书写和记忆方便,我们一般不会用整数来表示,而是采用点分十进制的形式。从
2021年12月2日
其他

CPU被挖矿,Redis竟是内鬼!

却说这一日,Redis正如往常一般工作,不久便收到了一条SAVE命令。虽说这Redis常被用来当做缓存,数据只存在于内存中,却也能通过SAVE命令将内存中的数据保存到磁盘文件中以便持久化存储。只见Redis刚打开文件,准备写入,不知何处突然冲出几个大汉将其擒住。到底是怎么回事?Redis一脸懵。这事还得要从一个月之前说起。挖矿病毒前情回顾:CPU深夜狂飙,一帮大佬都傻眼了···一个月前,突如其来的警报声打破了Linux帝国夜晚的宁静,CPU占用率突然飙升,却不知何人所为。在unhide的帮助下,总算揪出了隐藏的进程。本以为危机已经解除,岂料···夜已深了,安全警报突然再一次响了起来。“部长,rm那小子是假冒的,今天他骗了我们,挖矿病毒根本没删掉,又卷土重来了!”安全部长望向远处的天空,CPU工厂门口的风扇又开始疯狂地转了起来···无奈之下,部长只好再次召集大家。unhide再一次拿出看家本领,把潜藏的几个进程给捉了出来。kill老哥拿着他们的pid,手起刀落,动作干脆利落。这一次,没等找到真正的rm,部长亲自动手,清理了这几个程序文件。“部长,总这么下去不是个办法,删了又来,得想个长久之计啊!”,一旁的top说到。“一定要把背后的真凶给揪出来!”,ps说到。“它们是怎么混进来的,也要调查清楚!”,netstat说到。“对,对,就是”,众人皆附和。部长起身说道,“大家说得没错,在诸位到来之前,我已经安排助理去核查了,相信很快会有线索。”此时,防火墙上前说道:“为了防止走漏消息,建议先停掉所有的网络连接”“也罢,这三更半夜的,对业务影响也不大,停了吧!”,安全部长说到。不多时,助理行色匆匆地赶了回来,在部长耳边窃窃私语一番,听得安全部长瞬时脸色大变。“sshd留一下,其他人可以先撤了”,部长说到。大伙先后散去,只留下sshd,心里不觉忐忑了起来。“等一下,kill也留一下”,部长补充道。一听这话,sshd心跳的更加快了。助理关上了大门,安全部长轻声说到:“据刚刚得到的消息,有人非法远程登录了进来,这挖矿病毒极有可能就是被人远程上传了进来”sshd一听这话大惊失色,慌忙问道:“难道登录密码泄露了?”“应该不是,是使用的公私钥免密登录”,一旁的助理回答到。“你看,在/root/.ssh/authorized_keys文件中,我们发现了一个新的登录公钥,这在之前是没有的”,随后,助理输出了这文件的内容:[root@xuanyuan
2021年11月16日
其他

1024,烫烫烫烫烫烫烫烫烫

hello,大家好,我是轩辕。明天就是咱们程序员的“传统佳节”——1024了!这是我印象中难得的一次周末1024。不上班就是zui开心滴~传统佳节,你们懂得,按照轩辕的传统,必须要搞亿点事情啊!!!作为一个程序员,你知道世界上第一个程序员是谁吗?你知道各大编程语言之父是谁吗?你知道UNIX诞生于哪一年吗?你知道全球有多少个DNS根解析服务器吗?你知道·····吗?我知道这些问题一定难不倒学富五车的你,程序员们,是时候展示真正的技术了!轩辕开发了一个微信小程序——1024挑战活动:里面是一些计算机、编程、IT技术的通识知识,比如:更多有趣好玩的题目欢迎大家来发现!对于获得满分100分的同学,还有现金奖励哦!答题结束后,你会获得一个成绩海报:如果聪明的你获取了100分,那么系统还会自动通知你你是第几个获得100分的同学。重点来了!第1、2、4、8、16、32、64、128、256、512位获得满分的同学,把海报分享到朋友圈后可以凭截图找我领取10.24元红包哦。第1024位满分的同学,可以领取
2021年10月23日
其他

电脑关机了,黑客还能偷内存数据!

提到网络攻击技术,你脑子里首先想到的是什么?是DDoS?是SQL注入、XSS?还是栈溢出、RCE(远程代码执行)?这些最常见的网络攻击技术,基本上都是与网络、软件、代码、程序这些东西相关。这也好理解,计算机网络安全,不跟这有关,还与什么有关系?今天跟大家介绍一下,攻击技术,除了这些,还有一些脑洞大开的方式,它们可能跟时间、震动、频率、温度等各种物理相关的元素相关,看完绝对让你瞠目结舌!这些不同于传统软件安全方向,而是从其他侧面进行的网络攻击,称作侧信道攻击,也叫边信道攻击。内存冷冻请大家思考一个问题:如果计算机突然断电,内存里的数据是不是瞬间就没了?内存大家都知道,计算机运行离不开这东西,程序指令和数据都存储在这里,但你知道内存条存储数据的原理吗?看到图中那一块块黑色的东西了吗?那就是内存条存储数据的地方:内存颗粒。在内存颗粒里面,是超大规模集成电路,里面是密密麻麻的存储单元格,每一个单元格存储一个比特位:这个单元格中的核心部件是一个电容,电容有电压,如果电压在一定范围内,这个单元格就是1,否则就是0。通过无数个这样的单元格,构成了GB级的存储空间。但大家学过物理应该知道,电容是一个不稳定的元件,随着时间的流逝,电荷会泄漏,如果不加以控制,内存条中的电压最终就会变成0,内存中的数据也就不准确了。因此,内存在工作的时候,需要定时的进行数据刷新,对电容进行充电,一般最多64ms就得充一次电,才能保存数据的准确性。好了,内存的背景知识交代完毕,现在回到本节一开始提到的那个问题:计算机突然断电了,内存中的数据瞬间就没了吗?内存中的数据是通过电容这种电子元件在承载,电容充放电都是需要时间的,所以可以大胆猜测,即使断电了,内存中的数据全部消失也是需要时间的。国外有人脑洞大开,做了一项实验,测试内存条断电后,里面的数据随着时间的流逝,消失的情况。普通数据不方便观察,用图片最直接,实验中将一张蒙娜丽莎的图片载入内存中,然后断电,然后计算不同时间后,这张图的变化情况:可以看到,在断电后的5s内,图片数据肉眼上看不到变化,30s后也影响不大,一分钟后也能依稀可见,5分钟后才彻底看不到。而更重要的是,如果温度降低时,电容中电荷遗漏的速度将更加缓慢。下面这个表格是测试内存条数据错误率在正常情况和冷冻情况下的比较。如上图所示,红色框是不冷冻情况,蓝色框是在零下50摄氏度情况,可以看到,在冷冻情况下,一分钟后,数据的错误率是0,即便是在300秒(5分钟)后,错误率也只有惊人的0.0095%。所以,一种新的攻击方式就出来了:使用内存冷冻的方式,可以从内存条中提取数据。内存中有什么数据?很多程序的密码密钥可能都存在于内存之中,最典型的比如Windows的开机密码。以为电脑关机了就安全了?可不是这么回事哦!熔断与幽灵熔断与幽灵漏洞攻击大家应该不会陌生,在2017年刚刚爆发出来的时候,占据了无数媒体的头条,可见影响力之广。在讲述这个漏洞之前,先请大家看一个故事。学过计算机组成原理的朋友可能都知道,CPU有两个重要的特性:分支预测和乱序执行。在执行到判断分支的时候(比如if判断),CPU会根据它自己的“经验”来判断,一会儿可能会走入哪一个分支,从而提前执行一些这个分支的指令,这叫分支预测。另外,CPU在执行一些指令的时候,可能并不是按照顺序一条执行完再执行下一条,而是可能在会预执行一些CPU认为可以提前执行,对程序流程无关的指令,这个叫乱序执行。但CPU认为可以提前执行,那就真的可以提前执行吗,执行了可能对程序本身流程没有影响,但会不会有什么副作用呢?先留这个问题,一会儿再说,先来看另一个概念:缓存。CPU执行程序需要频繁与内存通信,读取数据或者写入数据。但内存的响应速度比CPU慢多了,于是CPU在其内部加了一块缓存,将最近要用的数据放到这里来,避免每一次都从内存访问,提高工作效率。因此,同样读取一个数据,从内存读和从缓存读,时间上是有差异的。熔断与幽灵正是利用这一点,来进行了系统攻击。假如你想读取操作系统内核的数据,但因为系统安全机制,应用程序是无法直接访问内核空间的,但这个漏洞就可以帮你实现内核空间数据的读取。下面这段程序,先执行几十次,每次传入的x都小于16,每次都走入同一个分支,训练CPU,让它获得一些“经验”,让它认为
2021年8月13日