自用 x86 GetProcAddress + GetModuleHandle_自实现getmodulehandle-程序员宅基地

写项目时自己实现了这两个函数,记录下来以后方便复习。

其实对于免杀来说,这样做意义不大,因为最终还是要调用API,反汇编引擎能发现

E8 <API>
FF 15 <API>

这种代码,就知道你调用了敏感函数。所以这篇文章实战价值不大。

// 从PEB的_PEB_LDR_DATA里获取已加载模块的句柄
HMODULE GetLoadedModuleW(LPCWSTR lpModuleName)
{
   
    
	typedef struct _UNICODE_STRING {
   
    
		USHORT Length;
		USHORT MaximumLength;
		PWSTR  Buffer;
	} UNICODE_STRING, *PUNICODE_STRING;

	typedef struct _PEB_LDR_DATA
	{
   
    
		DWORD Length;
		bool Initialized;
		PVOID SsHandle;
		LIST_ENTRY InLoadOrderModuleList;
		LIST_ENTRY InMemoryOrderModuleList;
		LIST_ENTRY InInitializationOrderModuleList;
	} PEB_LDR_DATA, *PPEB_LDR_DATA;

	typedef struct _LDR_DATA_TABLE_ENTRY
	{
   
    
		LIST_ENTRY InLoadOrderLinks;
		LIST_ENTRY InMemoryOrderLinks;
		LIST_ENTRY InInitializationOrderLinks;
		PVOID DllBase;
		PVOID EntryPoint;
		UINT32 SizeOfImage;
		UNICODE_STRING FullDllName;
		UNICODE_STRING BaseDllName;
		UINT32 Flags;
		USHORT LoadCount;
		USHORT TlsIndex;
		LIST_ENTRY HashLinks;
		PVOID SectionPointer;
		UINT32 CheckSum;
		UINT32 TimeDateStamp;
		PVOID LoadedImports;
		PVOID EntryPointActivationContext;
		PVOID PatchInformation;
	} LDR_DATA_TABLE_ENTR
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Kwansy/article/details/112072470

智能推荐

How to fix 'Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions'-程序员宅基地

文章浏览阅读1w次。How to fix ‘Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions’在linux中可以通过如下方式 Extending default lib search path: 在/etc/ld.so.conf.d/下创建一个 .conf文件,将lib文件所在路径添加进去. 安装完一个lib之后,执_inconsistency detected by ld.so

Redis--基础知识点--6--String_redis的string判断存不存在-程序员宅基地

文章浏览阅读84次。P13_String字符串类型详解_redis的string判断存不存在

云起实验室:快速搭建LAMP环境_lamp实验室条件-程序员宅基地

文章浏览阅读1k次。本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。点击立即参与云产品场景体验https://developer.aliyun.com/adc/scenario/6869de098ad44fc8a1560a1836a7c5f2?spm=a2c6h.13858375.0.0.54425b90rwAF3m建议体验时长:1小时云产品资源使用时长:1小时实验简介体验后您将收获到Apache+ PHP服务端环境的部署 手动安装MySQL相关_lamp实验室条件

windows11开放热点_win11不联网开热点-程序员宅基地

文章浏览阅读557次。一定要对想要开热点的网络进行设置共享,我想开放热点的是wlan,开始却弄了以太网(Npcap loopback adapter),所以没成功。将允许其他网络用户通过此计算机的internet连接来连接勾选上,进入想要开放的热点,右击进入属性。点击确定热点就成功开放了。_win11不联网开热点

11款免费而强大的PCB设计软件 还用什么AD PADS?_与ad同功能的免费软件-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏26次。1.PCBWeb DesingerPCBWeb是一款用来设计和制造电子硬件的免费CAD应用软件,使用快速、易用的线性工具设计多层原理图,使用覆铜和DRC检测可规划多层电路板,可嵌入物料清单。2.ZenitPCBZenitPCB是一款优秀的PCB设计软件,可以制作专业的电路板,CAD模块灵活易用,可快速实现设计项目。通过ZenitPCB可从原理图或者图层本身创建项目。3.FreePCBFreePCB顾名思义,是一款全开源基于Windows的PCB设计编辑器。它简单易用,可胜任专业高质量的工作。它具备_与ad同功能的免费软件

VC和TC的区别_vc系统与tc系统的区别-程序员宅基地

文章浏览阅读3.7k次。TC是宝蓝公司的只能用于标准C,不能支持C++,过时的东西。 VC是微软的一套C/C++开发环境,VC比TC强大的多VB也是微软的一套开发环境,使用Basic语言,入门相对较快。..._vc系统与tc系统的区别

随便推点

开源IgH EtherCAT主站方案,基于IMX8、ZYNQ、AM335x、T3等平台_ighethercai-程序员宅基地

文章浏览阅读1.6k次。前 言:创龙科技已基于IMX8、ZYNQ、AM5728、AM5708、AM437x、AM335x、T3/A40i等平台提供了开源EtherCAT主站IgH案例。本文档主要演示TLIMX8-EVM评估板基于IgH EtherCAT控制伺服电机方法。如需其他平台相关资料,请与我们联系。本文档适用开发环境:Windows开发环境:Windows 7 64bit、Windows 10 64bitLinux开发环境:Ubuntu 18.04.4 64bit虚拟机:VMware15.1.0Linux_ighethercai

Word | 关于删除分节符(下一页)前面的版式就乱了解决方案_删除分节符后格式变了怎么办-程序员宅基地

文章浏览阅读1.9w次,点赞10次,收藏11次。Word有关问题_删除分节符后格式变了怎么办

基于Python爬取网络热点新闻程序Android程序ssm项目管理net编程源代码数据库计算机毕业设计题目大全免费提供软件和开题报告-程序员宅基地

文章浏览阅读22次。Android程序ssm项目管理net编程源代码数据库计算机毕业设计题目大全免费提供软件和开题报告

大学生计算机应用基础实验6,计算机应用基础实验6.doc-程序员宅基地

文章浏览阅读771次。计算机应用基础实验6,计算机应用基础实验8,大学计算机基础实验,计算机基础实验报告,计算机基础和实验指导,计算机应用基础教程,计算机基础实验室简介,计算机应用基础统考,计算机网络基础实验,计算机应用基础计算机应用基础实验六 Word实验2(本次实验满分10分)一、实验目的:1、掌握文档的页面设置(包括控制分页、设置页面上的字数和行数、设置页边距和只长大小、设置版式等)。2、掌握文档的分栏排版。3..._大学计算机基础实验六教程

华为云云防火墙在手,防护网站安全无忧_华为防火墙提供了哪些入侵检测与防御功能-程序员宅基地

文章浏览阅读261次。但随着云计算、云储存等技术的发展,越来越多的用户选择部署虚拟设备防火墙、云服务提供商的云原生防火墙或者供应商直接托管的防火墙,即服务(FWaaS)产品。换句话说,防火墙能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络。作为新一代的云原生SaaS化防火墙,华为云CFW云防火墙可以提供云上互联网边界和VPC边界的防护,包括:实时入侵检测与防御,全局统一访问控制,全流量分析可视化,日志审计与溯源分析等。_华为防火墙提供了哪些入侵检测与防御功能

HDU 5974 A Simple Math Problem(2016ACM/ICPC亚洲区大连站-重现赛 D题)_2016年acm/icpc大连赛区重现赛 b题-程序员宅基地

文章浏览阅读459次。http://acm.hdu.edu.cn/showproblem.php?pid=5974一个数学题X+Y=aLCM(X,Y)=b因为 LCM(X,Y)=(X*Y)/GCD(X,Y)所以 X*Y=b*GCD(X,Y)因为GCD(X,Y)=GCD(a,b)所以只要联立方程组X+Y=aX*Y=b*GC_2016年acm/icpc大连赛区重现赛 b题

推荐文章

热门文章

相关标签