Articles in the category of notes
- Home
- notes
操作系统内存管理
复习操作系统的内容,特别是内存管理的部分内存模型在操作系统内部的地址的映射过程为逻辑地址–>线性地址–>物理地址,这部分由 MMU 完成,其中涉及到主要的寄存器有 CR0、CR3 、 CR4 等等,比较经典的内存转换模型如下图所示。![[Snipaste_2020-11-09_14-33-07.png]]控制寄存器段式存储中,段描述符表的首地址是加载到 GDTR 或 LDTR 寄...
Intel VT 硬件虚拟化
硬件虚拟化 HEV 。Intel VT-x 是 Intel 芯片支持的硬件虚拟化 (Hardware Enabled Virtualization)技术,与之相对的,AMD 芯片支持的 HEV 技术叫做 AMD-V(SVM)。VT 前言我们知道有 Type-1 和 Type-2 两类 Hypervisor,Type-1 跑在硬件上,Type-2 跑在操作系统上。日常使用的应用程序跑在 Rin...
《深入理解计算机系统》笔记-2
ELF文件格式介绍,来自CTF-wikiELF (Executable and Linkable Format)文件,也就是在 Linux 中的目标文件,主要有以下三种类型:可重定位文件(Relocatable File),包含由编译器生成的代码以及数据。链接器会将它与其它目标文件链接起来从而创建可执行文件或者共享目标文件。在 Linux 系统中,这种文件的后缀一般为 .o 。可执行文件(E...
无符号Golang逆向解析
在去年的inctf2018中,其中出现了一道Go语言编写的进程通信逆向题,无论是从题目整体设计还是解题思路上来说都独树一帜,自己在解题过程中遇到了很多问题,但我这不打算做过多探讨,网上也有大佬的解题过程,本文仅针对该题涉及到的无符号Go语言恢复信息问题进行详细讨论。前言在整个后期整理过程中,自己参考了很多资料,放出所有链接,下文中也会有对应的说明。奈沙夜影师傅的题解分析静态编译无符号文件的方...
黑客反汇编揭秘笔记-4
本篇是《Hacker Disassembling Uncovered》的笔记。由于这本书出的时间比较长了,我看的版本还是08年出的,里面有很多东西没什么学习的必要,不过多读点书还是好的吧。在这里记个备忘。第21章这章主要讨论简单smc和shellcode编写。SMC自修改代码( self-modifying code, SMC ) 意思是自我修改的代码,使程序在运行时自我修改。我们可以采用下...
黑客反汇编揭秘笔记-3
本篇是《Hacker Disassembling Uncovered》的笔记。由于这本书出的时间比较长了,我看的版本还是08年出的,里面有很多东西没什么学习的必要,不过多读点书还是好的吧。在这里记个备忘。第13章关于X86-64体系结构寄存器方面,额外提供了8个基础寄存器,除了原来的8个寄存器外,现在就有16个GPR了。新的寄存器的编号是从R8到R15,要访问他们的低8位,低16位和低32位...
黑客反汇编揭秘笔记-2
本篇是《Hacker Disassembling Uncovered》的笔记。由于这本书出的时间比较长了,我看的版本还是08年出的,里面有很多东西没什么学习的必要,不过多读点书还是好的吧。在这里记个备忘。第10章TF标志位在反调试的方法中,有一种方式是使用PUSHFD /POP REG命令来读取FLAGS寄存器的值,随后检查追踪标志位TF来判断程序是否被调试。TF—陷阱标志,为程序调试而设。...
黑客反汇编揭秘笔记-1
本篇是《Hacker Disassembling Uncovered》的笔记。由于这本书出的时间比较长了,我看的版本还是08年出的,里面有很多东西没什么学习的必要,不过多读点书还是好的吧。在这里记个备忘。第6章本来想用kerberos的,结果下的都用不了,可能是版本太低了。然后学习了spy monitor,可以用来API窥测,同时进行实时调试,对MFC和win32的支持很好,对指定的API跟...
IDApro权威代码破解揭秘笔记-3
本篇是关于《IDApro权威代码破解揭秘》的笔记。这一部分主要是逆向分析恶意代码和IDC脚本的编写与应用。实例分析例子是一个广告程序,MFC写的,UPX加壳。先脱壳,这里我不用OD,直接用IDA插件自动脱壳了。之后要根据编译器手动加载签名库,首选的是MS Visual C++ runtime,再尝试MFC的签名库,但是我试过了还是有函数不能识别出来,可能是版本的问题,我也没有全部都试。接下来...