Dynamic Dynamic Loader logo

Dynamic Dynamic Loader (DDL) Project

NMSU

HOME

EVENT TOOL FRAMEWORK

DOCUMENTATION

DOWNLOAD

WRAPPER REDIRECTION

TABLE BASED REDIRECTION

REDIRECTION USING TCL

C++ REDIRECTION

FAQ

RESEARCH GROUP

PUBLICATIONS

FUTURE DIRECTIONS



Back to PLEASE Lab



Download

Complete framework source is avaliable for download as a gzip file.

ddl.tar.gz (306 KB. Aug 1, 2004)
ddl-glibc-2.3.2.tar.gz (343 KB. Oct. 12, 2004)
gvdemo.tar.gz (Ghostview redirection demo, 343 KB. Oct. 26, 2004)
ddl-glibc-2.3.2-2-feb-2005.tar.gz (344 KB. Feb 2, 2005)
ddl-tclredir-3-Aug-2005.tar.gz (347 KB. Aug 3, 2005)
etf-framework-3-Aug-2005.tar.gz (644 KB. Aug 3, 2005)


A minimal stub hook library:
ddl-minredir.tar.gz (4 KB. Jun 22, 2005)

The gzip file contains the binary file of modified GNU loader, Event Dispatcher and The Redirection Library.

Note: There are some portability issues with the extended loader. Some of them are described in FAQ. We want you to download and play with DDL and have feedback from you. This will enable us to know more portability issues and a chance to address them.

glibc patches

Source patches for more versions of glibc shall be available here.

glibc-2.3.3-patches.tar.gz (7 KB. Nov 9, 2004) (Thanks to Abdulmalik Al-Gahmi)

Sources of latest (Jun 18, 2005) linker:
sw10-glibc-2.3.2-patchedsources-18-Jun-2005.tar.gz (35 KB. Jun 18, 2005)

Patches of latest (Jun 18, 2005) linker:
sw10-glibc-2.3.2-patches-18-Jun-2005.tar.gz (10 KB. Jun 18, 2005)

Detailed explanation of how to write wrappers can be found at Wrapper Redirection, and detail explantion of how to use the complete API can be found at API Documentation.

For redirecting functions using our ddl we need two files
  1. Specification file
  2. Set-redirect file

Specification File

    This file containg the mapping of target and wrapper function. This name of this file is stored in
an environment variable. Click here to see the format of this file.

set-redirect file

    This file containg all the environment variables. We need to source this file before running ddl. Click here to see the list of these variables.

For demos we have made 4 folders and each folder has its own specification file (xxx.input) and set-redirect file.

RUNNING DEMOS :


There are 4 demos avaliable, wrapper redirection, table redirection C++ redirection and table based redirection.

1. Wrapper Redirection :

Follow following steps to run this demo :
  1. Make sure that redirection library is built. For this type 'make' in the root directory of ddl.
  2. Go to wrapper redirection directory ("cd wrapper_redirection") and type 'make'.
  3. Edit the redirect.input file. Update the path of libwrap.so.0.0 file.
  4. Go back to ddl root directory ("cd ..").
  5. Type source 'source wrapper_redirection/set-redir'
  6. Type 'newld.so test'
2. Table-based Redirection:

Follow following steps to run this demo :
  1. Make sure that redirection library is built. For this type 'make' in the root directory of ddl.
  2. Go to table based redirection directory ("cd table_redirection") and type 'make'.
  3. Edit the table.input file. Update the path of libstringtable.so file.
  4. Go back to ddl root directory ("cd ..").
  5. Type source 'source table_redirection/set-redir'
  6. Type 'newld.so test'
3. C++ Redirection:

Follow following steps to run this demo :
  1. Make sure that redirection library is built. For this type 'make' in the root directory of ddl.
  2. Go to C++ redirection directory ("cd cpp") and type 'make'.
  3. Edit the cpp.input file. Update the path of libCppWrap.so.0.0 file.
  4. Go back to ddl root directory ("cd ..").
  5. Type source 'source cpp/set-redir'
  6. Type 'newld.so cpp/cppTest'
4. Tools demo:

Follow following steps to run this demo :
  1. Make sure that redirection library is built. For this type 'make' in the root directory of ddl.
  2. Go to tools redirection directory ("cd tools") and type 'make'.
  3. Edit the tools.input file. Update the path of libredirect.so.0.0 and libsampletool.so.
  4. Go back to ddl root directory ("cd ..").
  5. Type source 'source tools/set-redir'
  6. Type 'newld.so test'

Last Modified: Jun 18, 2005