截取运行模块地址

std::string GetFilePath()
{
char 
exepath[MAX_PATH];
 std::string 
strdir,tmpdir; 
 memset(exepath,0,MAX_PATH);

GetModuleFileName(NULL,exepath,MAX_PATH);

tmpdir=exepath; 
 strdir=tmpdir.substr(0,tmpdir.rfind(‘\\‘));
strdir
+= "\\";
 return strdir;
}

时间: 2024-10-05 05:07:04

截取运行模块地址的相关文章

LINUX设备驱动程序笔记(二)构造和运行模块

         <一>:设置测试系统 首先准备好一个内核源码树,构造一个新内核,然后安装到自己的系统中.           <二>:HelloWorld模块 #include <linux/init.h> //定义了驱动的初始化和退出相关的函数 #include <linux/module.h> //定义了内核模块相关的函数.变量及宏 MODULE_LICENSE("Dual BSD/GPL"); //该宏告诉内核,该模块采用自由许可

使用import和exec运行模块文件的异同

使用import和exec运行模块文件的异同 实例代码 #script1.py import sys print(sys.platform) x = 'span' print(x*8) 在cmd中 >>> import script1 win32 spanspanspanspanspanspanspanspan >>> exec(open('script1.py').read()) win32 spanspanspanspanspanspanspanspan 看上去毫无

01-构造和运行模块

hello.c #include <linux/module.h> #include <linux/init.h> #include <linux/kernel.h> MODULE_LICENSE("GPL"); static int hello_init(void) { printk(KERN_ALERT "hello_init"); return 0; } static void hello_exit(void) { prin

python2.7中可以使用到的一些模块地址

1.reportlab:由很多部分组成且允许用户使用多种方法创建输出,地址: 下载ReportLab https://pypi.python.org/simple/reportlab/ http://www.reportlab.com/software/opensource/rl-toolkit/download/ 安装后释放文件会在Lib\site-packages\下面,程序能够自己找到 2.py2exe:用来将.py的python文件创建成windows下通用的exe文件,地址: 下载地址

程序日志-应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYSTEM SID (S-1-5-18)授予针对 CLSID 为 {D63B10C5-BB46-4990-A94F-E40B9D520

应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYSTEM SID (S-1-5-18)授予针对 CLSID 为 {D63B10C5-BB46-4990-A94F-E40B9D520160}.APPID 为 {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} 的 COM 服务器应用程序的 本地 激活 权限.此安全权限可以使用组件服务管理工具进行修改. 根据

第三讲扩展,VA,RVA,FA(RAW),模块地址的概念

一丶VA概念 VA (virtual Address) 虚拟地址的意思 ,比如随便打开一个PE,找下它的虚拟地址 这边都是. 二丶模块地址(image Base) 模块地址,就是exe加载到内存的时候,所在的地址, 比如MZ位置,在那个位置,那么对应模块地址就是这个位置 在OD中的内存中查看就是PE头 三丶RVA(relative Virtual Address) 相对虚拟地址偏移 假设我们找一个虚拟地址 VA = 0X4001200   (虚拟地址) 那么算出他的相对偏移 那么我们就要看他属于

ldd3-2 构造和运行模块:Hello World模块笔记

实验环境: 按照之前的搭建方法,已经在Ubuntu 5.04版本上构建了linux原始的2.6.10版本内核树: GCC是用的安装镜像自带的版本: 一切准备就绪后对虚拟机做了快照,防止内核损坏: 因为Ubuntu 5.04虚拟机下编程很麻烦,所以编码和调试都不在虚拟机下运行了: 编辑在windows下运行,然后把代码文件通过Xftp传输到虚拟机里: 调试的话通过Xshell: 笔记基本是按照书上小结的标题来的,每个标题能做实验的就做实验,理论性的就小结一下,不易过多记忆,因为没代码实践,理论也理

linux设备驱动第二篇:构造和运行模块

上一篇介绍了linux驱动的概念,以及linux下设备驱动的基本分类情况及其各个分类的依据和差异,这一篇我们来描述如何写一个类似hello world的简单测试驱动程序.而这个驱动的唯一功能就是输出hello world. 在编写具体的实例之前,我们先来了解下linux内核下调试程序的一个重要函数printk以及几个重要概念. printk类似c语言的printf,是内核中输出打印信息的函数.以后驱动调试中的重要性不言而喻,下面先做一个简单介绍. printk的级别 日志级别一共有8个级别,pr

ldd3-2 构造和运行模块:环境搭建

编程环境搭建: 因为ubuntu 12.04的内核版本已经是3.x,而目前一些讲解内核驱动的书都是2.6.x. 嵌入式开发的版本一般都是基于3.14移植的,因为嵌入式是跑在开发板上的,所以开发驱动没有问题.但是教材的例子一般都是基于PC机的2.6.x版本,虽然内核内部接口相对稳定,但是我也不太清楚.至于低版本的内核驱动是否直接运行在高版本的Ubuntu上,我也不是太了解这里面的对应关系.为了排除无关的干扰,决定虚拟机安装个Ubuntu 10.04 32位,它对应的内核版本是2.6.32-21,这