C++ UserAPC 实现 Shellcode loader
0x0 基础知识 00 异步过程调用 (APC) 异步过程调用 (APC) 是在特定线程的上下文中异步执行的函数。 当 APC 排队到线程时,系统会发出软件中断。 下次计划线程时,它将运行 APC 函数。 系统生成...
C++ 线程上下文 实现 Shellcode Loader
0x0 基础知识 00 线程上下文 CONTEXT 每个线程内核对象都维护着一个 CONTEXT结构,里面保存了线程运行的状态,使得CPU可以记得上次运行该线程运行到哪里了,该从哪里开始运行,该线程内部数据如...
Python 创建线程 实现 ShellCode Loader
0x0 基础知识 我们用 msfvenom 生成一个测试用的我 ShellCode,内容为弹出一个计算器, 生成格式为 Python , 由于我的 Python 版本 为 64 位 Python 3.12.0 ,因此生成时要注意选择 64 位版本 S...
C++ 函数指针 实现 Shellcode Loader
0x0 基础知识 在 C++ 中,函数也是有地址的。编译之后的函数,其实是一组指令的集合,这样一组指令在程序运行时存在于内存中,其起始地址就是该函数的地址,也称做函数的入口地址。编写 C++ 程...
C++ 内联汇编 实现ShellCode Loader
0x0 基础知识 我们用 msfvenom 生成一个测试用的我 ShellCode,内容为弹出一个计算器, 生成格式为 C Payload size: 193 bytes Final size of c file: 838 bytes unsigned char buf[] = '\xfc\x...
C++ Win32 API编程 之 注册表 下
0x0 注册表编程 编程过程中,可以使用 KEY_WOW64_64KEY 和 KEY_WOW64_32KEY 明确的指定操作64位注册表项或者32位注册表项。
C++ Win32 API编程 之 注册表 上
0x0 注册表概述 在DOS年代,对计算机的内存管理及系统配置主要通过 autoexec.bat 和 config.sys 来完成。从 Windows3.X 开 始,对系统的管理增加了大量的 *.ini 文件来登录软件及硬件的各种初始...