当前位置:  编程技术>c/c++/嵌入式

显示任何进程加载的DLL文件的代码

    来源: 互联网  发布时间:2014-10-15

    本文导语:  代码如下:#include #include #include #include int main(int argc, char* argv[]){  char exename[500]; printf("[ENTER EXE FILE NAME]t");scanf("%s",exename);printf("n[YOU ENTER]t%sn",exename);Sleep(3000);//提升当前进程的权限使其有权限对其他进程进行操作HANDLE hToken;LUID sed...

代码如下:

#include
#include
#include
#include
int main(int argc, char* argv[])

char exename[500];
printf("[ENTER EXE FILE NAME]t");
scanf("%s",exename);
printf("n[YOU ENTER]t%sn",exename);
Sleep(3000);
//提升当前进程的权限使其有权限对其他进程进行操作
HANDLE hToken;
LUID sedebugnameValue;
TOKEN_PRIVILEGES tkp;
if ( ! OpenProcessToken( GetCurrentProcess(),
     TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken ) ){
      //WriteToLog("openprocesstoken error");
      return 1;
}
if ( ! LookupPrivilegeValue( NULL, SE_DEBUG_NAME, &sedebugnameValue ) ){
     CloseHandle( hToken );
     //WriteToLog("lookuprivilegevalue error");
     return 1;
}
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Luid = sedebugnameValue;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if ( ! AdjustTokenPrivileges( hToken, FALSE, &tkp, sizeof tkp, NULL, NULL ) ){
     CloseHandle( hToken );
     return 1;
}
//取得目标进程的PID
DWORD pid;
HANDLE snapshot;
snapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
struct tagPROCESSENTRY32 processsnap;
processsnap.dwSize=sizeof(tagPROCESSENTRY32);
for(Process32First(snapshot,&processsnap);Process32Next(snapshot,&processsnap);){
     if(!stricmp(processsnap.szExeFile,exename))
     {
      pid=processsnap.th32ProcessID;
      break;
     }
}
CloseHandle(snapshot);
////////////////////////////////////////
      MODULEENTRY32 pe32;

             // 在使用这个结构之前,先设置它的大小
             pe32.dwSize = sizeof(pe32);

             // 给进程内所有模块拍一个快照
             //276为某进程的ID
             HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,pid);

             if(hProcessSnap == INVALID_HANDLE_VALUE)
             {      
              //建立快照失败
                       return -1; 
        printf("[createtoolhelp32snapshot error]n");
      }

             // 遍历进程快照,轮流显示每个进程的信息
             BOOL bMore = Module32First(hProcessSnap, &pe32);
             while(bMore)
             {      
       printf("n[DLL NAME]t%sn",pe32.szModule);
       printf("[DLL PATH]t%sn",pe32.szExePath);

   
       bMore = Module32Next(hProcessSnap, &pe32);
             }
             // 不要忘记清除掉snapshot对象
             CloseHandle(hProcessSnap);

  
             return 0;
}

    
 
 

