获取当前模块句柄(dll、exe)】的更多相关文章

HMODULE getCurrModuleHandle(){ MEMORY_BASIC_INFORMATION info; ::VirtualQuery((LPCVOID)(&getCurrModuleHandle), &info, sizeof(info)); return (HMODULE)info.AllocationBase;}…
一般地,获取当前模块路径都是通过调用 GetModuleFileName() 来获取的. DWORD WINAPI GetModuleFileName( __in HMODULE hModule, __out LPTSTR lpFilename, __in DWORD nSize ); 参数 hModule A handle to the loaded module whose path is being requested. If this parameter is NULL, GetModu…
以前写MFC的DLL的时候,总会在自动生成的代码框架里看到提示,需要在每一个输出的函数开始添加上 AFX_MANAGE_STATE(AfxGetStaticModuleState()).一直不明白这样做的含义,也一直没有这样做,而且代码也工作 得好好的,所以感觉这好像一句废话. 最近的项目中,需要在DLL里使用MFC生成界面,这才发现一旦资源放在不同的动态库里,而且还和多 线程搅和在一起的时候,事情就变得异常的复杂,以前对MFC的一知半解已经不足与应付了.程序莫名的崩溃,莫名的ASSERT,资源…
当程序调用dll时,获取dll路径的方法: HMODULE hMod = GetModuleHandle(_T("axload.dll")); if (hMod != NULL) { TCHAR szBuffer[MAX_PATH] = { 0 }; GetModuleFileName(hMod, szBuffer, sizeof(szBuffer)/sizeof(TCHAR)-1); _DEBUG_OUT("path: %s\r\n", szBuffer); }…
C#依据进程名称获取进程的句柄或C#怎样获取其它进程的句柄? 有时候标题名是动态变化的,所以不使用FindWindow方法! [StructLayout(LayoutKind.Sequential)]     public struct ProcessEntry32     {       public uint dwSize;       public uint cntUsage;       public uint th32ProcessID;       public IntPtr th3…
C#根据进程名称获取进程的句柄或C#如何获取其他进程的句柄? 有时候标题名是动态变化的,所以不使用FindWindow方法! [StructLayout(LayoutKind.Sequential)]     public struct ProcessEntry32     {       public uint dwSize;       public uint cntUsage;       public uint th32ProcessID;       public IntPtr th3…
最近有些人在问MFC编程一些要点,有一些句柄的获取.指针的获取是常见的问题,本文将对这些问题做以解释,参考了前人的笔录(见reference),希望能够帮助大家更方便地进行MFC程序开发. 一般我们使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,无论是多文档还是单文档,都存在指针和句柄获取和操作问题.本文中将针对各类句柄的获得.指针的获得以及MFC中常见应用进行阐述并举例. 本文内容索引: ===================================…
枚举进程模块的方法有很多种,常见的有枚举PEB和内存搜索法,今天,先来看看实现起来最简单的枚举PEB实现获取进程模块列表. 首先,惯例是各种繁琐的结构体定义.需要包含 ntifs.h 和 WinDef.h, 此处不再列出,各位看官根据情况自行添加. typedef PPEB (__stdcall *PFNPsGetProcessPeb)(PEPROCESS pEProcess); typedef ULONG   PPS_POST_PROCESS_INIT_ROUTINE; typedef str…
WIN7.WIN8  注册 卸载dll  报错: 模块"xxxx.dll"已加载,但对DllRegisterServer的调用失败,错误代码为 XXXXXXXXX 解决方法: 若为安装,首先要保证XXX.dll在system32中,或者给出DLL的完整路径. 运行  输入 cmd  会显示cmd.exe 右键  “以管理员身份运行” 注册dll  在cmd界面: 输入  regsvr32  %systemroot%/system32/XXX.ocx (XXX.dll) 回车…
具体问题:模块“XXX.dll”加载失败 请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的.DLL文件是否有问题  找不到指定的模块. 1.在安装C++软件的时候,有时候安装失败提示“请确保二进制储存在指定的路径中,或者调试他以检查该二进制或相关的DLL文件”,这个应该是自己的电脑没有安装VC运行库,可以去微软下载安装. 2.还有以下方法. 解决win7运行批处理出错不能注册dll等问题 引用: http://blog.csdn.net/nxeexn/article/detai…
转载:https://www.cnblogs.com/sherlock-merlin/p/10792116.html     https://univasity.iteye.com/blog/805234 #include<iostream> #include<Windows.h> using namespace std; int main() { HANDLE hFile = INVALID_HANDLE_VALUE; hFile = CreateFileA("\\\\…
伪静态重写模块rewrite.dll及httpd.ini文件参考下载 http://www.ledaokj.com/download/rewrite.rar 服务器端开启伪静态,可以查看以下文章<iis6.0如何开启伪静态>.<IIS7如何开启伪静态>…
在我的win10系统上打开某内部网页登录的时候弹出'模块"scrrun.dll"已加载,但对DllRegisterServer的调用失败,错误代码为0x80004005'报错信息,搞了好久都没有 搞好,最后百度找到注册文件“clock.zip”运行其中的批处理文件后成功登陆. 注册文件链接:http://files.cnblogs.com/files/xxlu/clock.zip 注意:在注册的时候要将批处理文件run.bat中clock.ocx组件的地址改为本地绝对地址,博主提供的r…
不知道大家有没有这样的经历:现场实施时测试出一个bug,明明知道某个dll/exe文件只要修改一二行代码即可,但手头没有开发环境,紧急情况下,可以用reflector + reflexil 临时直接修改dll代码,然后重编译,替换原来的文件(当然:代码未混淆的情况下,这个也可以用来搞破解,这不在本文讨论之列) 步骤: 1.Relector 加载相关的dll后,启用Reflexil界面 2.找到需要修改的代码位置,然后参考下图,右击->Replace all with code 3.写新的代码 然…
[环境]Windows 7 / Windows Server 2008 [现象]在文件夹浏览器中不能显示图片缩略图. [错误信息]查系统日志,有如下消息:“模块shimgvw.dll已加载,但找不到入口点DllRegisterServer.(The module shimgvw.dll was loaded but the entry-point DllRegisterServer was not found.)”. [解决办法]打开Windows资源管理器,点击进入: 组织 > 文件夹和搜索选…
yii1 1. 获取控制器名 在控制器中获取控制器名: $name = $this->getId(); 在视图中获取控制器名: $name = Yii::app()->controller->id; 2. 获取动作名 在控制器beforeAction()回调函数中获取动作名: $name = $action->id; 在其他地方获取动作名: $name = $this->getAction()->getId(); 3.视图中获取当前模块ID$this->modul…
Linux的.a..so和.o文件 - chlele0105的专栏 - CSDN博客 https://blog.csdn.net/chlele0105/article/details/23691147 在说明Linux的.a..so和.o文件关系之前,先来看看windows下obj,lib,dll,exe的关系 windows下obj,lib,dll,exe的关系 lib是和dll对应的.lib是静态链接库的库文件,dll是动态链接库的库文件.     所谓静态就是link的时候把里面需要的东西…
1. 用于获取或设置Web.config/*.exe.config中节点数据的辅助类 /**//// <summary> /// 用于获取或设置Web.config/*.exe.config中节点数据的辅助类 /// </summary> public sealed class AppConfig { private string filePath; /**//// <summary> /// 从当前目录中按顺序检索Web.Config和*.App.Config文件.…
public void getSystemStatue() throws EASBizException, BOSException    {        CompanyOrgUnitInfo companyInfo = null; // 当前财务组织        // SystemStatusCtrolUtils 工具类可获取各模块系统状态信息,如当前会计期间,系统是否启用或关闭等信息        SystemStatusCtrolUtils.getCurrentPeriod(null/…
Linux的.a..so和.o文件 - chlele0105的专栏 - CSDN博客 https://blog.csdn.net/chlele0105/article/details/23691147 在说明Linux的.a..so和.o文件关系之前,先来看看windows下obj,lib,dll,exe的关系 https://zh.wikipedia.org/wiki/动态链接库 动态链接库(英语:Dynamic-link library,缩写为DLL)是微软公司在微软视窗操作系统中实现共享函…
想对某个函数下断点,但是记不清楚的函数具体的名字,这个时侯可以使用x命令来列举所有的符号. 命令格式为: x [选项] 模块名字!符号匹配表达式 这里的符号匹配表达式类似dos的文件名匹配表达式,可以用*号和?号做通配符.比如我想列出user32.dll里面所有的以GetWindowT开头的符号,使用命令 0:016>  x user32!GetWindowT*75f50f7b USER32!GetWindowTextA (struct HWND__ *, char *, int)75f4adc…
char text[2014]; GetModuleBaseNameA(GetCurrentProcess(), 0, text, 1024); HMODULE hModule = GetModuleHandleA(text); HMODULE hModule = GetModuleHandleA(NULL); HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, GetCurrentPr…
实际上,这块可以写成汇编,然后做远程注入用 方法 1.通过fs:[30h]获取当前进程的_PEB结构 2.通过_PEB的Ldr成员获取_PEB_LDR_DATA结构 3.通过_PEB_LDR_DATA的InMemoryOrderModuleList成员获取_LIST_ENTRY结构 4.通过_LIST_ENTRY的Flink成员获取_LDR_DATA_TABLE_ENTRY结构,注意:这里的Flink指向的是_LDR_DATA_TABLE_ENTRY结构中的InMemoryOrderLinks成…
0.随便说点 最近因为一些原因一直都没有更新博客,从今天开始要逐渐恢复了,也是对自己的鞭策. 1.本文目标 本文要说在有DLL 和 EXE源码的情况下调试DLL 和 EXE, 工具是VC++2010,相信很多同学都会,肯定也有很多同学不会. 自己也曾经因为不懂怎么调试DLL.ActiveX控件而在调试的时候费很多劲. 今天就来说一说一个简单的调试方法. 2.应用场景 一个DLL:add.dll, 导出了一个函数Add计算两个数的和 一个EXE:useadd.exe,使用add.dll提供导出函数…
反编译工具 Reflector 破解版下载地址:http://pan.baidu.com/s/15UwJo 使用方法:略 反混淆工具De4Dot 开源软件 下载地址http://pan.baidu.com/s/1d4fLt 使用方法: 参见:http://www.cnblogs.com/jio92/p/de4dot.html 修改dell/exe代码工具 reflexil 下载地址 http://pan.baidu.com/s/1sjynuPn 使用方法:安装Reflector,Reflexil…
1. 静态检查windbg 调试工具包中有一个工具symchk.exe, 选项很多, 下面一个简单的用法可以检查一个 test.exe能不能找到与它匹配的PDB: 这是成功的情形. 下面来个失败的作为对比: 2. 如果已经在windbg内部, 可以通过下面的命令检查 最后一行说 MATCH, 肯定没问题. 3. 在windbg中(在VS中不行), 如果你100%确信源代码没有任何改动, 只不过被重新编译了一下.可以通过 .symopt +40 来关闭对GUID的强行检查. 从而load一个不匹配…
我们都知道同一个应用程序的多个实例之间并不会影响各自的变量,虽然他们的地址空间都是被该应用程序的映像内的物理存储器所提交,他们的数据和代码都是指向了该应用程序的映像,但是他们还是不会影响各自的变量,因为采取了copy-on-write机制,当有一个实例去修改共享的那个数据区的时候,那么操作系统会另外分配一个内存块,该内存块就是存放这个实例修改的数据,所以并不会影响其他的应用程序实例. 那么可执行文件或dll的多个实例之间怎么去共享全局数据呢?现在进入我们的主题-----共享节 什么是共享节呢?…
创建MFC应用程序时,可以规定MFC程序的工程名称,假设初始为MFCApp,则此后该应用程序的资源文件名称,继承自CWinApp的那个类,包括.def文件,.odl文件等都会以MFCApp打头. 但是,工程名称MFCApp是可以再编辑成其它名称的,设为MFCAqq.则最后生成的无论是.exe文件,还是.dll文件,或者.lib文件都是以最终的工程名为准的.…
笔者安装的python版本是2.7.6,最近在导入sklearn(版本:0.16.1)的模块时,经常出现DLL load failed的报错,具体截图如下: 解决办法与步骤如下: 由于sklearn的包需要numpy-MKL(而不是numpy),首先需要卸载掉目前电脑上的numpy包 卸载命令: pip uninstall numpy 在非官方的Python包下载网站上下载numpy-MKL:http://www.lfd.uci.edu/~gohlke/pythonlibs/#num0py (选…
一般情况下,我们需要查看一个DLL或EXE中的包含的函数或是依赖的函数之类的信息,可以使用VS自带的工具dumpbin: 可以直接在命令行下输入dumpbin就可以查看他的使用说明,如果未显示,可以先运行VS安装目录下的vcvarsall.bat来设置一下环境变量就可以了 Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp. C:/Documents and Settings/Administrator>"…