二进制安全
0day2
01 基础知识
02 栈溢出原理和利用
03 shellcode 开发
其它
某固件提取资产网络指纹数据
利用异常的思路
x64 shellcode 内存加载器
本文档使用 MrDoc 发布
-
+
首页
x64 shellcode 内存加载器
- 编译通过后,shellcode 二进制放进去 sc.txt,启动运行就行了。注意,我这里没有断下来,需要用调试器打开手动下断。 ``` #include <stdio.h> #include <windows.h> int main() { HANDLE hFile = CreateFile(L"sc.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, NULL); if (hFile == INVALID_HANDLE_VALUE) { printf("无法打开文件\n"); return 1; } DWORD fileSize = GetFileSize(hFile, NULL); if (fileSize == INVALID_FILE_SIZE) { printf("无法获取文件大小\n"); CloseHandle(hFile); return 1; } BYTE* buffer = (BYTE*)malloc(fileSize); if (!buffer) { printf("内存分配失败\n"); CloseHandle(hFile); return 1; } DWORD bytesRead; BOOL success = ReadFile(hFile, buffer, fileSize, &bytesRead, NULL); if (!success) { printf("读取文件失败\n"); free(buffer); CloseHandle(hFile); return 1; } PVOID lpAlloc = VirtualAlloc(0, fileSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE); memcpy(lpAlloc, buffer, fileSize); ((void(*)())lpAlloc)(); CloseHandle(hFile); return 0; } ```
别卷了
2024年8月28日 10:49
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码