VB中这样一个链接网页的语句:
  Shell "rundll32.exe url.dll,FileProtocolHandler http://baidu.com"

当时对rundll32.exe这个应用程序很陌生,不知道这句代码的功能是怎么实现的。

(按着米老师的发现问题与解决问题的无缝连接的思想还有就是即学式的方法,从网上获取了一些可参考性的知识,下面是我的小总结。)

1.Rundll32.exe是什么?

rundll32.exe跟自身的英文意思一样,是"执行32位的DLL文件"。它的作用是执行DLL文件中的内部函数,功能就是以命令行的方式调用动态链接程序库。

2.Rundll32.exe跟Rundll.exe的区别?

有的系统中是Rundll32.exe文件而也有的系统中是Rundll.exe文件。他们的区别是:Rundll32.exe文件是执行32位的DLL文件(呼叫32位的动态链接库),而Rundll.exe文件是执行16位的Dll文件(呼叫16位的动态链接库)。

3.Rundll32.exe或Rundll.exe的存储目录在哪?

rundll32.exe及Rundll.exe的正常位置:c:\windows\system32,如果不是在这个位置上则很可能是病毒。

(还有一个就是有好多的病毒利用用户粗心这一特点把跟正常文件很相似的东西弄成病毒迷惑用户,比如rundl132.exe就是一个很好的例子,看清楚了,应该是dll32而不是dl132.)

4.Rundll32.exe命令行下的使用方法:

Rundll32.exe DLLname,Functionname [Arguments] 
  DLLname为需要执行的DLL文件名;Functionname为前边需要执行的DLL文件的具体引出函数;[Arguments]为引出函数的具体参数。

例1:在“开始|运行|输入cmd|进入到Dos窗口|键入:

rundll32.exe user.exe,restartwindows |回车”

运行的结果是电脑重启(注意:尝试前先把其他的程序保存一下哦)

例2:rundll32.exe shell32.dll,Control_RunDLL 
         运行的结果是: 显示控制面板

*******特别需要注意的是Control_RunDLL一定要区分大小写(否则就惨了,我被耍了n遍才明白过来的)*********

5.shell函数与rundll32的完美组合。

由于Rundll不能用来呼叫含返回值参数的Dll,例如Win32API中的 GetUserName(),GetTextFace()等。在Visual Basic中,提供了一条执行外部程式的指令Shell,格式为: 
  Shell “命令列”

  如果能配合Rundll32.exe用好Shell指令,会使VB程式拥有用其他方法难以甚至无法实现的效果:仍以重启为例,传统的方法需要你在VB工程中先建立一个模块,然后写入WinAPI的声明,最后才能在程式中呼叫。而现在只需一句: 
  Shell “rundll32.exe user.exe,restartwindows”     就搞定了!

**************************************************************************************************

后记:从参考资料上能够看到,rundll的功能应该很强大,跟shell函数结合起来用的话Vb中的代码不知道要省多少行,这仅仅是一点皮毛的小理解而已,希望大家也能注意到它,一块研究 ,一块用,一起提高,呵呵!

