- /*
- * 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;
- }
相关推荐
从爱好者到工程师:如何低成本体验RFSoC ZU47DR?性能实测与避坑指南
本文详细介绍了如何低成本体验赛灵思RFSoC ZU47DR芯片,包括二手开发板选购、租赁服务、精简开发环境搭建等实用方案。通过性能实测与避坑指南,帮助爱好者和工程师在有限预算下充分利用这款集成了ARM处理器和FPGA的高性能芯片,降低开发门槛。
Rundll32.exe参数传递问题解决方法
#include extern "C" __declspec(dllexport) void F1(int num){ CString str; str.Format("%d",num); AfxMessageBox(str);} 本人曾经碰到一个问题,就是按照网上搜索到的说明,Rundll32的用法为:rundll32 DllName,FunctionNa
空地多无人平台协同路径规划复现:从建模到Matlab仿真全解析
路径规划是机器人领域的核心基础技术,从单机避障到多平台协同,问题复杂度显著提升。空地协同规划融合无人机与无人车的异构优势,通过将地图分层建模为空中与地面栅格,并采用A*算法生成初始路径、B样条平滑以及改进遗传算法进行任务分配与时间同步优化,能够有效处理几何约束、运动学约束和避碰约束等。该技术广泛应用于区域巡逻、目标搜索、物资转运等任务场景,也是高校论文复现和工程仿真的常见课题。本文从问题建模、算法设计到Matlab代码结构,系统梳理了一套空地多无人平台协同路径规划的复现思路,同时给出坐标系校准、遗传算法收敛
Rundll32
Rundll32这个运行DLL的实用工具(Rundll32.exe)是包含在Windows中的,它能让你去调用从一个32位DLL中导出的函数。但是那些被调用的函数必须遵循以下语法规则:void CALLBACK EntryPoint( HWND hwnd, // 父窗口的句柄 HINSTANCE hinst, // DLL的实例句柄 LPTSTR lpCmdLine, /
51单片机-点亮LED和蜂鸣器
ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。ULN2003是大电流驱动陈列,多用于单片机、只能仪表、PLC、数字量输出卡等控制电路中。可直接驱动蜂鸣器、继电器等负载。void delay(u16 i) // i等于1大约10uswhile(i--);//取反,高低电平不断变化,产生脉冲delay(10);// 周期200us。
PLc S7-200 smart如何使用Modbus 485通讯传输接收数据
西门子在 STEP 7-Micro/WIN SMART 中正式推出 Modbus RTU 主站协议库(西门子标准库指令)。使用 Modbus RTU 主站指令库,可以读写 Modbus RTU 从站的数字量、模拟量 I/O 以及保持寄存器,从而实现PLC通过modbus方式控制其他器件。提示:以下是本篇文章正文内容,下面案例可供参考。
打开方式对话框 及 RUNDLL32(RUNDLL)的使用
转自:http://www.cnblogs.com/suiyingjie/archive/2006/08/07/469984.html 在VC中调用“打开方式...”(OPEN WITH...)对话框 如果执行ShellExecute函数打开文件时,文件没有指定相应的打开方式,则可以使用如下函数调用“打开方式...”对话框。 其中strName是文件名,pszFolder是路径. i
光猫桥接后网速不升反降?可能是你的路由器在“偷懒”!
本文详细分析了光猫桥接后网速不升反降的常见原因,包括路由器性能不足、MTU/MSS值设置错误等,并提供了四个关键排查步骤和路由器选购指南。通过优化PPPoE拨号设置和硬件配置,帮助用户解决网速下降问题,提升家庭网络性能。
VC模仿Rundll32.exe
/* * FileName: my_Rundll32.cpp * Creator: 冷却 * Date: 2009年10月7日 * Comment: 模仿Windows里的一个名为Rundll32.exe的小工具 */ #include #pragma comment(linker, "/subsystem:windows") typedef v
智能车图像处理0-图像处理整体框架思路
1.总体框架如上所示,具体代码请查看后续文章。2.因为参与竞赛时间是大二,所以在编程中有许多不规范的地方(如变量的命名),大家见谅。3.原创文章,请勿侵权=-=
拓竹P1S封神玩法|AI图生3D+精准修改全攻略,打孔/挖盖再也不用瞎琢磨!
AI图生3D建模结合后期修改,让拓竹P1S用户轻松实现创意打印。文章详细介绍了从照片拍摄、AI模型生成到后期修改的全流程:使用腾讯混元3D或Tripo3D快速生成3D模型,通过Blender或Fusion360进行精准打孔、挖盖子等修改,最后在OrcaSlicer中优化切片参数适配P1S打印。重点解决了AI模型无法直接打印的问题,提供了壁厚控制、孔径调整等实用技巧,并针对常见打印问题给出解决方案,帮助新手实现从AI生成到成品打印的无缝衔接。
dll 调用exe_盘点RUNDLL32.EXE的多种滥用方式及检测特征
0x00 前言在进行威胁狩猎的过程中,如果想要找到恶意软件,首先需要对平台和操作系统具有一定的了解。如果想要甄别合法软件和恶意软件,首先必须明确哪些是合法的。作为一个具有30多年历史之久的操作系统,由于Windows的复杂性,往往使我们很难实现上面这一点。也正因如此,恶意软件作者通常会编写恶意软件,模仿合法的Windows进程。因此,我们可能会看到恶意软件伪装成svchost.exe、r...
【AI大模型】核心基石:Transformer架构入门通俗完整解读
文章摘要: Transformer架构是AI大模型(如GPT、Llama等)的核心基石,彻底颠覆了传统RNN/LSTM的逐字计算模式,通过自注意力机制实现全局并行运算和长文本语义理解。本文用通俗语言拆解Transformer的核心模块:位置编码保留语序、多头注意力捕捉上下文关联、掩码机制确保生成逻辑、残差连接稳定训练,并搭配极简PyTorch代码演示Decoder架构的逐字生成过程。Transformer的并行性、可堆叠性和全局注意力优势,使其成为千亿参数大模型的基础。理解Transformer是掌握大模型
最近发现的一种浏览器劫持木马
今天发现IE浏览器总是被修改成:http://www.139999xxxx.com,然后重定向到一个随机的网页,模仿hao123的一个网页导航网站。通过各种杀毒软件,都没报告有病毒。 使用ProcessExplore查看系统进程,会发现IE进程成为了rundll32.exe的子进程,自然觉得蹊跷,查看进程属性发现: "C:\WINDOWS\system32\rundll32.exe" "...
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
win10 跳过U8环境检测的IE WebControls.rar
win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。
rundll32.exe和regsvr32.exe
众所周知,DLL文件是不能独自运行的,需要被进程加载到其地址空间后才能执行。 那怎么运行一个DLL呢? 答案:可以借助Windows所提供的rundll32.exe或regsvr32.exe。 rundll32.exe 通过rundll32.exe可以直接调用DLL的导出函数来执行功能。 命令行:rundll32.exe DllName,FuncName [Arguments] 但被指定的导出函数有格式要求,导出函数的格式如下,函数参数列表中的pCommand就是通过[Arguments]传入的。 void
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
Rundll32.exe使用方法大全
winexec(Pchar('StrCommand'),sw_Show); 其中"StrCommand"代表以下命令之一(使用Windows中的运行不要加引号): "rundll32 shell32,Control_RunDLL" - 运行控制面板 "rundll32 shell32,OpenAs_RunDLL" - 打开"打开方式"窗口 "rundll32 shell32,ShellAboutA...
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
什么是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
220



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



