使用rundll32.exe运行dll函数
rundll32 petya.dll, #1
该方法运行dll的第一个方法?
我们知道windows下dll是没办法独立运行的,但是微软提供了rundll32.exe用于运行dll。
先测试一下:运行“Rundll32.exe shell32.dll,RestartDialog”,会弹出重启对话框。同样这种方式可以打开windows系统其他功能。
下面看一下如何定义自己的dll让rundll32.exe运行。
微软给出的dll函数原型如下:
void CALLBACKEntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);
hwnd - window handle that should be used as the owner window forany windows your DLL createshinst - your DLL's instance handlelpszCmdLine - ASCIIZ command line your DLL should parsenCmdShow - describes how your DLL's windows should be displayed
自定义的测试dll如下:
extern "C" _declspec(dllexport) void __cdecl rundll32dllfun(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine,
int nCmdShow)
{
MessageBox(NULL,"TEST",lpszCmdLine,MB_OK);
return;
}
生成动态库rundll32dll.dll。
运行:
rundll32.exe "E:\demo\rudll32dll\Release\rudll32dll.dll",rundll32dllfun
弹出了熟悉的对话框,说明调用成功。
同时可以传入参数,运行:
rundll32.exe "E:\demo\rudll32dll\Release\rudll32dll.dll",rundll32dllfun 888
弹出了对话框,并且888显示了对话框上面,说明参数也可以传递了,其中参数在lpszCmdLine中获取。
运行命令说明:rundll32.exe "xxx.dll",dllfun parameter
这样我们就可以开发dll作为应用程序来运行了,在进程中只能看到rundll32.exe,需通过进程查看工具查看运行了哪个dll。
rundll32.exe在那里4位系统中的位置说明:
windows/system32/rundll32.exe对应调用64位dll
windows/SysWoW64/rundll32.exe对应调用32位dll
微软给出的参考文章如下:http://support2.microsoft.com/kb/164787
使用rundll32.exe运行dll函数相关推荐
- 讹传的Win7睡眠(待机)快捷方式“rundll32.exe powrprof.dll,SetSuspendState 0,1,0”
1,SetSuspendState不是为rundll32设计的.无法仅用一行rundll32睡眠.可以先取消休眠选项--,那是另话. 2,想仅用一行rundll32休眠,如下即可,不必带参数. run ...
- Rundll32.exe 调用Dll
rundll32.exe dll 路径 , 函数名 参数 rundll32.exe dll 路径 , #序号 参数 转载于:https://www.cnblogs.com/DeeLMind/p/ ...
- QT如何生成Release版本(得到exe运行DLL)
1.点击左侧工具栏的"项目",在"构建设置"中,将"编辑构建设置"更改为"Release".特别要注意,"概要 ...
- python 打包exe 运行dll load failed_Python ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。...
运行Python代码出现: ImportError: DLL load failed: %1 不是有效的 Win32 应用程序. 解决方法:去下载与你所安装的Python版本对应的pywin32并安装 ...
- rundll32.exe文件详解
一.Rundll32.exe和Rundll.exe的区别 所谓Rundll,我们可以把它猜成两部分,run(运行)和DLL(动态数据库),所以此程序的功能是运行那些不能作为程序那样单独运行的DLL文件 ...
- Rundll32.exe文件详解(显示我的电脑 取消自动登录)
winexec(Pchar('StrCommand'),sw_Show); 其中"StrCommand"代表以下命令之一(使用Windows中的运行不要加引号): " ...
- lzg_ad:rundll32.exe进程详述
Rundll32.exe, 顾名思义,"执行32位的DLL文件".它的作用是执行DLL文件中的内部函数,这样在进程当中,只会有Rundll32.exe,而不会有DLL后门的进程,这 ...
- 使用rundll32.exe绕过应用程序白名单(多种方法)
0x00 前言 本文演示了白名单AppLocker bypass的最常见和最熟悉的技术.我们知道,出于安全原因,系统管理员添加组策略来限制本地用户的应用程序执行.在上一篇文章中,我们讨论了" ...
- rundll32.exe的用途
版权声明:CSDN是本Blog托管服务提供商.如本文牵涉版权问题,CSDN不承担相关责任,请版权拥有者直接与文章作者联系解决. 命令列:rundll32.exe user.exe,restartwin ...
- 可疑进程描述(二)----rundll32.exe进程详述
Rundll32.exe, 顾名思义,"执行32位的DLL文件".它的作用是执行DLL文件中的内部函数,这样在进程当中,只会有Rundll32.exe,而不会有DLL后门的进程,这 ...
最新文章
- c#调用java开发的webservice_用C#.NET调用Java开发的WebService传递int,double问题
- 史上最全的CSS hack方式一览(转)
- jackson 问题定位
- C++又一坑:动态链接库中的全局变量
- C++ Data语意学
- android AtomicBoolean类的使用
- 程序员必知的8大排序(四)-------归并排序,基数排序(java实现)
- Windows Mobile logo测试介绍
- ubuntu的网络配置
- 基于 MaxCompute 的实时数据处理实践
- 不要在 foreach 循环里进行元素的 remove / add 操作
- 【金猿投融展】Techsun天正聚合——联接品牌与人
- SQL数据库学习之路(一)
- (转)yolov3运行及保存检测视频(包括摄像头)
- 【WebStorm学生认证】如何用学生邮箱进行JetBrains学生认证
- 2021 ICPC Jinan C Optimal Strategy
- 明星艺人宣传推广的有效方案有哪些呢?
- HTML5七夕情人节表白网页制作【樱花雨+爱心3D相册】HTML+CSS+JavaScript
- PGCrypto 加密组件使用
- 分享几个IP获取地理位置的API