hook recv的问题,dll注入

问题描述

hook recv的问题,dll注入

如题,myrecv中必须最后调用原recv才行,不然目标程序会崩溃;
int WINAPI MyRecv(SOCKET s, char* buf, int len, int flags)
{
int ret = pRecv(s,buf,len,flags);
......//我的操作代码
return ret;
}
这样写就崩溃了,但是
int WINAPI MyRecv(SOCKET s, char* buf, int len, int flags)
{
......//我的操作代码
return pRecv(s,buf,len,flags);
}
这样写又很正常;
请问是什么原因,怎么解决

解决方案

关于dll注入的hook
HOOK API DLL 注入
MFC hook注入dll,远程线程注入dll

解决方案二:

有没有高手帮忙看看啊

解决方案三:

你后面的操作是不是影响了缓冲区

解决方案四:

什么类型的Hook?

时间: 2024-10-25 08:41:06

hook recv的问题,dll注入的相关文章

Dll注入经典方法完整版

Pnig0s1992:算是复习了,最经典的教科书式的Dll注入. 总结一下基本的注入过程,分注入和卸载 注入Dll: 1,OpenProcess获得要注入进程的句柄 2,VirtualAllocEx在远程进程中开辟出一段内存,长度为strlen(dllname)+1; 3,WriteProcessMemory将Dll的名字写入第二步开辟出的内存中. 4,CreateRemoteThread将LoadLibraryA作为线程函数,参数为Dll的名称,创建新线程 5,CloseHandle关闭线程句

c++ win32编程-在win7下面写了个dll注入工具,调试没有问题,就是注入不进去,求助

问题描述 在win7下面写了个dll注入工具,调试没有问题,就是注入不进去,求助 附上代码: void CsqdllDlg::OnBnClickedButton1()//注入 { // TODO: Add your control notification handler code here int pid; CString char_pid,dllname; m_UID.GetWindowText(char_pid); m_DllNames.GetWindowText(dllname); pi

【求助】如何通过DLL注入获取宿主的窗体内变量

问题描述 准备寄宿的对象是一个C#开发的应用程序,手上没有它的源代码,想通过DLL注入的方式获取该程序正在运行的窗体实例内的一个变量值,各位大侠有没有办法,最好能教教这个DLL怎么写?或者有其它方法也行,先跪谢:eek: 解决方案 解决方案二:哪一个变量值?解决方案三:mark感兴趣,.net可以么,不是有个虚拟机么,如果是nativecode分分钟钟教你搞定.解决方案四:一个窗体实例内的public变量是DataTable类型解决方案五:引用3楼lokirf的回复: 一个窗体实例内的publi

系统安全攻防战:DLL注入技术详解

DLL注入是一种允许攻击者在另一个进程的地址空间的上下文中运行任意代码的技术.攻击者使用DLL注入的过程中如果被赋予过多的运行特权,那么攻击者就很有可能会在DLL文件中嵌入自己的恶意攻击代码以获取更高的执行权限. 具体而言,该技术遵循以下步骤: 需要将DLL写入磁盘中; "CreateRemoteThread"调用"LoadLibrary"; 反射加载程序功能将尝试使用适当的CPU寄存器找到目标进程的进程环境块(PEB),并从中尝试查找内存中的kernel32dll

win7x64 dll注入-win7 64位dll注入到任务管理器

问题描述 win7 64位dll注入到任务管理器 我需要在win7 64位系统下将一个64位的dll注入到任务管理器,我安装了一个CBT钩子, 我打开任务管理器发现注入是没有问题的.但是当我点击任务管理器的<显示所有用户进程>的按钮后,发现任务管理器重新启动了,启动后的任务管理器就不能在用CBT钩子注入了.有没有高手帮助我解决这个问题. 解决方案 问题的原因是权限的问题,我在UAC开启的情况下,使用普通用户权限来安装钩子,打开任务管理器,任务管理器进程的权限和当前用户权限是一致的, 此时任务管

线程-关于Win32核心编程中DLL注入后无反应的解决办法

问题描述 关于Win32核心编程中DLL注入后无反应的解决办法 #include #include HINSTANCE hProcess; PWSTR pszLibFileRemote; HINSTANCE hThread; void StartInject(int ProcessID, char * DllName); void OverInject(char * DllName); void EnableDebugPrivilege(HANDLE processHandle); int ma

通过APC实现Dll注入——绕过Sysmon监控

本文讲的是通过APC实现Dll注入--绕过Sysmon监控, 0x00 前言 要对指定进程进行远程注入,通常使用Windows提供的API CreateRemoteThread创建一个远程线程,进而注入dll或是执行shellcode Sysmon可用来监控和记录系统活动,可记录CreateRemoteThread操作 注入的方法不只有CreateRemoteThread,能否通过其他注入方式绕过Sysmon的监控呢? Casey Smith@subTee在他的文章中给出了答案: Shellco

DLL注入

问题描述 目的:将A程序寄挂于某个应用程序运行,例如寄挂于IE.望前辈赐教具体代码,可有偿.如精通外挂技术,可拜师.本菜鸟仅会vb.net,可能有些异想天开,望勿取笑. 解决方案 解决方案二:百度EasyHook解决方案三:引用楼主zghaas的回复: 目的:将A程序寄挂于某个应用程序运行,例如寄挂于IE.望前辈赐教具体代码,可有偿.如精通外挂技术,可拜师.本菜鸟仅会vb.net,可能有些异想天开,望勿取笑. 并不异想天开,在很久很久很久很久很久很久以前,某些病毒,插件就是这么做的但你要自己做,

《Metasploit渗透测试手册》—第3章3.8节 理解Windows DLL注入漏洞

3.8 理解Windows DLL注入漏洞Metasploit渗透测试手册本节将介绍一种特殊类型的漏洞,这种漏洞不直接存在于Windows操作系统中,而是存在于Windows上运行的各种应用程序软件之中.这种远程攻击方法针对的是应用程序加载外部库时存在的漏洞,下面介绍这类漏洞,以便对其进行深入分析. 准备这种攻击方法需要创建包含漏洞的目录路径,目标机器需要执行该路径以便激活该漏洞.这个目录可以是文件.提取的文件夹.USB驱动器或网络共享等.创建的文件本身是完全无害的,但会执行DLL注入漏洞来攻击