首页 > 计算机应用 > res:协议

res:协议

在IE里输入以下?网址?,看看出来什么了?

res://shell32.dll/2/131

res://C:\WINDOWS\system32\drivers\estbus.sys/16/1

res://notepad.exe/16/1

res://shell32.dll/16/1

是不是可以用来分析 exe dll sys 的版本呢?只要符合 Win32 PE 格式的文件都可以用 res:// 协议来分析。其中第二个数字是资源类型,在 VC++ 的 winuser.h 里有定义

#define RT_CURSOR MAKEINTRESOURCE(1)
#define RT_BITMAP MAKEINTRESOURCE(2)
#define RT_ICON MAKEINTRESOURCE(3)
#define RT_MENU MAKEINTRESOURCE(4)
#define RT_DIALOG MAKEINTRESOURCE(5)
#define RT_STRING MAKEINTRESOURCE(6)
#define RT_FONTDIR MAKEINTRESOURCE(7)
#define RT_FONT MAKEINTRESOURCE(8)
#define RT_ACCELERATOR MAKEINTRESOURCE(9)
#define RT_RCDATA MAKEINTRESOURCE(10)
#define RT_MESSAGETABLE MAKEINTRESOURCE(11)
#define RT_VERSION MAKEINTRESOURCE(16)
#define RT_DLGINCLUDE MAKEINTRESOURCE(17)
#define RT_PLUGPLAY MAKEINTRESOURCE(19)
#define RT_VXD MAKEINTRESOURCE(20)
#define RT_ANICURSOR MAKEINTRESOURCE(21)
#define RT_ANIICON MAKEINTRESOURCE(22)
#define RT_HTML MAKEINTRESOURCE(23)

res:// 用处大了,可以用来提取图片、AVI、光标、图标等。

还有一个很NB的专门用来分析文件图标的协议 sysimage,只是只从上次出了个 文件探测 的漏洞以后,貌似微软就把这个协议封了,IE7里直接禁用了,郁闷。


IE中"RES://"协议的详细用法

"RES://"协议是IE 4.0预定义的一个协议,它的具体语法为:"RES://resource file[/resourcetype]/resource id"。

resource file:含有资源的模块的文件名,请注意这里的路径分隔符只能使用?\?,而不能使用?/?。

Resourcetype:资 源类型,它是一个字符串或数字。常用的资源类型都对应着一个数,比如BITMAP对应着RT_BITMAP=2,这些常数定义在VC++的 WINUSER.H可以找到,如果资源类型是数字,要在数字前面加上?#?号。Resourcetype可以省略,默认为RT_HTML=23,即 HTML文件。RT_HTML在VC++ 5.0中没有定义,但现在已经广泛使用。

Resource id:资源的ID号。

VBS代码:

Dim oInfo,a
a=InputBox("Full file path?",wscript.ScriptName,"shell32.dll")
msgbox a
Set oVer = WScript.GetObject("res://"& a&"/16/1")
WScript.Sleep 500
oInfo = Split(oVer.body.innerHTML,Chr(01))
For i = 1 To UBound(oInfo)
WScript.Echo oInfo(i)
Next

转载请尊重版权,出处:秋天博客
本文链接: https://www.cfresh.net/pc-tech/484

  1. 还没有评论
评论提交中, 请稍候...

留言



注意: 您给他人的评论回复将通过邮件通知到对方。

可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks