当前位置: 首页 > news >正文

dll高级技术--动态注入:ImgWalk动态库,这个DLL用来检测被注入的进程中当前载入的各个模块名称---DLL程序

dll高级技术–动态注入:ImgWalk动态库,这个DLL用来检测被注入的进程中当前载入的各个模块名称—DLL程序

WINDOWS中DLL注入的高级技术。
dll高级技术–动态注入:ImgWalk动态库,这个DLL用来检测被注入的进程中当前载入的各个模块名称—DLL程序

文章目录

  • dll高级技术--动态注入:ImgWalk动态库,这个DLL用来检测被注入的进程中当前载入的各个模块名称---DLL程序
  • ImgWalk动态库,这个DLL用来检测被注入的进程中当前载入的各个模块名称---DLL程序


ImgWalk动态库,这个DLL用来检测被注入的进程中当前载入的各个模块名称—DLL程序

/*------------------------------------------------------------------------22-ImgWalk.cppImgWalk动态库,这个DLL用来检测被注入的进程中当前载入的各个模块名称---DLL程序-----------------------------------------------------------------------*/
#include "CmnHdr.h"
#include <tchar.h>BOOL WINAPI DllMain(HINSTANCE hInstDll, DWORD fdwReason, LPVOID fImpload)
{if (fdwReason == DLL_PROCESS_ATTACH){char szBuf[MAX_PATH * 100] = {0};PBYTE pb = NULL;MEMORY_BASIC_INFORMATION mbi;//检索有关调用进程的虚拟地址空间中一系列页面的信息while (VirtualQuery(pb,&mbi,sizeof(mbi)) == sizeof(mbi)){int nLen;char szModName[MAX_PATH];if (mbi.State == MEM_FREE)mbi.AllocationBase = mbi.BaseAddress;if ((mbi.AllocationBase == hInstDll) ||      //该区域包含该DLL,则隐藏掉该DLL,不显示在后面对话框中(mbi.AllocationBase != mbi.BaseAddress || //块不是区域的开始地址(mbi.AllocationBase == NULL))) {     //区域地址为NULLnLen = 0;}else{nLen = GetModuleFileNameA((HINSTANCE)mbi.AllocationBase,szModName,_countof(szModName));}if (nLen > 0){wsprintfA(strchr(szBuf,0),//找到第一个0"\n%p-%s",mbi.AllocationBase,szModName);}pb += mbi.RegionSize;}//注意:正常情况下,不应该在DllMain里显示一个对话框,因为//装载器被锁。但为了程序简单化,这里违返了这个规则chMB(&szBuf[1]); //从1开始,因为 "\n%p-%s",表示szBuf[0]为换行符}return TRUE;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 公安智慧大楼信息化整体建设设计方案
  • Web开发 Ajax 2024/3/31
  • [pytorch] --- pytorch基础之transforms
  • TLS握手性能测试工具:快速重置、多线程与高级统计分析(C/C++代码实现)
  • 深入理解指针(5)
  • 【零知识证明】Groth16
  • 磐石云语音识别引擎
  • 笔记本电脑中怎么查看光驱
  • [VirtualBox+ubuntu24]设置linux学习环境
  • C++笔记14•二叉树之二叉搜索树•
  • while (r > b[i].r) del(a[r--]); while (r < b[i].r)
  • C/C++逆向:寻找mian函数(其他编译配置特征)
  • 信息安全数学基础(1)整除的概念
  • 值得收藏!为初学者设置Windows笔记本电脑的8个简单提示
  • CSS学习2
  • 10个最佳ES6特性 ES7与ES8的特性
  • MySQL的数据类型
  • MySQL用户中的%到底包不包括localhost?
  • Next.js之基础概念(二)
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • overflow: hidden IE7无效
  • React 快速上手 - 07 前端路由 react-router
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • ubuntu 下nginx安装 并支持https协议
  • 阿里云Kubernetes容器服务上体验Knative
  • 一些css基础学习笔记
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (Forward) Music Player: From UI Proposal to Code
  • (备份) esp32 GPIO
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (六)vue-router+UI组件库
  • .mysql secret在哪_MySQL如何使用索引
  • .net web项目 调用webService
  • .net 无限分类
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .NET技术成长路线架构图
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • .sh 的运行
  • :class的用法及应用
  • @Transactional 参数详解
  • [ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429
  • [\u4e00-\u9fa5] //匹配中文字符
  • []T 还是 []*T, 这是一个问题
  • []我的函数库
  • [<MySQL优化总结>]
  • [20160902]rm -rf的惨案.txt
  • [23] GaussianAvatars: Photorealistic Head Avatars with Rigged 3D Gaussians
  • [AutoSAR 存储] 汽车智能座舱的存储需求
  • [BT]BUUCTF刷题第8天(3.26)
  • [bzoj4010][HNOI2015]菜肴制作_贪心_拓扑排序