Asp classic 在COM+;ProgId
我从来没有真正地调试过经典的ASP,所以这是一个有点粗糙的问题,很可能是一个糟糕的问题,但我在问之前已经做了尽可能多的研究 我请求识别哪些代码打印到打印机上,并在某人构建的新页面中重新使用这些代码 在试图确定这一点的时候,我偶然发现了一些我不明白的事情,但就是一件大事 要点是,人们可以从自助餐厅订购饼干,当他们提交时,会显示一个确认页面,并将订单发送到打印机 要获取cookie选项列表,需要创建一个服务器对象,并从中存在一个方法,但我无法确定它在哪里或应该在哪里查找。代码如下:Asp classic 在COM+;ProgId,asp-classic,com+,Asp Classic,Com+,我从来没有真正地调试过经典的ASP,所以这是一个有点粗糙的问题,很可能是一个糟糕的问题,但我在问之前已经做了尽可能多的研究 我请求识别哪些代码打印到打印机上,并在某人构建的新页面中重新使用这些代码 在试图确定这一点的时候,我偶然发现了一些我不明白的事情,但就是一件大事 要点是,人们可以从自助餐厅订购饼干,当他们提交时,会显示一个确认页面,并将订单发送到打印机 要获取cookie选项列表,需要创建一个服务器对象,并从中存在一个方法,但我无法确定它在哪里或应该在哪里查找。代码如下: 如何识别服务
如何识别服务器对象是什么?有一个.dll
文件包含二进制文件,但我不知道如何利用它
我曾尝试使用浏览器开发工具,但它们在这方面并没有太大帮助
我希望了解这段代码是如何执行的,或者在哪里执行的,我会找出我的其他问题。一点背景知识
该项目正在使用COM+组件。这些是在经典ASP中使用语法定义的
Set obj=Server.CreateObject(“[insert COM+ProgId]”)
在本项目中,您使用的是注册了ProgId
CookieOrder.CookieRequest
CookieOrder.CookieRequest
经典ASP提供了许多现成的COM+组件,这些组件提供了许多常见功能,例如
Visual Basic Scripting Runtime
ActiveX Data Objects
Visual Basic脚本运行时
ActiveX数据对象
<> P>还可以创建COM+组件,用于使用ASP Visual Basic、VisualC++等常用的语言,以及最近使用.NET框架(C.*,VB.NET)。
如何定位COM+库
注意:访问注册表时请小心,因为修改或删除注册表项可能会导致操作系统损坏
在本指南中,还将使用Scripting.Dictionary
ProgId
关键是使用ProgId
查找难以捉摸的COM+库
%SystemRoot%\system32\regedit.exe
(将在大多数Windows操作系统中工作)
HKEY_CLASS_ROOT
配置单元并选择它,然后按Ctrl+F打开“查找”对话框
ProgId
键,则展开该键并找到CLSID
键,该键包含(默认)
REG_SZ,在本例中为{EE09B103-97E0-11CF-978F-00A02463E06F}
。双击此值以打开编辑字符串
对话框,将该值复制到剪贴板中
HKEY_CLASS_ROOT
键,使用Find搜索CLSID
值,在本例中该值为{EE09B103-97E0-11CF-978F-00A02463E06F}
,再次确保查看仅选中了键,然后按查找或查找下一个
InprocServer32
键,您将在(默认)
REG_SZ值中找到DLL的位置。在本例中为C:\Windows\System32\scrun.dll
(这将根据安装位置和操作系统的不同而有所不同)
看看这篇关于如何打开dll文件的文章。因此,
.dll
包含一些源代码,我需要以人类可读的格式查看这些源代码,并且这些代码应该都是有意义的?这是一个非常基本的问题,我假设您已经问过了,但是您是否有权访问服务器对象的源代码,因为您正在对依赖于此库的web应用程序进行更改?我可能会签入组件服务管理单元以查找COM+对象。对我来说,直接使用原始源代码总是最容易的,即使只是了解类及其成员函数是如何操作的。如果您没有访问权限,看起来好像其他人提供了反编译选项。从代码片段中,您得到了一个名称空间=CookieOrder,类=CookieRequest的库。如果您只需要能够调用当前web应用程序代码中存在的方法,那么您应该能够将其作为复制功能的指导。祝你好运@完全正确!谢谢你的提示。我做了一些,但不知道其他的。幸运的是,我能够在Subversion中找到这个“项目”,并确定它是一个旧的VB6.dll
,并且我本应该“提升并放下”到新网站的代码是不可行的,因为我们不再使用VB6开发了。谢谢你的帮助!如果你想把所有的东西都写进一个答案,我会+1并接受。另外,如果你不介意(如果它是正确的话),请加入mjw关于名称空间的评论的tid部分b/c我不知道这一点