第04节 原则:函数的动态调用

本文介绍了函数动态调用的概念,对比了静态调用与动态调用的区别。通过示例详细阐述了动态调用函数的方法,包括使用GetProcAddress获取函数地址,确定函数所在的动态链接库,并展示了在C++中实现函数动态调用的代码。文章还探讨了动态调用在网络安全和程序安全对抗中的应用,并指出该方法能避免API在导入表中的直接暴露。最后,讨论了这种方法存在的问题,即LoadLibrary和GetProcAddress自身的动态调用解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我是一枚从事网络安全行业十余年的小师哥😀,做过红队技术支持,也做过技术开发leader,乐于分享技术,喜欢结交朋友。

  • 这是我做的一个关于shellcode入门和开发的专题课👩🏻‍💻,主要面向对网络安全技术感兴趣的小伙伴,属于实战、经验性内容,里面的每一个操作我都亲测过。
  • 本专栏内容也有对应的视频版课程▶️,需要看视频版的小伙伴可以私信我get折扣券(@imbyter)

函数的动态调用是指在代码执行过程中,根据需要手动去对函数做加载和寻址。正常函数的调用,是在程序启动的时候,系统自动对程序中用到的函数做加载。

一个是在程序代码执行过程中手动加载,一个是在程序启动时系统帮我们自动做加载。

一、什么是函数的动态调用

首先我们看正常调用一个函数的用法:


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值