首页
社区
课程
招聘
[原创]动手给音速启动加点动力、
发表于: 2011-3-25 11:53 15738

[原创]动手给音速启动加点动力、

2011-3-25 11:53
15738

http://www.52pojie.cn/thread-84483-1-1.html
成品
动手给音速启动加点动力、

音速启动这玩艺我也用了好几年了、昨天上官网发现作者也很久不更新了- -
习惯了还是舍不得放弃,可是每当用它打开很多文件夹的时候,任务管理器里的explorer进程多到让人感觉蛋疼,今天我就动手来给他加点动力,让它打开文件夹的时候不再这么蛋疼。
原理是HookVB的rtcShell,执行我们指定的处理流程。
VB 里的Shell函数执行的这条命令,调用参数自己猜(=w=微软自然没有那么好心)、看了几个调用以后猜测应该是2个参数,第一个参数指向一个pParam结构体,第二个总是1(类似于SW_SHOW么?)

看一看调用
0012F658   00605B79  返回到 VStart_-.00605B79 来自 MSVBVM60.rtcShell
0012F65C   0012F74C
0012F660   00000001

rtcShell入口两个变量、
0012F664   0012F7E0
0012F668   0012F864
0012F66C   00000001
0012F670   00630069  VStart_-.00630069
0012F674   0049006B  VStart_-.0049006B
0012F678   0064006E  VStart_-.0064006E

我猜测的结构体信息
typedef struct
{
        DWORD dwType;
        DWORD pSelf;
        PWCHAR pCommand;
}rtcParam;
函数类型
typedef HMODULE (WINAPI __pfnrtcShell)(rtcParam* pParam,DWORD unknow);
Hook以后用OutputDebugString格式化一些参数变量、然后多调用几次、寻找规律。

 	char temp[MAX_PATH];
	sprintf(temp,"call from: 0x%.8X\nType:0x%X",RetAddr,pParam->pSelf);
 	OutputDebugString(temp);
 	OutputDebugStringW(pParam->pCommand);

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (24)
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
2
这个玩意儿我也用了四五年了,呵呵,工具太多,全靠它呢~
2011-3-25 11:58
0
雪    币: 29214
活跃值: (7719)
能力值: ( LV15,RANK:3306 )
在线值:
发帖
回帖
粉丝
3
任务管理器里的explorer进程多到让人感觉蛋疼

楼主指的是explorer.exe内存占用太多么
2011-3-25 12:25
0
雪    币: 609
活跃值: (237)
能力值: ( LV12,RANK:441 )
在线值:
发帖
回帖
粉丝
4
进程太多、用的Shell("Explorer.exe XXX")的形式、打开一个文件夹就创建一个进程
2011-3-25 12:33
0
雪    币: 29214
活跃值: (7719)
能力值: ( LV15,RANK:3306 )
在线值:
发帖
回帖
粉丝
5
xpsp2 VStart 5.0 Build 2009.7.16 无论打开多少个文件夹都只有一个进程.
2011-3-25 12:40
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
6
膜拜发哥, 全用 start - run.
为啥文章最后还要帖一张图呀...
2011-3-25 12:51
0
雪    币: 609
活跃值: (237)
能力值: ( LV12,RANK:441 )
在线值:
发帖
回帖
粉丝
7
Win7上很明显的……


个人爱好……啊哈哈哈……
2011-3-25 12:55
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8

图片不错  支持下~
2011-3-25 14:04
0
雪    币: 247
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这个不是vstart的问题,是系统的设置问题
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer下的
DesktopProcess值为1的话,打开文件夹就会多一个explorer.exe
2011-3-25 14:54
0
雪    币: 609
活跃值: (237)
能力值: ( LV12,RANK:441 )
在线值:
发帖
回帖
粉丝
10
恩、不过能用一个进程解决的话用创建新进程的方法肯定是要更加浪费时间和内存的。而且创建进程这件事是肯定的、只不过通过程序间通信最后一个进程自己退出了而已,另外我这样打开比较快……
2011-3-25 17:07
0
雪    币: 437
活跃值: (110)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
11
win7下确实是多个explorer.exe进程,我还纳闷哪来的这些东西
2011-3-25 20:05
0
雪    币: 437
活跃值: (110)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
12
难道是我人品有问题吗?
error C2065: 'SHOpenFolderAndSelectItems' : undeclared identifier
2011-3-25 20:13
0
雪    币: 437
活跃值: (110)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
13
我的是绿色版的vc6,自带的sdk是低版本的,是不是这个问题啊
2011-3-25 20:14
0
雪    币: 261
活跃值: (83)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
14
很棒的理解。
2011-3-25 20:26
0
雪    币: 27
活跃值: (127)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
15
图片不错
2011-3-25 20:44
0
雪    币: 1580
活跃值: (72)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
以前用过,现在不用了!
2011-3-25 20:56
0
雪    币: 242
活跃值: (453)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
18
发哥?跟着学习发哥 (?) 好像不是发哥
不过我觉得windows任务栏里自定义个目录的工具栏更好用...
2011-3-26 02:19
0
雪    币: 609
活跃值: (237)
能力值: ( LV12,RANK:441 )
在线值:
发帖
回帖
粉丝
19
版本太低了、要2003的SDK才可以……你可以用cntrump做的绿色版、当然是新的。
2011-3-26 06:39
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
20
我知道 LZ 不是发哥, 上次和发哥聊过, 我说我用 音速启动 的时候,被他BS了. 他说自己全用脚本的.
2011-3-26 13:24
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
不错的文章,最下面的公仔图也很不错哦
2011-3-26 13:47
0
雪    币: 116
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
22
我想你还有很多这样的图吧做种发上来吧
2011-3-26 20:46
0
雪    币: 108
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
直接调用的别的浏览器。。。。。。。。。。
2011-3-26 21:35
0
雪    币: 16
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
我承认  我是来看图的....
2011-3-27 18:26
0
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
发现新大陆 ,
2011-3-28 21:51
0
游客
登录 | 注册 方可回帖
返回
//