Rundll32.exe的小理解相关推荐

  1. rundll32.exe文件详解

    一.Rundll32.exe和Rundll.exe的区别 所谓Rundll,我们可以把它猜成两部分,run(运行)和DLL(动态数据库),所以此程序的功能是运行那些不能作为程序那样单独运行的DLL文件 ...

  2. 使用rundll32.exe绕过应用程序白名单(多种方法)

    0x00 前言 本文演示了白名单AppLocker bypass的最常见和最熟悉的技术.我们知道,出于安全原因,系统管理员添加组策略来限制本地用户的应用程序执行.在上一篇文章中,我们讨论了" ...

  3. rundll32.exe和regsvr32.exe

    众所周知,DLL文件是不能独自运行的,需要被进程加载到其地址空间后才能执行. 那怎么运行一个DLL呢? 答案:可以借助Windows所提供的rundll32.exe或regsvr32.exe. run ...

  4. rundll32.exe的用途

    版权声明:CSDN是本Blog托管服务提供商.如本文牵涉版权问题,CSDN不承担相关责任,请版权拥有者直接与文章作者联系解决. 命令列:rundll32.exe user.exe,restartwin ...

  5. 使用Rundll32.exe和Rundll.exe

    福州 Pasic 常用Windows9x的朋友一定对Rundll32.exe和Rundll.exe这两个文件不 会陌生吧,不过,由于这两个程序的功能原先只限于在微软内部使用,因而真正 知道如何使用它们 ...

  6. 从恶意软件获得的新姿势——通过rundll32.exe执行js原理详细分析

    今年7月份,国外研究机构发现了一个比较新型的恶意软件,这个恶意软件不会在系统上安装任何文件,而是藏身在windows的注册表中通过rundll32.exe执行JavaScript代码. 听上去确实很有 ...

  7. Rundll32.exe文件详解(显示我的电脑 取消自动登录)

    winexec(Pchar('StrCommand'),sw_Show);  其中"StrCommand"代表以下命令之一(使用Windows中的运行不要加引号):  " ...

  8. lzg_ad:rundll32.exe进程详述

    Rundll32.exe, 顾名思义,"执行32位的DLL文件".它的作用是执行DLL文件中的内部函数,这样在进程当中,只会有Rundll32.exe,而不会有DLL后门的进程,这 ...

  9. RunDll32.exe 详解及[Windows批处理]清除IE缓存

    Rundll32命令详解 文件作用:执行32位DLL文件中的内部函数 位置:X:(当前系统分区)\windows\system32 命令语法: Rundll32.exe DLLname,Functio ...

  10. explorer.exe rundll32.exe病毒解决方案

    1.网页打开速度突然变慢,彻底杀毒,没有发现.再查看进程,一开始只有rundll32.exe耗cpu资源90%以上,每结束一次进程,网页打开就快些,但需要不断的结束,第一次郁闷!!后来,这个进程不见了 ...

最新文章

  1. 非常详细的sift算法原理解析
  2. 计算机基础操作与应用实训教程,计算机应用基础实训教程の第 3 章 Word 2003 基本操作.pdf...
  3. [ NOI 2002 ] Robot
  4. Pycharm debug出现Qt 错误 Process finished with exit code -1073741819 (0xC0000005)
  5. LeetCode-Remove Duplicates from Sorted Array-从有序数组移除重复-简单逻辑
  6. alert点击确定后跳转_公众号/h5 跳转到小程序填坑指南
  7. Android之TabLayout和ViewPager组合跳转到指定页面
  8. kotlin 二进制_Kotlin程序检查数字是否为二进制
  9. 有关启动图片Launch的设置
  10. 说说windows10自带浏览器Edge的好与不好
  11. (四) Docker 常用帮助命令
  12. 能力提升综合题单 Part 8.7 图的连通性相关
  13. 通过ip查询详细地址
  14. 随机密聊 匿名聊天室程序源码
  15. Smoke Loader、AZORult***通过虚假海啸警报传播到了日本
  16. 从雨天塞车说DevOps,兼修订三步生活法
  17. 第 09 章 基于特征匹配的英文印刷字符识别 MATLAB深度学习实战案例
  18. 计算机组成原理--计算机的运算方法
  19. 如何使用U-Net-train进行语义分段,并在Keras中测试您的自定义数据
  20. 已安装ME,PR队列导出仍无法打开ME

热门文章

  1. 数学规划求解器lp_solve超详细教程
  2. Golang:后台管理系统Revel搭建教程
  3. 打印机基本故障及解决方案
  4. 怎么把mp4转换成html,html5-video – VLC:如何从mp4转换为webm
  5. angular引入ng-zorro中的icon图标方法
  6. 个人推荐讲的非常好的数据结构免费[速成 速成 速成]视频了
  7. 【node进阶】深入浅出websocket即时通讯(二)-实现简易的群聊私聊
  8. Service Worker 学习笔记
  9. uniapp 开发小程序对象传递数据结构封装一层$orig,使组件中v-model绑定value失效
  10. css translate 坐标,CSS3 位移转换 translate3d()translatez()应用实例