定位之后的COM +的ProgID源DLL

问题描述 投票:2回答:1

我从来没有真正不得不调试经典的ASP,所以这是一个有点粗糙和最有可能的一个贫穷的问题,但我已经做了尽可能多的研究,我可以问了。

我必须确定哪些代码打印到打印机,并在一个新的页面,有人已建成重新使用该代码的请求。

在试图确定,我无意中发现了几件事情,我不明白,但也就是一个大单。

要点是,人们可以从食堂订购饼干,当他们提交,它显示一个确认页面和订单发送到打印机。

要获得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,但我不熟悉,怎么会被利用。

我曾试图按照浏览器的开发工具,但他们真的还没有在这方面也有帮助。

我希望学习这个代码是如何执行的,或者它正在执行,我会找出我的其他问题。

asp-classic com+
1个回答
3
投票

Bit of background

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

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

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

CookieOrder.CookieRequest

有许多现成的COM +组件可用于经典的ASP提供了很多常用的功能如;

Visual Basic Scripting Runtime
ActiveX Data Objects

还有为使用通用语言经典ASP到像Visual Basic,Visual C ++和最近的时间使用.NET Framework(C#,VB.NET)使用创建COM +组件的能力。

How to locate COM+ libraries

注:访问注册表,修改或删除键可能导致腐败的操作系统时请小心。

另外本指南的目的,将使用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重点拓展到关键,并找到包含在这个例子中CLSID的情况下CLSID的价值(Default) REG_SZ的{EE09B103-97E0-11CF-978F-00A02463E06F}关键。双击该值,弹出对话框Edit String复制值到剪贴板。
  5. 返回HKEY_CLASS_ROOT密钥,并用查找搜索CLSID值,其在本例中是{EE09B103-97E0-11CF-978F-00A02463E06F},并再次确认Look atKey检查,然后按FindFind Next
  6. 如果关键是找到扩大并找到它的InprocServer32键,你会发现DLL在(Default) REG_SZ值的位置。在这个例子中是C:\Windows\System32\scrrun.dll(这将根据安装位置和OS是不同的)

What about decompiling?

有很多在约用来编译DLL(主要是.NET)编译器的评论假设的,但检查的最好办法是在为此而设计的公共领域使用的众多项目之一在那里。

有与此交易,对SO一个具体问题;

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

© www.soinside.com 2019 - 2024. All rights reserved.