Using RUNDLL32.exe to call a function within a dll

Using RUNDLL32.exe to call a function within a dll
        
Rundll32 is a utility included with Windows that allows you to execute an exported DLL-function from a command line.
Consider the following (exported) function in a DLL:

#include <windows.h>

extern "C" __declspec (dllexport) void __cdecl rdl (
   HWND hwnd,        // handle to owner window
   HINSTANCE hinst,  // instance handle for the DLL
   LPTSTR lpCmdLine, // string the DLL will parse
   int nCmdShow      // show state
)
{
  ::MessageBox(0,lpCmdLine,0,0);
}

BOOL APIENTRY DllMain( HANDLE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved)
{
    return TRUE;
}

The function rdl within the dll can now be called using rundll32:

rundll32 c:\path\to\dll\rdl.dll,rdl hallo

Note: the function rdl is specified with __declspec (dllexport). This is needed in order to export the function such that its address can be gotten with GetProcAddress. rundll32 used GetProcAddress. Also, the function rdl is specified with extern "C" and __cdecl so that rdl is not name-mangled (in case it is compiled with a c++ compiler).
Printing an HTML document

rundll32.exe %windir%\system32\mshtml.dll,PrintHTML "C:\x.html"

Note, the document name (at least on my system) needs to be enclosed in quotes.

时间: 2024-10-29 23:00:57

Using RUNDLL32.exe to call a function within a dll的相关文章

rundll32.exe文件详解

平时很常听到有些朋友说:呀,我系统的注册表启动项目有rundll32.exe,系统进程也有rundll32.exe,是不是病毒呀?这是对rundll32.exe接口不了解,其实其原理非常简单,了解并掌握其原理对于我们平时的应用非常有用,特别是后面介绍的一些DLL参数应用技巧,理解了原理我们就能自己挖掘命令参数.一.Rundll32.exe和Rundll.exe的区别    所谓Rundll,我们可以把它猜成两部分,run(运行)和DLL(动态数据库),所以此程序的功能是运行那些不能作为程序那样单

rundll32.exe引起的打印机无法安装故障

Konica C652 彩色数码复合机 安装时报错: 打印机无法安装,请检查驱动驱动程序是否正确. 但驱动是从官网下载,确定无误. 无意间运行 appwiz.cpl 时报错:  rundll32.exe 无法找到. 从同环境机器上拷贝rundll32.exe至问题电脑 c:\windows\system32\下. 再次安装即可正常使用.

关于Rundll32.exe的进程介绍

Rundll32.exe是什么进程? 出现Rundll32.exe错误是怎么回事?又该如何修复被病毒感染的Rundll32.exe呢?Rundll32进程是我们常能见到的一个进程,这个进程常会被病毒所利用,“执行32位的DLL文件”.它的作用是执行DLL文件中的内部函数,这样在进程当中,只会有Rundll32.exe,而不会有DLL后门的进程,这样,就实现了进程上的隐藏. 如果看到系统中有多个Rundll32.exe,不必惊慌,尊龙国际这证明用Rundll32.exe启动了多少个的DLL文件.当

rundll32.exe的相关使用语句

命令列: rundll32.exe shell32.dll,Control_RunDLL 功能: 显示控制面板 命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1 功能: 显示"控制面板-辅助选项-键盘"选项视窗 命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2 功能: 显示"控制面板-辅助选项-声音"选项视窗 命令列: rundll

httpd.exe你的电脑中缺失msvcr110.dll怎么办(WIN2008服务器环境装WAMP2.5出现的问题)

httpd.exe你的电脑中缺失msvcr110.dll怎么办 去微软官方下载相应的文件 1 打开上面说的网址 Download and install, if you not have it already, from: http://www.microsoft.com/en-us/download/details.aspx?id=30679 点击下载,记得选择中文简单然后点击 下载 2 选择相应的文件类型进行下载,如果 你的电脑 是32位就下载x86版. 如果 你的明心是64位就下载x64版

OUTLOOK.EXE错误模块名称: Windows.UI.Xaml.dll

错误应用程序名称: OUTLOOK.EXE,版本: 15.0.4875.1000,时间戳: 0x57fc9641 错误模块名称: Windows.UI.Xaml.dll,版本: 10.0.14393.953,时间戳: 0x58ba5c3d 异常代码: 0xc000027b 错误偏移量: 0x00000000006d611b 错误进程 ID: 0x191c 错误应用程序启动时间: 0x01d2ae038d010d36 错误应用程序路径: C:\Program Files\Microsoft Off

You may experience an access violation when you access an STL object through a pointer or reference in a different DLL or EXE

Symptoms When accessing an STL object created in one DLL or EXE through a pointer or reference in a different DLL or EXE, you may experience an access violation or other serious program errors including the appearance of data corruption or data loss.

看看影音恶意挖矿行为分析

看看影音恶意挖矿行为分析 近日,部分用户出现电脑GPU占用率高,电脑温度升高,风扇噪声增大等问题.具体现象为电脑中C盘可使用空间骤降,且在C盘Ethash文件夹内,发现存在大量的1G左右的垃圾文件:电脑闲置状态时,风扇转速增快,电脑发热增加,GPU使用率达到100%.非闲置状态时,恢复正常.经过远程调试分析发现是看看影音在后台偷偷利用用户电脑的运算资源进行以太币(一种类似比特币的数字货币)挖矿导致. [看看影音的版本和公司信息] 安装看看影音后,会注册组件%APP_DATA%\Video Leg

&ldquo;信誉价格表&rdquo;&mdash;hook007家族木马

  文件简单介绍: 图1 由于windwos系统默认是不显示文件名后缀以及系隐藏文件的,所以一般受害只能看到途中的两个快捷键 "这是价格表"-属性 --指向该文件中的Png.bat批处理文件 图2   "这是属性表"-属性--只想配置文件 图3   简单流程分析: 图4   木马分析: 1.当用户点击"这是价格表"快捷方式时,根据快捷方式属性里面的目标参数,可以看到一个命令行参数C:\WINDOWS\system32\cmd.exe /c png