直接将自身代码注入傀儡进程
直接将自身代码注入傀儡进程,不需要DLL。首先用CreateProcess来创建一个挂起的IE进程,创建时候就把它挂起。然后得到它的装载基址,使用函数ZwUnmapViewOfSection来卸载这个这个基址内存空间的数据,。再用VirtualAllocEx来个ie进程重新分配内存空间,大小为要注入程序的大小(就是自身的imagesize)。使用WriteProcessMemory重新写IE进程的基址,就是刚才分配的内存空间的地址。再用WriteProcessMemory把自己的代码写入IE的内存空间。用SetThreadContext设置下进程状态,最后使用ResumeThread继续运行IE进程。 /********************************************************************* 另一种将自己代码注入傀儡进程的方法,配合反弹木马,可绕过防火墙的 #include <stdio.h> BOOL UnloadShell(HANDLE ProcHnd, unsigned long BaseAddr); typedef struct _ChildProcessInfo { DWORD dwBaseAddress; BOOL BOOL InjectProcess(void); DWORD BOOL char szIePath[MAX_PATH]; int main(void) BOOL FindIePath(OUT char *IePath, OUT int *dwBuffSize) szSystemDir[2] = '/0'; BOOL InjectProcess(void) STARTUPINFO si; HMODULE hModule = NULL; ZeroMemory( szModulePath, MAX_PATH ); GetModuleFileName( NULL, szModulePath, MAX_PATH ); if ( lstrcmpiA( szIePath, szModulePath ) == 0 ) hModule = GetModuleHandle( NULL ); pDosheader = (PIMAGE_DOS_HEADER)hModule; dwImageSize = GetSelfImageSize(hModule); // 以挂起模式启动一个傀儡进程,这里为了传透防火墙,使用IE进程 DWORD GetSelfImageSize(HMODULE hModule) BOOL CreateInjectProcess( DWORD *PPEB; // 使用挂起模式启动ie BOOL UnloadShell(HANDLE ProcHnd, unsigned long BaseAddr) BOOL res = FALSE; |
直接将自身代码注入傀儡进程相关推荐
- 【Android 逆向】Android 进程代码注入原理 ( 进程注入原理 | 远程调用流程 | 获取函数地址 | 设置 IP 寄存器 | mmap 申请内存 | 设置 SP 寄存器 )
文章目录 一.进程注入原理 二.远程调用流程 ( 获取 so 动态库地址 | 获取函数地址 | 设置 IP 寄存器 | mmap 申请内存 | 设置 SP 寄存器 ) 一.进程注入原理 调试进程 At ...
- 将代码注入到进程的三种方式
[源码下载] 介绍 在Code Project网站有许多关于password spy的文章,但是这些都是基于Windows Hooks的,还有没有其他方式能实现这种效果呢?是的,有,不过,先让我们简要 ...
- 用户领域 API 监控和代码注入检测
原文地址:Userland API Monitoring and Code Injection Detection 原文作者:dtm 译文出自:掘金翻译计划 本文永久链接:github.com/xit ...
- 连傻瓜都能看懂的基于代码注入的线程守护技术
连傻瓜都能看懂的基于代码注入的线程守护技术 2010年08月31日 连傻瓜都能看懂的基于代码注入的线程守护技术 Author: 叶紫孤(CPP肥兔) (感谢冷风大哥提供技术支持) E-mail: ye ...
- Win32环境下代码注入与API钩子的实现
Win32环境下代码注入与API钩子的实现 本文详细的介绍了在Visual Studio(以下简称VS)下实现API钩子的编程方法,阅读本文需要基础:有操作系统的基本知识(进程管理,内存管理),会在V ...
- Linux 平台一种进程代码注入方法
http://blog.csdn.net/occupy8/article/details/17056769 用于在目标程序的 main 函数执行前完成一些操作 特定情况下用来调试还是不错的. 源代 ...
- 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 )
文章目录 一.调试进程 ATTACH 附着目标进程 二.读取目标函数寄存器值并存档 1.主要操作流程 2.ptrace 函数 PTRACE_GETREGS 读取寄存器值 一.调试进程 ATTACH 附 ...
- 【Android 逆向】Android 进程代码注入原理 ( 注入本质 | 静态注入和动态注入 | 静态注入两种方式 | 修改动态库重打包 | 修改 /data/app/xx/libs 动态库 )
文章目录 一.注入本质 二.静态注入和动态注入 三.静态注入两种方式 ( 修改动态库重打包 | 修改 /data/app/packageName/libs/ 下的动态库 ) 一.注入本质 进程注入本质 ...
- C/C++ 进程代码注入与提权/降权
如果将shellcode注入到具有特定权限的进程中,我们就可以获得与该进程相同的权限,此方法可以用于提权与降权操作,注入有多种方式,最简单的是直接将metasploit生成的有效载荷直接注入到目标进程 ...
最新文章
- autoconfig.xml与antx.properties一级application.properties之间的关系
- Google Palette算法详解以及OC化
- 改变linux分区后grub修复,更改磁盘分区后修复GRUB启动
- 20180209-shutil模块
- 原型设计模式及深拷贝
- kingbase自带的驱动在哪_为什么别人家的广告语都能自带BUG?
- BFC(块级格式化上下文)【面试】
- 从Oracle向PPAS移行不成功时的处理
- win10 mysql zip 安装教程_windows10+mysql8.0.11zip安装教程详解
- 我精心梳了犀利的发型,胡子刮得一干二净,去字节跳动面试,结果被怼了!...
- cydia下载地址_Cydia下载完整安装包_cydia软件源官方下载-PChome下载中心
- IEEE1588精确网络时钟同步协议简介
- String类常用方法
- 【建议收藏】你还不知道平面设计有哪些风格?掌握这20种就够了
- xml文件中SQL语句的大于号、小于号、等于号的转义问题
- Zabbix使用指南
- 密码算法测试向量——目录
- Android实现隐藏手机底部虚拟按键
- 在教育孩子上少一点功利心,就会快乐?
- 图数据库入门教程-深入学习Gremlin(1):图基本概念与操作