- /*
- * FileName: my_Rundll32.cpp
- * Creator: 冷却
- * Date: 2009年10月7日
- * Comment: 模仿Windows里的一个名为Rundll32.exe的小工具
- */
- #include <windows.h>
- #pragma comment(linker, "/subsystem:windows")
- typedef void (*EntryPoint)(
- HWND hwnd, // handle to owner window
- HINSTANCE hinst, // instance handle for the DLL
- LPTSTR lpCmdLine, // string the DLL will parse
- int nCmdShow // show state
- );
- int WINAPI WinMain(
- HINSTANCE hInstance, // handle to current instance
- HINSTANCE hPrevInstance, // handle to previous instance
- LPSTR lpCmdLine, // command line
- int nCmdShow // show state
- )
- {
- if ( strlen(lpCmdLine)==0 )
- {
- return -1;
- }
- char* buf=lpCmdLine;
- char* tmp=NULL;
- bool haveArg=true;
- int n,n1;
- int len = strlen(buf);
- tmp = strchr(buf, ',');
- if ( tmp == NULL )
- {
- return -1;
- }
- int commaPos = (tmp-buf);
- int spacePos;
- tmp = strchr(buf, ' ');
- if ( tmp == NULL )
- {
- spacePos = len;
- haveArg = false;
- }
- else
- {
- spacePos = (tmp-buf);
- }
- char* dllName=NULL;
- char* funName=NULL;
- char* arguments=NULL;
- dllName = new char[commaPos+1];
- funName = new char[spacePos-commaPos];
- if ( haveArg )
- {
- arguments = new char[len-spacePos];
- }
- else
- {
- arguments = new char[1];
- strcpy(arguments, "");
- }
- for ( n=0; n<commaPos; n++ )
- {
- dllName[n] = buf[n];
- }
- dllName[commaPos]=0;
- for ( n1=0,n=(commaPos+1); n<spacePos; n1++,n++ )
- {
- funName[n1] = buf[n];
- }
- funName[spacePos-commaPos-1]=0;
- if ( haveArg )
- {
- for ( n1=0,n=spacePos+1; n<len; n1++,n++)
- {
- arguments[n1] = buf[n];
- }
- arguments[len-spacePos-1]=0;
- }
- //这部分为核心部分,其余的均是为了解析参数
- HINSTANCE dll_handle = LoadLibrary(dllName);
- if ( dll_handle != NULL )
- {
- EntryPoint my_fun = (EntryPoint)GetProcAddress(dll_handle, funName);
- if ( my_fun != NULL )
- {
- my_fun((HWND)hInstance, dll_handle, arguments, nCmdShow);
- }
- else
- {
- MessageBox(0,"丢失条目!",0,0);
- }
- }
- else
- {
- MessageBox(0,"找不到指定的模块!",0,0);
- }
- FreeLibrary(dll_handle);
- //
- delete[] dllName;
- delete[] funName;
- if ( haveArg )
- {
- delete[] arguments;
- }
- return 0;
- }
相关推荐
开发框架Furion之WebApi+SqlSugar (一)
MyFurion.Model项目中,通过Nuget添加Furion、Furion.Extras.DatabaseAccessor.SqlSugar、Furion.Extras.ObjectMapper.Mapster、SqlSugarCore,同时添加对项目MyFurion.Unility的引用。在MyFurion.Start项目中,通过Nuget添加 AspNetCoreRateLimit、System.Linq.Dynamic.Core,同时添加对项目MyFurion.Application的引用。
Rundll32.exe参数传递问题解决方法
#include extern "C" __declspec(dllexport) void F1(int num){ CString str; str.Format("%d",num); AfxMessageBox(str);} 本人曾经碰到一个问题,就是按照网上搜索到的说明,Rundll32的用法为:rundll32 DllName,FunctionNa
AI图像识别在临电配电箱安全检测中的应用与实践
计算机视觉与AI图像识别技术正逐步改变传统工业检测方式。通过深度学习模型如YOLOv5和ResNet,系统能自动识别设备元件并分析其状态,大幅提升检测效率和准确性。这种技术特别适用于需要严格遵循行业标准的场景,如临电配电箱的安全检测。将《施工现场临时用电安全技术规范》等条文转化为可量化的算法,AI系统能自动检查PE线连接、漏保功能等关键项目。实际应用表明,此类解决方案可使电气事故率下降90%以上,同时检测耗时缩短80%,为工地安全提供了智能化保障。
Rundll32
Rundll32这个运行DLL的实用工具(Rundll32.exe)是包含在Windows中的,它能让你去调用从一个32位DLL中导出的函数。但是那些被调用的函数必须遵循以下语法规则:void CALLBACK EntryPoint( HWND hwnd, // 父窗口的句柄 HINSTANCE hinst, // DLL的实例句柄 LPTSTR lpCmdLine, /
单目标跟踪算法及其复现过程---SiamFC(一)
在test.py文件中,就是利用训练出来的模型进行测试,需要更改预训练模型的路径,测试集的路径,以OTB100为例,最后输出的是对每一帧目标位置的坐标点。代码如下:首先需要下载got10k官方库,只需要在终端输入(注意:在终端安装各种库的时候不能使用网络代理),在环境已经配置到的情况下,只需要该其中的路径和就可以运行。这个系列博客仅为了记录各目标跟踪算法的复现(大多为跑通大佬们实现的代码),包括其中出现的很多问题和错误,学到的新知识等等。解决,而且只使用在线的方法,限制了他们可以学习的模型的丰富性。
VisionMaster Qt二次开发:图像获取、COM组件渲染与本地化存储实战
本文详细介绍了基于VisionMaster进行Qt二次开发的核心实战流程,涵盖环境搭建、方案加载、图像数据获取、COM组件渲染与本地化存储。重点解析了如何通过COM组件在Qt界面中实时显示图像,以及将VM图像数据转换为QImage并保存为本地文件的关键步骤与常见问题,为工业视觉项目开发提供稳定高效的解决方案。
打开方式对话框 及 RUNDLL32(RUNDLL)的使用
转自:http://www.cnblogs.com/suiyingjie/archive/2006/08/07/469984.html 在VC中调用“打开方式...”(OPEN WITH...)对话框 如果执行ShellExecute函数打开文件时,文件没有指定相应的打开方式,则可以使用如下函数调用“打开方式...”对话框。 其中strName是文件名,pszFolder是路径. i
13、核心网络模块:VyOS 设备配置实战
本文详细介绍了如何使用 Ansible 核心网络模块对 VyOS 虚拟设备进行自动化配置,涵盖环境搭建、变量设置、任务编写、playbook 运行及配置验证全过程。通过实际案例展示了 Ansible 在网络设备管理中的强大功能,包括多设备支持、模板化配置、备份回滚等优势,并提供了最佳实践建议与未来发展趋势分析,帮助读者提升网络运维效率。
VC模仿Rundll32.exe
/* * FileName: my_Rundll32.cpp * Creator: 冷却 * Date: 2009年10月7日 * Comment: 模仿Windows里的一个名为Rundll32.exe的小工具 */ #include #pragma comment(linker, "/subsystem:windows") typedef v
华为OD机考2025B卷 - 报文响应时间(Java & Python& JS & C++ & C )
华为OD机考2025B卷 - 报文响应时间
【WLAN】【调试】再谈如何使用Wireshark解密WiFi数据包——使用TK信息
- 本文介绍了一种wireshark使用TK信息解密空口报文的方式,该方式对是否有关联过程的报文没有要求。
dll 调用exe_盘点RUNDLL32.EXE的多种滥用方式及检测特征
0x00 前言在进行威胁狩猎的过程中,如果想要找到恶意软件,首先需要对平台和操作系统具有一定的了解。如果想要甄别合法软件和恶意软件,首先必须明确哪些是合法的。作为一个具有30多年历史之久的操作系统,由于Windows的复杂性,往往使我们很难实现上面这一点。也正因如此,恶意软件作者通常会编写恶意软件,模仿合法的Windows进程。因此,我们可能会看到恶意软件伪装成svchost.exe、r...
Xilinx高级调试方法--远程调试
本文主要介绍Xilinx的一些高级调试方法,以及如何使用Xilinx的相关IP。
最近发现的一种浏览器劫持木马
今天发现IE浏览器总是被修改成:http://www.139999xxxx.com,然后重定向到一个随机的网页,模仿hao123的一个网页导航网站。通过各种杀毒软件,都没报告有病毒。 使用ProcessExplore查看系统进程,会发现IE进程成为了rundll32.exe的子进程,自然觉得蹊跷,查看进程属性发现: "C:\WINDOWS\system32\rundll32.exe" "...
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
rundll32.exe和regsvr32.exe
众所周知,DLL文件是不能独自运行的,需要被进程加载到其地址空间后才能执行。 那怎么运行一个DLL呢? 答案:可以借助Windows所提供的rundll32.exe或regsvr32.exe。 rundll32.exe 通过rundll32.exe可以直接调用DLL的导出函数来执行功能。 命令行:rundll32.exe DllName,FuncName [Arguments] 但被指定的导出函数有格式要求,导出函数的格式如下,函数参数列表中的pCommand就是通过[Arguments]传入的。 void
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
Rundll32.exe使用方法大全
winexec(Pchar('StrCommand'),sw_Show); 其中"StrCommand"代表以下命令之一(使用Windows中的运行不要加引号): "rundll32 shell32,Control_RunDLL" - 运行控制面板 "rundll32 shell32,OpenAs_RunDLL" - 打开"打开方式"窗口 "rundll32 shell32,ShellAboutA...
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
什么是rundll32.exe,为什么运行?
You are no doubt reading this article because you’ve looked in task manager and wondered what on earth all those rundll32.exe processes are, and why they are running… So what are they? 毫无疑问,您阅读本文是因为您...
RUNDLL32简述
一、操作系统 Windows 95/98/ME提供rundll.exe和rundll32.exe,前者用来处理16位的DLL,后者用来处理32位的DLL,而NT/2000/XP/2003则只提供rundll32.exe。除此之外,两个程序的行为没什么不同。二、命令行格式 RUNDLL32.EXE , 例如:RUNDLL32.EXE MyDll.DLL,TheFunction Hello
rundll32.exe
Rundll32.exe是什么?顾名思意,“执行32位的DLL文件”。它的作用是执行DLL文件中的内部函数,这样在进程当中,只会有Rundll32.exe,而不会有DLL后门的进程,这样,就实现了进程上的隐藏。如果看到系统中有多个Rundll32.exe,不必惊慌,这证明用Rundll32.exe启动了多少个的DLL文件。当然,这些Rundll32.exe执行的DLL文件是什么,我们都可以从系统自
regsvr32.exe 与rundll32.exe在批处理中的使用
本人在网上流浪了一下午的所得。先感慨一下。曾经。有一份资料放在我面前。我没有好好的珍惜。等到失去才追悔莫及。查资料时最悲哀的事莫过于此。。。还是讲点实际的吧。在给出这连个命令的解释前。先说下自己的体会。找与程序相关的东西的时候。不要输入什么Rundll32.exe的详解,教程之类。而应该输入Rundll32.exe shell.dll 。这样查处来的有效信息多多了。而且实用。这招满管用的。嘿嘿。。
Rundll32.exe 如何运行dll中的函数
1.概述 winddows的DLL中的函数是可以直接用Rundll32.exe 运行的。但dll导出函数要符合一定格式。 英文原版本如下: Rundll32 The Run DLL utility (Rundll32.exe) included in Windows enables you to call functions exported from a 32-bit ...
Rundll32.exe和Rundll.exe的区别
Rundll32.exe和Rundll.exe的区别 所谓Rundll.exe,可以把它分成两部分,Run(运行)和DLL(动态链接库),所以,此程序的功能是运行那些不能作为程序单独运行的DLL文件。而Rundll32.exe则用来运行32位DLL文件。Windows 2000/XP都是NT内核系统,其代码都是纯32位的,所以在这两个系统中,就没有rundll.exe这个程序。 相反,Window
rundll32.exe介绍和使用方法
1. 动态链接库函数启动器——Rundll32 经常听到有些朋友说:呀!系统的注册表启动项目有rundll32.exe,系统进程也有rundll32.exe,是不是病毒呀?其实,这是对 rundll32.exe接口不了解,它的原理非常简单,了解并掌握其原理对于我们平时的应用非常有用,如果能理解了原理,我们就能活学活用,自己挖掘 DLL参数应用技巧。2. Rundll32.exe和Run
rundll32.exe 详解
rundll32.exerundll32.exe,rundll32.exe,系统进程rundll32 - rundll32.exe - 进程信息进程文件: rundll32 或者 rundll32.exe进程名称: Microsoft Rundll32描述:rundll32.exe用于在内存中运行DLL文件,它们会在应用程序中被使用。这个程序对你系统的正常运行是非常重要的。注
使用Rundll32.exe和Rundll.exe(转程式设计技术)
使用Rundll32.exe和Rundll.exe(转程式设计技术) 本帖版权归原作者,其它网站转载须注明出处,传统媒体转载须事先与原作者和e龙西祠胡同[http://www.xici.net]联系。 作者: yagami 发表日期: 2001-02-05 10:56:17 黑客也是侠》 使用Rundll32.exe和Rundll.exe 常用Windows9x的朋友一定对Rundll32
1万+



被折叠的 条评论
为什么被折叠?



