gpt4 book ai didi

asp-classic - 定位 COM+ ProgId 后面的源 DLL

转载 作者:行者123 更新时间:2023-12-04 02:20:38 25 4
gpt4 key购买 nike

我从来没有真正调试过 Classic ASP,所以这个问题有点粗糙而且很可能是一个糟糕的问题,但在提问之前我已经做了尽可能多的研究。

我有一个请求,以确定打印到打印机的代码,并在某人构建的新页面中重新使用该代码。

在尝试确定这一点时,我偶然发现了一些我不明白的事情,但这是一个大问题。

要点是,人们可以从自助餐厅订购 cookies ,当他们提交时,它会显示一个确认页面,并将该订单发送到打印机。

要获取 cookie 选项列表,需要创建一个服务器对象,并从那里创建一个方法,但我无法确定它在何处或我应该查看的位置。这是代码:

<%
On error resume next

Const CATAGORY_COOKIE = 1

Dim cookieNames
Dim objCookie
Dim Count

Set objCookie = Server.CreateObject("CookieOrder.CookieRequest")
if objCookie Is Nothing then
Response.Write "Error"
Response.End
End if

cookieNames = objCookie.getAvailable_Item_Names(CATAGORY_COOKIE)
Count = objCookie.Count

Dim sz
sz = Split(cookieNames, ";")
Set objCookie = Nothing
%>

如何识别服务器对象是什么?有一个包含二进制文件的 .dll 文件,但我不熟悉如何使用它。

我尝试遵循浏览器开发工具,但它们在这方面确实没有太大帮助。

我希望通过了解此代码的执行方式或执行位置,我可以找出其他问题。

最佳答案

背景介绍

该项目正在使用 COM+ 组件。这些是使用语法在经典 ASP 中定义的;

Set obj = Server.CreateObject("[insert COM+ ProgId]")

在这个项目中,您使用的是用 ProgId 注册的组件

CookieOrder.CookieRequest

有许多开箱即用的 COM+ 组件可用于经典 ASP,它们提供许多常用功能,例如;

Visual Basic Scripting RuntimeActiveX Data Objects

还可以使用当时常见的语言(如 Visual Basic、Visual C++ 和最近使用的 .NET Framework (C#、VB.NET).

如何定位 COM+ 库

NOTE: Please be careful when accessing the registry as modifying or deleting keys could lead to a corrupt operating system.

Also for the purposes of this guide will use the Scripting.Dictionary ProgId.

关键是使用 ProgId 找到难以捉摸的 COM+ 库。

  1. 启动 %SystemRoot%\system32\regedit.exe (适用于大多数 Windows 操作系统)

  2. 导航到 HKEY_CLASS_ROOT 配置单元并选择它,然后按 Ctrl + F 打开“查找”对话框。

  3. Find what 中键入 ProgId 在这种情况下 Scripting.Dictionary 并确保在 look at 中只有 Key 被选中,然后按 FindFind Next

  4. 如果找到 ProgId 键,展开该键并找到包含 (默认) REG_SZ 的 CLSID 键本例中 CLSID 的值 {EE09B103-97E0-11CF-978F-00A02463E06F}。双击此值以显示 Edit String 对话框,将值复制到剪贴板。

  5. 返回到 HKEY_CLASS_ROOT 键并使用 Find 搜索 CLSID 值,在本例中为 {EE09B103-97E0-11CF-978F -00A02463E06F} 并再次确保 Look at 仅选中 Key 然后按 FindFind Next.

  6. 如果找到 key ,展开并在其中找到 InprocServer32 key ,您将在 (默认) REG_SZ 值中找到 DLL 的位置。在这个例子中是 C:\Windows\System32\scrrun.dll (这将根据安装位置和操作系统而有所不同)

反编译呢?

关于用于编译 DLL 的编译器(主要是 .NET)的评论中有很多假设,但最好的检查方法是使用公共(public)领域中为此目的设计的众多程序之一。

SO 上有一个特定的问题可以解决这个问题;

Answer by @simon-mᶜkenzie to Identifying the origin of a DLL

关于asp-classic - 定位 COM+ ProgId 后面的源 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30175701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com