Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 516
  • Last Modified:

asp.dll

Does anybody know what functions the asp.dll has, and how the IIS interacts with the dll?
0
lar_jens
Asked:
lar_jens
1 Solution
 
thunderchickenCommented:
ASP .dll runs Active Server Pages, a VB Scripting language for web pages.
0
 
jhanceCommented:
If you want to know what functions ASP.DLL has, use the DUMPBIN utility in Visual Studio like:

DUMPBIN /EXPORT ASP.DLL

This will give you a list of all the EXPORT functions from this DLL.

Generally, you would NOT directly interact with ASP.DLL.  IIS interacts with it directly and automatically.

Perhaps if you explained what you are trying to do a better explanation could be offered.
0
 
lar_jensAuthor Commented:
Yes, but I want to create another engine (like php and asp), and if it is to be run as a dll, I need to know what functions the IIS is using to communicate with it...

-LJJ
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
lar_jensAuthor Commented:
The dump of the dll is as follows:

Microsoft (R) COFF Binary File Dumper Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.


Dump of file c:\winnt\system32\inetsrv\asp.dll

File Type: DLL

  Section contains the following exports for asp.dll

           0 characteristics
    3AE8ADD2 time date stamp Fri Apr 27 01:22:58 2001
        0.00 version
           1 ordinal base
          61 number of functions
          61 number of names

    ordinal hint RVA      name

          1    0 0001672C ??0BUFFER@@QAE@I@Z
          2    1 00016761 ??0BUFFER@@QAE@PAEI@Z
          3    2 0001682D ??0BUFFER_CHAIN@@QAE@XZ
          4    3 000167D9 ??0BUFFER_CHAIN_ITEM@@QAE@I@Z
          5    4 000168B9 ??0STR@@QAE@ABV0@@Z
          6    5 00016884 ??0STR@@QAE@K@Z
          7    6 0001685F ??0STR@@QAE@PADK@Z
          8    7 0001689A ??0STR@@QAE@PBD@Z
          9    8 0001684D ??0STR@@QAE@XZ
         10    9 00016B0C ??0TS_RESOURCE@@QAE@XZ
         11    A 00016835 ??1BUFFER_CHAIN@@QAE@XZ
         12    B 000167F3 ??1BUFFER_CHAIN_ITEM@@QAE@XZ
         13    C 00016A86 ??1STR@@QAE@XZ
         14    D 00016B19 ??1TS_RESOURCE@@QAE@XZ
         15    E 00016AF8 ??4ALLOC_CACHE_HANDLER@@QAEAAV0@ABV0@@Z
         16    F 000167BD ??4BUFFER@@QAEAAV0@ABV0@@Z
         17   10 0001683A ??4BUFFER_CHAIN@@QAEAAV0@ABV0@@Z
         18   11 00016B59 ??4BUFFER_CHAIN_ITEM@@QAEAAV0@ABV0@@Z
         19   12 00016A72 ??4STR@@QAEAAV0@ABV0@@Z
         20   13 00016B59 ??4TS_RESOURCE@@QAEAAV0@ABV0@@Z
         21   14 000167D1 ??_FBUFFER@@QAEXXZ
         22   15 00016819 ??_FBUFFER_CHAIN_ITEM@@QAEXXZ
         23   16 0001694C ?Append@STR@@QAEHABV1@@Z
         24   17 00016902 ?Append@STR@@QAEHPBD@Z
         25   18 0001692F ?Append@STR@@QAEHPBDK@Z
         26   19 00016A22 ?Append@STR@@QAEXD@Z
         27   1A 00016A3A ?Append@STR@@QAEXDD@Z
         28   1B 00016A5A ?AppendCRLF@STR@@QAEXXZ
         29   1C 00016A02 ?Clone@STR@@QBEHPAV1@@Z
         30   1D 00016B3A ?Convert@TS_RESOURCE@@QAEXW4TSRES_CONV_TYPE@@@Z
         31   1E 000169CF ?Copy@STR@@QAEHABV1@@Z
         32   1F 00016969 ?Copy@STR@@QAEHPBD@Z
         33   20 000169A5 ?Copy@STR@@QAEHPBDK@Z
         34   21 00016700 ?IsDynAlloced@BUFFER@@ABEHXZ
         35   22 000168F6 ?IsEmpty@STR@@QBEHXZ
         36   23 00016782 ?IsValid@ALLOC_CACHE_HANDLER@@QBEHXZ
         37   24 00016723 ?IsValid@BUFFER@@IBEHXZ
         38   25 00016723 ?IsValid@STR@@QBEHXZ
         39   26 00016AE2 ?Lock@ALLOC_CACHE_HANDLER@@AAEXXZ
         40   27 00016B20 ?Lock@TS_RESOURCE@@QAEXW4TSRES_LOCK_TYPE@@@Z
         41   28 000169FE ?QueryCB@STR@@QBEIXZ
         42   29 000169FE ?QueryCCH@STR@@QBEIXZ
         43   2A 00016782 ?QueryPtr@BUFFER@@QBEPAXXZ
         44   2B 00016785 ?QuerySize@BUFFER@@QBEIXZ
         45   2C 00016782 ?QueryStr@STR@@QBEPADXZ
         46   2D 00016782 ?QueryStrA@STR@@QBEPADXZ
         47   2E 0001680B ?QueryUsed@BUFFER_CHAIN_ITEM@@QBEKXZ
         48   2F 0001695F ?Reset@STR@@QAEXXZ
         49   30 00016789 ?Resize@BUFFER@@QAEHI@Z
         50   31 000167A0 ?Resize@BUFFER@@QAEHII@Z
         51   32 000168DA ?SetLen@STR@@QAEHK@Z
         52   33 0001680F ?SetUsed@BUFFER_CHAIN_ITEM@@QAEXK@Z
         53   34 00016707 ?SetValid@BUFFER@@IAEXH@Z
         54   35 00016AED ?Unlock@ALLOC_CACHE_HANDLER@@AAEXXZ
         55   36 00016B52 ?Unlock@TS_RESOURCE@@QAEXXZ
         56   37 000278E6 AspStatusHtmlDump
         57   38 0002B2E4 DllRegisterServer
         58   39 0002B341 DllUnregisterServer
         59   3A 00020ACD GetExtensionVersion
         60   3B 000099C7 HttpExtensionProc
         61   3C 00020B38 TerminateExtension

  Summary

        3000 .data
        4000 .reloc
        F000 .rsrc
       40000 .text

