本套课在线学习视频(网盘地址,保存后即可免费观看):
https://pan.quark.cn/s/7af928cc2ba1
声明:所有发布内容来自网络,仅供用户学习交流测试网速使用,部分影片如有内嵌广告,请勿上当受骗。获取的所有内容请在24小时内删除,禁止非法恶意传播或商业用途。如有侵权,请联系删除,个人微信:sumith,防失联。
都还让你们专门去看了那一张那那一张那些对比的扣什么的不同是吧,对不对?好了,咱们今天要把这个任务门给过一下,过一下之后,我们要把这个页下一章我们要讲页表了,把页表的这个10112的环境要配置一下。因为我们现在目前的这个环境都是29912的,是吧?因为分页是不同的。我们先从第一个这个比较容易的列表开始学,慢慢逐渐加深的是这么一个套路。
好了,我们还是打开这个书籍,去看一下这个任务门。这个任务门很简单的,因为我们把任务段给搞定之后,学这个任务门很简单,我操。我说在哪?应该是这个。还有段跳进去出不来了。
看它的这个东西更加的简单。大家发现没有?它没有什么所谓的limit或者是oversight这种偏移,它只有一个任务段的描述符,还有一个就是我们的权限,各位看到吗?各位,这个权限是五,不是这个类型是五,这个类型是五。那也就是我们要跳进去的话,这个地方是E,E是不能变的对吧?这个地方是类型就是5,这边是我们的任务段。但这个东西首先你要用的话,首先要有一个任务段,知道吧?要有一个任务段,你才能进去。
讲这个是为了啥,各位是为了啥?是你你以后经常会碰到一些难题,我们来看一下,这个RIDTR,我们DQ一下,然后DQ我们ID在这里赶上IDT8。来看一下这个是我们的任务门,注意这个是我们任务门。它的这个段选择器选择只能是指向了一个GDT的零叉50的1个这个位置也偏于零叉50的1个位置。那这个是第八个,注意第八个错误,这个叫做双重错误,这个叫做双重错误。
这个是有一个什么含义的?我之前我也跟他各位提过,现在我再说一下,当我们触发异常的时候,也就是走到中段里面的时候,在中断中去,或者是修复或者是处理异常的时候,又出了一新的异常。那这个时候你当前的这个异常就会把它保存下来,然后跳到一个新的断句,就是08号这个段,进行了这个任务的切换。也就是一个双重错误,意思就是异常中又出了新的异常。它也不一定是蓝屏,当然了基本上我没有看到过能修复的,我基本上没有看到过它能修复的,反正基本上都是蓝屏。
然后这个有主要学他的目的是什么?我们回顾一下,在我们讲任务段的时候,各位从一个A段跳到B段,它的环境保存在哪里?兄弟们就是这个A段之前的上下文、寄存器这些东西保存到哪里去了?是不是仍然保存在A段中,然后才会继才才会跳到B段去吧,各位。也就是我们之前是二八的这个任务段。我们自己去切换一个任务段的时候,各位我们之前的原有的寄存器的环境全部保存在28这个段里面。然后等我们切,然后再把里面的这个四八里面的数据拿出来去跳过去,对不对?各位。所以各位所以各位这个出了如果是我们出了08号异常的话,那么我们的这一个就是后面这个蓝屏。
各位你如果是按这个KVKV去看的时候,它通常只有这么两行,或者只有一行,懂我意思吧?或者只有一行,当然这个函数不是这个函数,或者只有两行,也就是你看不到下面的从哪里出调用过来的这个堆栈是什么,你看不到知道吗?各位你是看不到的,你在这里查SP各位ESP那你也是查不到的。因为你他的这个ESP指向的是它触发异常后的这个ESP,而不是触发之前那个之前任务段的ESP。不是的。所以我们之前学的这个任务段之后,我们可以定位到它的ESP在哪里,包含了它的EIP在哪里。那个EIP就可以找到所谓的那个EIP,各位就可以找到所谓的他在异常中处理的时候,哪一行出了异常,并且可以回溯到从哪里调用过来的。当然这个回溯不是百分百,不是百分百,不是你说一不是说你完全能回溯到的,但是有百分之七八十你能回溯到,知道吧?
所以学这个目的,你的目的不是要你掌握这个两个段跳来跳去没有用。因为你64位下基本上它也不不会用,在切换下了它也是没有用的,知道吧?各位能理解我的意思吗?你的目的是要掌握怎么来出了拿出了这种淋巴结异常之后,怎么来追踪到你从哪里出的异常,这个才是最重要的。我这么讲能理解吗?
各位?
当然能学肯定最好的。好,各位,我们的先放过去,先放过去。在这里我还是创建个工程,各位还是先创建一个工程。那么基于我们以前有的工程,就是这个任务段?不是不让跳,你还是要做一做,还是要做一做。难道你没发现你们现在对这个段还是比较熟悉的,对吧?就是通过你不停的错误好了,各位人文。肯定要踩坑的,兄弟们。
好了,不管他。叫什么名字我不管。
有一个人问了我问题,就有那个英文叫什么名字我忘了,反正是个汉堡包的头像是吧?他问了我,你们肯定是没有做的,我知道他肯定做了。看看来各位要动手,各位。
那我把它改一下名字,免得我们看起来好。
我跟宝一起旁。
我给他改个名字。好了,各位,这个是我们之前的任务段。
是不是各位在群。
里问了,他敢麻烦我,你可以私聊我吗?是不是?
好,那么我们在这儿我来看一下,这个int 3我先去掉了,各位也不用去,我们下面有环境,那我先编一下,这里让我输入CR3。还有一个就是我先输入一下CR3是吧?先把这一个过一下。
好,先把413的拿过来。
把空格给删掉,这个是我们的段选择子,对不对?我们拿过来。
好了,这个段选择值我们是00是吧?这个地方也可以是00,我们是1BE9是吧?E940,这个是5045030,我们20这个是AC是吧?这个没问题。各位我们的任务段。
这条。我操,复制一下。这个地方是18是吧?我们调到18这里去。这一点。
我们DG一下是吧?那么从这来看,我们是没有错的。好了,翻过去我们跳过去,现在我们就过来了,过来之后我们可能会蓝屏是吧?我们没有修复CR3。我把CR3给修复一下。
行,这个呢是D这个是DG28是吧?拿到他的老段,DQKTSS,那DT我们把他的CR删了,我们给他复制一下。这个地方是加1C,我记得是是加1C。AED加1C,我们复制过去。好,放过去,放过去之后可以看到没有问题。现在这个是确认的是没有问题的。
好了,各位,那么我们在这儿构建一个任务段,我把它去掉,任务段就是inter 12没问题吧?任务门任务门,我们在这里把这个门固定一下EQ,这个是什么?等一下再写。那么我们的门我们来看一下,怎么来写呢?是这一个,您0000,这个是15,注意1500再来看一下。好,这是0048,四个0。没问题,各位,这个就很简单了。
继续听就行。
我们是应该还是500这个位置。这里是500,那这个一般都没有问题,我们也Q一下。好,发过去,发过去之后,我们跑一下。好,再来看一下,这个是13。
就他了,门扶着过来。加你一下,跳过去,这个直接按回车。我们到这里来到这里来之后一下子下的各位请看我们的e flag。这个e flag它还是会清空了我们的那个IF位,清空这个IFV,什么TF是吧?还有什么呢?VM这个TF、VL这几个位。这个NT位它因为它是一个任务,各位它是个任务,它的任务断了是一样的。我们来看。
一下。
gdt,这个DG28,我们来看一下。可以贴S.
这个。
跟我们那个是一样的。它会把这个环境保存下来,保存到这里。会把我们的这个DZDJ48这里面的这个会按照你这个跳到这里来,它跟我们的这个逻辑是完全一样的,没有区别。懂我意思吧?各位,这个地方是没有区别的,这能理解不,各位。
好了,那么唯一的它就是NT位,它是不会制空的。各位发现没有?就是NT位因为它是个任务,四个任务段的话,它的这个NTV布置空,会这里依然跟我们的靠是一个一个东西,他也会写一个链接。它不是降幅。
好了,那么我们放过去,当然我们还是会报错,因为他没给我们报错,有点神奇,他没给我们报错,因为我们没有改CR3,是吧?所以这个地方仍然可能会出现问题。我们来看一下,从这个上面来看,好像它CR3有值,它好像就不报问题了是吧?这个应该我们那个进程已经死了,知道吧?但是这个东西,我不知道他是否还有还能访问到一些什么,没有来看一下。可以看到,在这个上面,我们它已经变成空的了。大家知道。还有值,这里面还有值,但是它的PTE已经没有效了,这PTE没有效了。
好了,各位这个任务段任务门我就不再做多的介绍了。因为他还是他还是就是你把这个任务段已经学的差不多的话,学他的话无非就是知道怎么调用就可以了。还有一个就是追CR3的值,追南坪的值。
那后面的时候我们遇到这个08的时候或者后面我们讲蓝屏的时候,伪造一个08的时候,我带你们来追一波。那你就明白了,懂我意思吧?各位好了,那我先把给它关了,你们实验做一下就好了,我先给他关了。
那么我们明天要讲的是任务门不置为NT是吗?是啊,就是任务门会进去的时候从任务断,任务门进去的时候,会自动把IFV的NT的NTV等于一给置上,知道吧?它不是清空,它会至上这个位,这个能理解吧?
好了。我们明天要学这个,开始要学这个断页了。按进去可以按F10吗?可以,但是你得按照之前任务段那种恢复,知道吧?有值的话先清空,再之一吗?你不可能有值,我这么讲。这个你不可能有值,知道吗?因为这个NTV1旦有值的话,它下一次中断它就会按照NTV来返回的,知道吧?
这个NT位是什么意思呢?就是嵌套的意思,能理解吧?嵌套的标志位,它证明了它是一个还是从一个任务嵌到另外一个任务一个任务嵌到另外一个任务,所以它它是一个嵌套的这么一个标志位。
好的,各位,我们明天要讲这个断叶,讲断叶,由于我们的系统是这个29912分页的。刚开始的时候就是这个win 7,默认是29912,不像win 10,不像那个win叉P1样的,它是那个101012开头的,而且叉P的配置极其简单,它只要你在这个C盘下,设置一下就可以了是吧。你里面有一个文件,有个NI文件,你配置一下好了。但是win 10,win 7和win 10之后,它不是这么配置的,知道吧?而且你默认的话是29912,也就是开启PAPAE的那你现在还不理解什么是PAE,我先举个例子,各位就是你怎么来知道你配置成功了没有?
注意,看一下我们这里面的CR3,各位看一下这个CR3。我们的CR3呈现的这种方式都是以以这个2020的这种递增的。也就是说这里是8420,有可能下一个就是8440,有可能再下一个就是8460,知道吗?各位,它是以这种20为递增的,那么你从这个上面就能看出你到底是这个PAE还是不是PAE。也就是讲PAE就是9929912分页的。
如果不是PAE,在这个瘟win 32上,就是101012分一的。在64位下它是99912分页,知道吧?所以64位下你不要去关注这个P这个PAE与不PAE的关系了。但是32位下它确实存在两种列表。这个为什么会存在两种列表?后面我会说到。好了,你现在就知道它长这种样子,基本上就是这个29912分页就够了,知道吧?
好了,那我们怎么来配置呢怎么来配置呢?还是跟以前一样的,还是跟以前一样的,我们要打开这一个,注意。管理员打开是吧?我们要打开CMD,注意打开CMD,我们把之前那个环境给他拿过来。
我们这里面有个环境是吧?环境配置,那这个还是一样,你得这么来配置一个。因为你后面的29912也需要,所以你不能改自己的段,注意你不能改自己的段。那么这个名字我们就叫做29-101012。
Windows不用,windows没有用知道吧?因为他可能以前的操作系统用了。知道吧?可能以前的操作系统用了,后面他这个操作系统它出了新的东西,就是那个sist call以及size的entry这种指令,它直接提供这种指令给你的,知道吧?而且比这个吊门可能更安全一点,更方便一点。为什么这么说?因为它会给你保存一些值,以及替换一些值。你这个吊门,你必须在gdt上有一个入口,那这样的话它容易被人家给利用到,知道吧?
好了,我这里干一个一,好了,复制一个。复制一个,我继续把它复制过来,好像我这个一直都是这一个。注意不知道为什么可能是可可可能是这个有快照的问题是吧?一直是一个没有改,那么我们依然过来。哟不是一个。
2915,不是一个不是一个,这差了一点点,那我把它做出来。我操。
好了,这个我也复制过来。这个我也复制过来。
好,各位,我基本上就复制完了。复制完之后,我在这里点击重启,重新启动。
好,我们选择这一个,选择你刚才配置的这一个,我们连连一下,我操疑。好了,出事了,我好像这个键盘怎么卡住了。
好了。
卡住了,知道吧,这键盘突然卡住了。稍等。
这个段在这个保护模式上用的还是比较少,基本上后面只能我们学VT的时候还有点作用。因为你可以虚拟化GDT和IDT,但是我们真正不进为T的话,它的现在的作用并不是很大,只是我们立项的时候有点帮助。但是这个夜各位一定要打起精神好好学。这个业是贯穿你这个你只要再干内核,无论你是干什么样的操作系统,或者是换一个CPU,你永远都是会遇见他,知道吧?除非是这个CPU有革命性的更新,不然的话你总会遇见他,而且频频的遇见他,知道吧?
好了,各位,我们再过来看一下,我们刚才只是复制了创建了一个新的引导项,我们并没有改,注意并没有改。所以但是我们来看一下,各位可以看到它还是一样的,我们并没有改。好了,我们再切过来,注意这么低还是我们的这个管理员运行。我们在这里BCDI edit。
我们来看一下,现在在这个位置,各位可以看到,可以看到这一项是我们的这个是当前项。对,当前项也就是我们目前的引导项。那上面那几个是我们其他创建的,那么在这里面我们得把这个PAE给关掉。
那么各位在我的这一项这里有一个这样的东西,注意有个这样的东西,我给它复制过来。这个是我以前的,注意这个是我以前的,以前这个创建的,还在这好了。那你如果是第一次看到,可能你会百度是吧?但是百度你也不一定百度的对,那么在这里,你问他一下,问他一下,各位像这种东西,它里面有一个设有个set,这个叫做设置存储中的选项值。这个叫做什么delete,也就删除,注意这个是删除。
那么你在在这里set再问,在问的时候,我们网上找一找,这里里面就有一些直的,我们来看能不能带你们找得到。这个。引导下类型管理。这是。这里也有个格式,但是这个不是我们现在需要的,居然没有列出来。
这个有点不对,他没给我们列出来。
我们这么来看一下。When set. When set也一样,我们并没有看到他这个有列出来的详细地方。但是我之前的时候,我记得有一个地有能看得到地方的。
好了,算了吧,找不着了,可能你只能看一下百度怎么找了,不管他。好了,我们还是跟以前一样,来看一下。用我肯定我操用肯定知道,我知道是什么命令,BCD,BCDIT的。但我主要是想带你们看一下,各位把它给复制,把它给复制过来,这个是选项,注意这是选项。
你在BCD,BCD这个edit,set,注意set这个是什么呢?把这个PAE强制关闭,注意这个是强制关闭,当然你也可以disable,知道吧?但是你这是加了上面这个强制之后,这个单词就是for什么force是吧?这是这个单词。这个是强制关闭的意思,我们给它关下关下之后,我们再来设置一下N叉,注意。这个NX也是它把这个东西设置一下,不是。
一一给它。
关掉。好了,关掉之后,我们在这里再点击重启。
稍等。
N叉是一个策略,这个策略就是我们后面学29912的时候,会碰到在这个101012下的这种列表是有一个bug的。不能说暂不能执行,你像你们之前应该看过一些文章,有些人就是那种比较老的系统,你会发现他没这个,他哪怕列表描述是不可执行的,但是他你去哪怕这个页属性,就是意思意思是你申请这块内存的页属性的,上面写着是只只读只写的。但是你把它变成一个函数去考的话,它依然可以跑起来。
对吧?
是不是各位就发明了一种技术,这种技术叫DP技术。我是不是?这种技术就是29912里面包含的,知道吧?哎也就是你当你这个列表,它不它它是什么处于一个什么样的列表,它的这个保护是不一样的是吧?这101012项是没有这种保护。直到29912之后,才有这个保护。后面64位都采取了这种第一批保护。
好了,我们再来看一下后面我会介绍到的。各位这个不用着急,后面我会介绍到的。你们今天的就是把这个环境给我搭好好了。各位可以看到,我们现在我们现在这个东西就已经变了,各位看到吧?跟我们刚才那个不一样了。你们还可能会问他,胡哥,那我写代码的时候我咋知道呢?我不可能拿个文体bug,我上去连一下看一下,是不是对不对?
实际上有的,这边有一个是我忘了是CR0还是CR4的,后面我查一下,反正我也会讲这个东西,也就是控制寄存器这一块,我们也会讲。但是我具体是忘了是在CR0还是CR4里面,应该是理论上应该是CR4里面。因为这个CR0是控制控是控制这种大方向的,也就包含了是不是保护模式,杂七杂八之类的那CR4是控制里面比较精细的一些东西,也就是附加项。你可以这么理解,C20是总开关项。好了,那么这样就变化了。各位我把这个指令给你们复制出来好吧,所以你们下去要给它改一下。
BCDID3好了,就这两行指令,注意。BCD.
还有一个,各位一定要注意了,这个顺序你记住,要跟我一样。那有可能会问了,火锅那跟你不一样有什么关系吗?有时候有些人的机器,我跟各位讲,有些人的机器跟我不一样的,它好像就没效果,不知道为什么。你比如说你先设置这个NX然后再设置这个,你会发现你还是一样的,它还是29912分线,这个就很奇怪的一件事情,知道吧?
好,我把详细步骤给大家描述一下。因为各位可能刚才看到我改了之后,也不知道我怎么操作的,首先首先先复制。先首先创建一个引导,这个名字随你们念了密码,重启是吧?第二步重启,注意我再强调的说一下,重启要从这里面去重启啊不要在这个上面去去关,不然的话有时候他没这个缓存,没有并没有写到文件里面去,那导致了你下次重启的那个引导项没有,是吧?
我再啰嗦一句好了,重启完之后选择。选择选择刚刚创建的那一个引导。好了,你选择这个进入,千万要记住,一定要进入你创建的这个引导。那有可能会问,胡哥,那我能不能在这个外面设置呢?也可以,当然你要加上ID但那样不能保证一定成功,这个我之前测试过很多次的好了。在BCD中设置。
好了,这是步骤,各位,这是步骤。
不是我啰嗦,我在课堂上我多说几句,我在说实话。你们就是比如说你们找我的次数就会少很多,懂我意思吧?
好了,各位明白了没有?兄弟们,你们任务把这个调任务门弄一下,把这个搞一下。完事了,明天的时候我们正式学分页了。保护模式终于快过了,这种讲的很枯燥,实验你没法有多余的实验,知道吧?尤其是这个段。
欢 迎 关 注
更多精彩内容关注下方公众号:逆向有你
个人微信:sumith
每日自动更新各类学习教程及工具下载合集
https://pan.quark.cn/s/874c74e8040e
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...