您可能感兴趣的文章:

  • 怎么启动一个进程会在进程列表中显示出多个同名进程?
  • 我执行top命令,显示出来所有进程占内存都不超过1%,可是512M内存只剩30多M,为什么? iis7站长之家
  • 【急】hp nuix中ps进程显示不全,无法kill某一进程。大家帮忙看看
  • 小妹请教各位大哥,在unix下,如何显示进程,和kill掉进程?
  • 用ps x 查看进程时如何显示进程的全路径?
  • 如何用ps命令只显示父进程?
  • 怎么只显示自己用户启动的进程,怎么只显示自己用户的目录。
  • 帮帮小妹!如何用命令显示当前进程个数!
  • VC实现A进程窗口嵌入到B进程窗口中显示的方法
  • 什么命令可以显示进程的所有者
  • linux下编程显示所有进程,消息队列,急!!!!!!!!!!
  • 请教进程观察工具top所显示的各字段的意义
  • top命令显示wa的进程占用100%
  • 这个显示是僵尸进程吗?如何处理这样的进程
  • 我执行top命令,显示出来所有进程占内存都不超过1%,可是512M内存只剩30多M,为什么?
  • 一条命令如何将监听端口为1433的进程的相关信息(CPU占用率、PID等)显示出来?
  • 后台进程为什么不显示结果啊?
  • SuSE9上,多线程程序正在运行,用pstack打印堆栈信息,结果导致进程挂起(ps x 命令显示为T状态),为什么
  • 奇怪,root下执行netstat -anp 怎么不显示pid和进程名啊?
  • top 显示的%MEM 是什么意思呢?我把这些值加起来超过了100%,这怎么回事呢?(我运行oracle,它的多个进程加起来就超过了。。。)
  • 关于在QT环境下加载gif图片的问题(可以显示,但是只有使用终端启动可执行文件才能显示,双击执行却不显示)这是为什么?
  • 关于Linux加载Win目录后中文显示
  • 加载驱动后,为什么有时在dev下不能自动显示设备文件?
  • 怎样调整X Window显示的分辨率?怎样加载USB接口的设备?
  • 弱智问题 arm7板 uboot显示正常,超级终端内按键无反应,自动加载uclinux显示乱码,usb串口线的问题还是。。?
  • ubuntu 加载模块不能显示
  • 关于AWT的加载和显示图象的一个问题!
  • 在jsp页面加载时自动调用某个特定的servlet,由servlet查询数据库输出WEB页面返回给jsp显示?
  • Android 游戏引擎libgdx 资源加载进度百分比显示案例分析
  • Android 自定义标题栏 显示网页加载进度的方法实例
  • asp.net上传execl文件后,在页面上加载显示(示例代码)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • gdb的时候代码 next显示的代码乱了
  • 为什么在applet里面显示一个弹出试菜单,不能显示,跟踪可以知道,代码都已经运行,为什么?为什么?
  • windows下写的代码 gb2312 如何转成 LINUX和WINDOWS都可正常显示的代码
  • Android 显示和隐藏输入法实现代码
  • JBUILDER5怎么显示代码行数?
  • css pointer控制在firefox下显示手型的代码
  • QT编辑程序如何显示代码行号
  • Android键盘显示与隐藏代码
  • JQuery实现元素屏幕居中显示的代码
  • 在JB6 中能否设置代码编辑区全屏显示,如果能在哪一项中设置
  • Jquery点击高亮显示的实现代码
  • 高亮显示网页代码工具 Augment.js
  • jsp显示server数据库的内容,如何实现定时更新,给一段代码例子吧,谢谢
  • 从textarea中获取数据之后按原样显示实现代码
  • 用css来控制图片大小显示的实现方法与代码
  • jquery代码-如何显示或删除input域中的默认值
  • Jquery如何实现点击时高亮显示代码
  • 用CSS来控制图片显示大小的代码
  • 关闭显示器软件代码分享
  • 中文显示乱代码紧急!!!!!1
  • 如何在windows下的DOS窗口中显示utf-8字符(CMD命令提示符终端显示utf-8字符)
  • 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 关于Android平台:手机马达驱动提供给android的接口有哪些?
  • windows下cmd命令行显示UTF8字符设置(CHCP命令)
  • 我安装了个linux系统, 发现linux系统的显示器的显示有点小,于是我就在显示器上把大小调了一下,本想着这样会影响xp系统的显示效果,实际上没有应响xp的显示效果,这是为什么?
  • javascript eval换成document.write 显示原型
  • 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 因无意删除一些文件,ubuntu系统无法启动,请求高手远程帮助
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • 不显示删除回复显示所有回复显示星级回复显示得分回复 集群服务器下相同文件夹下文件同时更新[问题点数:100分]
  • linux下nm命令(显示可执行文件的符号信息)介绍以及常见nm命令用法举例
  • 不显示删除回复显示所有回复显示星级回复显示得分回复 ubuntu 安装mysql源码失败,好像是没有找到hostent_data的定义。急~~~~~~~~~~
  • Linux下用ntpdate同步时间及date显示设置时间


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3