How am I supposed to see what to write myself, to get IIS to interact with my own DLL?
0
 
lar_jensAuthor Commented:
jhance,

do you have some sort of utility that interprets the C++ naming convention from DLLs?
0
 
lar_jensAuthor Commented:
the dumpbin utility does not tell me the signature of the funtions either... Should I dissassemble the file? That would involve a lot of work...
0
 
jhanceCommented:
You might want to look at the key export from above, namely HttpExtensionProc.
0
 
DanRollinsCommented:
asp.dll is an ISAPI Http Extension.  These topics are covered in depth by MSDN.  Here is a weblink to get you started:

http://search.microsoft.com/gomsuri.asp?n=1&c=rp_Results&siteid=us/dev&target=http://msdn.microsoft.com/library/en-us/vccore98/HTML/_core_internet_first_steps.3a_.isapi_server_extensions_and_filters.asp

Even if you don't want to write your own ISAP Extension, the information there will help you see what asp.dll is doing (how it is used by IIS).

-- Dan
0
 
Tommy HuiEngineerCommented:
There's also a book called ASP Internals that describes how to rewrite ASP.DLL.
0
 
ambienceCommented:
i guess only the un-decorated exports are important to IIS, excluding ofcourse DllRegisterServer and DllUnRegisterServer etc.

asp.dll is a COM dll, you might be interested in viewing it with object browser, and see what Objects and interfaces there are, for e.g. IRequest etc.

But i guess these are relevant to the inner workings of asp runtime and not important to the webserver. So for your ASP you might have a different rumtime environment altogether. HttpExtension seems to the only logical communication medium between the two.

correct me if am wrong ..
0
 
lar_jensAuthor Commented:
you're right :)
HttpExtensionProc helped me out.. Thnx..
Points goes to DanRollins for pointing it out to me first.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now