函数指针赋值

函数指针赋值在远程注入的时候特别需要给函数指针赋值。 有以下2种方法,第一定义方法。主要用于给大量同参数的函数注入。 #include”stdafx.h”#include”windows.h”typedefint(_stdcall*p_MessageBoxA)(HWNDhWnd,LPCSTRlpText,LPCSTRlpCaption,UINTuType)

大家好,又见面了,我是你们的朋友全栈君。

在远程注入的时候特别需要给函数指针赋值。

 

有以下2种方法,

第一定义方法。主要用于给大量同参数的函数注入。

 

#include "stdafx.h"
#include "windows.h"

typedef int (_stdcall * p_MessageBoxA)(HWND hWnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType) ;

int _tmain(int argc, _TCHAR* argv[])
{
	p_MessageBoxA My_M;
	FARPROC Func_add;
	Func_add=GetProcAddress(LoadLibraryA("user32.dll"),"MessageBoxA");//获取该函数的地址
	My_M =(p_MessageBoxA) Func_add;
	My_M(NULL,"PLC报警!","对话框",MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON1|MB_SYSTEMMODAL); 
	return 0;
}

第二种方法 直接定义一个函数指针,并给这个指针赋值。

 

#include "stdafx.h"
#include "windows.h"

int (_stdcall * p_MessageBoxA)(HWND hWnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType) ;

int _tmain(int argc, _TCHAR* argv[])
{
	FARPROC Func_add;
	Func_add=GetProcAddress(LoadLibraryA("user32.dll"),"MessageBoxA");//获取该函数的地址
	p_MessageBoxA =(int (__stdcall *)(HWND,LPCSTR,LPCSTR,UINT))Func_add;
	p_MessageBoxA(NULL,"PLC报警!","对话框",MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON1|MB_SYSTEMMODAL); 
	return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157511.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月11日 下午6:36
下一篇 2022年7月11日 下午6:36


相关推荐

  • yum 命令讲解「建议收藏」

    yum 命令讲解「建议收藏」(一)yum介绍Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。 …

    2022年5月5日
    48
  • 数十款代码编辑器,PyCharm为何如此优秀?

    数十款代码编辑器,PyCharm为何如此优秀?这两年被 Python 初学小白问到最多的问题就是 该用什么代码编辑工具 说实话 我个人是用 JupyterNoteb 最多 主要是经常做数据可视化 方便些 但对于初学者来说 PyCharm 仍是不二的选择 甚至我建议你只用 PyCharm 从当前所有主流 PythonIDE 来看 PyCharm 是最适合做 Python 开发的 特别对新手而言 可以节省很多不必要的时间成本 我也常用 PyCharm 写脚本 偶尔开发一些 web 应用 PyCharm 的完善程度可以说没有一个 IDE 能达到 其他 IDE 相比 PyCha

    2026年3月27日
    1
  • 联想g510键盘如何拆装视频_联想g5080键盘怎么拆

    联想g510键盘如何拆装视频_联想g5080键盘怎么拆导致笔记本键盘失灵的原因有很多种,有时候是因为电脑系统的原因,但是大部分还是因为键盘本身的问题,如果是键盘本身的问题导致的笔记本键盘失灵,那么最多的解决方法就是拆卸该笔记本的键盘,然后分析问题的所在。下面小编就为大家介绍一下的方法吧,欢迎大家参考和学习。首先观察一下键盘正面,键盘靠一个弧形的卡口卡在掌托上的。如图:键盘左手面在桌上找一块大空地,周围不要放水或者…当键盘坏了,这时就需要更换了,笔…

    2025年12月9日
    4
  • zookeeper – 数据存储结构(11)

    zookeeper – 数据存储结构(11)

    2021年6月5日
    82
  • JavaScript禁用浏览器后退按钮

    JavaScript禁用浏览器后退按钮~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~开发工具与关键技术:vs2015JavaScript作者:黄海峰撰写时间:2020.12.18~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1、代码如下:<scriptlang.

    2022年7月25日
    7
  • 十天征服单片机百度云_郭天祥十天征服单片机视频下载地址

    十天征服单片机百度云_郭天祥十天征服单片机视频下载地址高级教材《十天学会单片机和C语言编程》ed2k://|file|[十天学会单片机和C语言编程].Lesson1.rar|449712628|262b8896ad6828cd33ed7189fe94cb2d|h=76MXIF34BFV3VUPLLBN3ASNOVCACHTO3|7b&Y0}8J9w,P0E:|-}’Oed2k://|file|[十天学会单片机和C语言编程]…

    2022年5月2日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号