分类
排序
C++ UserAPC 实现 Shellcode loader
0x0 基础知识 00 异步过程调用 (APC) 异步过程调用 (APC) 是在特定线程的上下文中异步执行的函数。 当 APC 排队到线程时,系统会发出软件中断。 下次计划线程时,它将运行 APC 函数。 系统生成...
C++ 可执行堆 实现 ShellCode Loader
0x0 基础知识 我们用 msfvenom 生成一个测试用的我 ShellCode,内容为弹出一个计算器, 生成格式为 C msfvenom -p windows/exec cmd=calc.exe -f c Payload size: 193 bytes Final size of c fi...
Windows Dll注入 之 远程线程注入
0x0 基础知识 原理:在目标进程中申请一块内存并向其中写入DLL路径,然后调用CreateRemoteThread,在目标进程中创建一个线程,线程函数的地址就是LoadLibraryW(A),参数就是存放DLL路径的内存指...
Windows PE 结构 之 导出表结构解析
0x0 基础知识 当PE文件被执行的时候,Windows加载器将文件装入内存并将导入表登记的动态链接库(一般是DLL格式)文件一并装入地址空间,再根据DLL文件中的函数导出信息对被执行文件的IAT进行修...
Windows PE 结构 之 RVA&FOA地址转换与对齐
0x0 基础知识 00 RVA & FOA 转换; 当一个 PE 文件被加载到内存中以后,我们称之为 ' 映象 '(image)。一般来说,PE文件在硬盘上和在内存里是不完全一样的,被加载到内存以后其占用的虚拟地...
Windows PE 结构 之 节表结构解析及遍历
0x0 基础知识 00 区段名及其含义 区段名含义.text默认的代码区块, 它的内容全是指令代码,链接器把所有目标文件的text块连接成一个大的.text块,使用Borland C++编译器产生的代码存放在CODE的区...
Windows PE 结构 之 数据目录表结构解析
0x0 基础知识 在PE可选头(OptionalHeader)结构中的DataDirectory是OptionalHeader的最后128个字节,也是IMAGE_NT_HEADERS的最后一部分数据。 它由16个IMAGE_DATA_DIRECTORY结构组成的数组构成,...
Windows PE 结构 之 NT头结构解析
0x0 基础知识 PE文件头的结构有两种,分别对应32位的程序和64位的程序,它们的差异在于扩展PE头的结构 PE文件头结构说明_IMAGE_NT_HEADERS32位程序对应的PE文件头结构_IMAGE_NT_HEADERS6464位程...
Windows PE结构 之 MS-DOS 头结构解析
0x0 基础知识 DO 头分为两部分:DOS 'MZ' HEADER 和 DOS stub DOS头的作用是 兼容 MS-DOS 操作系统中的可执行文件,对于 32位PE文件来说,DOS 所起的作用就是显示一行文字,提示用户:我需要在3...
C++ Win32 API编程 之 注册表 下
0x0 注册表编程 编程过程中,可以使用 KEY_WOW64_64KEY 和 KEY_WOW64_32KEY 明确的指定操作64位注册表项或者32位注册表项。
C++ Win32 API编程 之 注册表 上
0x0 注册表概述 在DOS年代,对计算机的内存管理及系统配置主要通过 autoexec.bat 和 config.sys 来完成。从 Windows3.X 开 始,对系统的管理增加了大量的 *.ini 文件来登录软件及硬件的各种初始...
Windows PE结构 之 开篇下
0x0 PE文件总体结构 PE (Portable Execute) 文件是Windows下可执行文件的总称,常见的有 DLL,EXE,OCX,SYS,COM 等。它是微软在 UNIX 平台的 COFF(通用对象文件格式)基础上制作而成。最初设计...