C++ Win32 API编程 之 注册表 下
0x0 注册表编程 编程过程中,可以使用 KEY_WOW64_64KEY 和 KEY_WOW64_32KEY 明确的指定操作64位注册表项或者32位注册表项。
C++ 内联汇编 实现ShellCode Loader
0x0 基础知识 我们用 msfvenom 生成一个测试用的我 ShellCode,内容为弹出一个计算器, 生成格式为 C Payload size: 193 bytes Final size of c file: 838 bytes unsigned char buf[] = '\xfc\x...
C++ 函数指针 实现 Shellcode Loader
0x0 基础知识 在 C++ 中,函数也是有地址的。编译之后的函数,其实是一组指令的集合,这样一组指令在程序运行时存在于内存中,其起始地址就是该函数的地址,也称做函数的入口地址。编写 C++ 程...
C++ 线程/远程线程 实现 ShellCode Loader
0x0 基础知识 00 CreateThread() 创建在调用进程的虚拟地址空间内执行的线程。 函数原型: HANDLE CreateThread( [in, optional] LPSECURITY_ATTRIBUTES lpThreadAttributes, [in] SIZE_T dwSta...
Python 创建线程 实现 ShellCode Loader
0x0 基础知识 我们用 msfvenom 生成一个测试用的我 ShellCode,内容为弹出一个计算器, 生成格式为 Python , 由于我的 Python 版本 为 64 位 Python 3.12.0 ,因此生成时要注意选择 64 位版本 S...
C# 创建线程 实现 ShellCode Loader
0x0 基础知识 我们用 msfvenom 生成一个测试用的我 ShellCode,内容为弹出一个计算器, 生成格式为 csharp msfvenom -p windows/exec cmd=calc.exe -f csharp Payload size: 193 bytes Final si...
Go syscall 实现 ShellCode Loader
0x0 基础知识 我们用 msfvenom 生成一个测试用的我 ShellCode,内容为弹出一个计算器, 生成格式为 hex msfvenom -p windows/x64/exec cmd=calc.exe -f hex Payload size: 276 bytes Final size...
Windows PE结构 之 开篇下
0x0 PE文件总体结构 PE (Portable Execute) 文件是Windows下可执行文件的总称,常见的有 DLL,EXE,OCX,SYS,COM 等。它是微软在 UNIX 平台的 COFF(通用对象文件格式)基础上制作而成。最初设计...
Windows PE结构 之 MS-DOS 头结构解析
0x0 基础知识 DO 头分为两部分:DOS 'MZ' HEADER 和 DOS stub DOS头的作用是 兼容 MS-DOS 操作系统中的可执行文件,对于 32位PE文件来说,DOS 所起的作用就是显示一行文字,提示用户:我需要在3...
Windows PE 结构 之 NT头结构解析
0x0 基础知识 PE文件头的结构有两种,分别对应32位的程序和64位的程序,它们的差异在于扩展PE头的结构 PE文件头结构说明_IMAGE_NT_HEADERS32位程序对应的PE文件头结构_IMAGE_NT_HEADERS6464位程...
Windows PE 结构 之 数据目录表结构解析
0x0 基础知识 在PE可选头(OptionalHeader)结构中的DataDirectory是OptionalHeader的最后128个字节,也是IMAGE_NT_HEADERS的最后一部分数据。 它由16个IMAGE_DATA_DIRECTORY结构组成的数组构成,...
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...