- 博客(17)
- 收藏
- 关注
原创 xp源码地址
magnet:?xt=urn:btih:3D8B16242B56A3AAFB8DA7B5FC83EF993EBCF35B解压密码internaldev
2020-12-19 10:02:02
441
1
原创 VS2019安装Windows SDK 8.1
vs2019中已经不再集成sdk8.1,只集成了sdk10怎么办如果需要使用,vs2019需要单独下载sdk8.1,安装,或者使用vs2017然后vs2019中project->General->Target Platform Version选择8.1
2020-12-17 15:13:11
9145
原创 ida7.2
IDA_Pro_7.2password 7JpT48a7Y2fv>>> md5sum "IDA PRO 7.2.exe"f1982a5c602ee0930160b6b52e76c031 *IDA PRO 7.2.exe安装包 下载链接:https://pan.baidu.com/s/1F758v3fQ9egeyCCPDiGLNA 提取码:u05xor downloadhttps://mega.nz/#!OqB02Kw...
2020-12-11 19:11:24
814
原创 ida 升级黑色主题
长期以来都用的是IDA Pro的默认白底蓝字的主题,这种配色在夜里十分刺眼,最终决定将其背景换为深色。主题插件的安装感谢zyantific大神制作的IDA Pro主题插件,这款插件使用Qt stylesheets的方式改变IDA的外观样式。这是一个开源的项目,源码在github上。下载二进制成品链接:https://github.com/zyantific/IDASkins/releases/ 源码链接:https://github.com/zyantific/IDASkins/访问第.
2020-12-11 18:50:28
1888
3
原创 10-调用门
本节内容调用门(无参)1、调用门执行流程指令格式:CALL CS:EIP(EIP是废弃的)执行步骤:根据CS的值 查GDT表,找到对应的段描述符 这个描述符是一个调用门.在调用门描述符中存储另一个代码段段的选择子.选择子指向的段 段.Base + 偏移地址 就是真正要执行的地址.2、门描述符3、构造一个调用门(无参 提权)0040EC00 000810D04、代码测试步骤一:代码测试,并观察堆栈与寄存器的变化.记录执行前的寄存器值:CS SS E
2020-11-28 13:17:04
380
原创 09-长调用与短调用
要点回顾: 我们通过JMP FAR可以实现段间的跳转,如果要实现跨段的调用就必须要学习CALL FAR,也就是长调用.CALL FAR 比JMP FAR要复杂,JMP并不影响堆栈,但CALL指令会影响.1、短调用指令格式:CALL 立即数/寄存器/内存发生改变的寄存器:ESP EIP2、长调用(跨段不提权)指令格式:CALL CS:EIP(EIP是废弃的)发生改变的寄存器:ESP EIP CS3、长调用(跨段并提权)指令格式:CALL CS:EIP(EIP是废弃的)
2020-11-28 13:10:42
732
原创 08-代码跨段跳转实验
本节内容通过JMP FAR指令修改CS段寄存器要点回顾在上一节课种重点介绍了JMP 0x20:0x004183D7跨段跳转的五个步骤,分别是:1、段选择子拆分2、查表得到段描述符3、权限检查4、加载段描述符5、代码执行1、构造段描述符找一个非一致代码段描述符,复制一份,写入到GDT表中kd> r gdtrgdtr=8003f000kd> dq 8003f0008003f000 0000000000000000 00cf9b000000ffff8003f010
2020-11-28 13:04:30
201
原创 07-代码跨段跳转流程
本节内容代码跨段本质就是修改CS段寄存器要点回顾段寄存器:ES,CS,SS,DS,FS,GS,LDTR,TR段寄存器读写:除CS外,其他的段寄存器都可以通过MOV,LES,LSS,LDS,LFS,LGS指令进行修改CS为什么不可以直接修改呢?CS的改变意味着EIP的改变,改变CS的同时必须修改EIP,所以我们无法使用上面的指令来进行修改.1、代码间的跳转(段间跳转 非调用门之类的)段间跳转,有2种情况,即要跳转的段是一致代码段还是非一致代码段(如何区分参见之前视频)同时修改CS与E
2020-11-28 13:00:44
296
1
原创 06-段权限检查 MOV DS,AX
1、CPU分级2、如何查看程序处于几环?CPL(Current Privilege Level) :当前特权级CS和SS中存储的段选择子后2位.3、DPL(Descriptor Privilege Level) 描述符特权级别3、DPL(Descriptor Privilege Level) 描述符特权级别DPL存储在段描述符中,规定了访问该段所需要的特权级别是什么.通俗的理解:如果你想访问我,那么你应该具备什么特权.举例说明:mov DS,AX如果AX指向的段DPL = 0
2020-11-28 12:58:37
1208
原创 05-段描述符属性:P位 S位 TYPE域 G位 DB位
1、段描述符 2、S位S = 1 代码段或者数据段描述符S = 0 系统段描述符3、TYPE域当S=1时,该段描述符为代码段描述符或者数据段描述符 4、分析举例5、数据段说明A 访问位,表示该位最后一次被操作系统清零后,该段是否被访问过.每当处理器将该段选择符置入某个段寄存器时,就将该位置1.W 是否可写E 扩展方向6、代码段说明A 访问位 R 可读位 C 一致位C = 1 一致代码段 C = 0 非一致代码段7、系
2020-11-28 12:51:11
256
原创 04-段描述符与段选择子
要点回顾:上一节课我们讲过,当写一个段寄存器的时候,只给了一个16位的数,但段寄存器有96位,那剩下的80位从哪里来的?这个16位的数是随便写的吗?1、GDT(全局描述符表) LDT(局部描述符表)当我们执行类似MOV DS,AX指令时,CPU会查表,根据AX的值来决定查找GDT还是LDT,查找表的什么位置,查出多少数据.2、段描述符3、段选择子段选择子是一个16位的段描述符,该描述符指向了定义该段的段描述符.RPL:请求特权级别TI:TI=0 查GDT表TI=1 查LDT
2020-11-28 10:50:44
391
原创 03-段寄存器属性探测
1.段属性探测要点回顾:上一节课我们讲过段寄存器有96位:Selector //16位Atrribute //16位Base //32位Limit //32位我们可以通过MOV指令进行读写(LDTR和TR除外)但我们只能看见16位,那如果证明Attribute、Base、Limit的存在呢?1、段寄存器成员简介2、探测Attributeint var = 0; __asm { mov ax,ss //cs不行 cs是可读 可执行 但不可写
2020-11-28 10:43:02
174
原创 CSDN-markdown编辑器
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-11-26 21:42:25
385
原创 驱动开发环境搭建
本节内容驱动开发环境配置课程内容:配置VS2010,使之可以开发驱动程序前提:<1> 正确安装VS2010<2> 正确安装WDK 76001、新建VC空项目2、打开配置管理器,添加一个驱动的活动项,确定,如图:复制内容到新创建的属性文件中,复制文件参考:DriverProperty.props<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0
2020-11-26 21:38:39
166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人