The original cd_clint.dll is a part of Cydoor spyware. The source code in this node was included with the archive at http://www.cexx.org/cd_clnt.zip. When compiled, the DLL this source creates mimics Cydoor enough to fool Grokster v1.5 and probably other applications that require Cydoor to be installed in order to function.
Usage: Put the cd_clint.dll this creates in c:\windows\system after you have installed the afflicted program (replacing the existing file). You will probably need to do this again should you update any software that uses the DLL (as the fake one will be overwritten by a real one).
See also: cd_load.exe
#include <windows.h>
#pragma hdrstop
#include <condefs.h>
USERES("Project1.res");
//---------------------------------------------------------------------------
#pragma argsused
// This is the source of cexx.org's Cydoor-compatible spyware condom DLL,
// cd_clint.dll. This was created in Borland's c++ builder, remember to
// remove Borland-isms for other compilers. Compile as a Win32 console
// DLL (no GUI stuff necessary).
// Credits:
// Thanks CYDOOR for providing their SDK on their anonymous FTP server(!)
// Thanks Wiz for letting me borrow his compiler
// Thanks Dave for betting me there was some ultra-bogus verification
// routine to keep people from doing this
// (ps. Dave, you owes me $5)
//Note from Mike Dombrowski(legodude@hammycorp.com):
//I found this source and modified it to work with the newest Cydoor
//API with the addition of the DescWrite function
//This works fine for iMesh and I've not tested it with any other programs.
//Remember, I'm _NOT_ the original author, he should receive all the credit.
//The url http://www.cydoor.com/sdk/Integration_APIFunctions.htm lists the
//current API function for Cydoor
//The project file I included works nice for Borland C++ Builder 5, in
//order to get it to compile you have to change the calling method to
//normal in project options.
//imp-exp-view.EXE is a fantastic little program that I found that shows
//the imports/exports of a dll.
// Exported functions. Syntax to do this may differ depending on your
// compiler?
// Authentic CD_CLINT.DLL has more exports, but nobody's supposed to know about
// them.
extern "C" __declspec(dllexport)
int ServiceShow(int,int,int,HWND,int,int,int,int, int,void*,void*);
extern "C" __declspec(dllexport)
int ServiceClose(int,HWND,void*);
extern "C" __declspec(dllexport)
void ChannelRead(int AdwrCode, char* ChannelIn, int Resv1,int Resv2);
extern "C" __declspec(dllexport)
void ChannelWrite(int AdwrCode, char* ChannelOut, int Resv1, int Resv2);
extern "C" __declspec(dllexport)
void DescWrite(int BitStart, int BitLen, int Val, int Resv1, int Resv2);
void ChannelWrite(int AdwrCode, char* ChannelOut, int Resv1, int Resv2)
{
// Nothing to do here.
}
void ChannelRead(int AdwrCode, char* ChannelIn, int Resv1,int Resv2)
{
// Nothing to do here.
}
int ServiceShow(int AdwrCode, int LoctNum, int LoctIndx, HWND hWnd, int X,
int Y, int LenX, int LenY, int Mode, void *General1, void *General2)
{
// Return true to tell the host application the call succeeded.
return 1;
}
int ServiceClose(int LoctIndx, HWND hWnd, void* General2)
{
// Return true to tell the host application the call succeeded.
return 1;
}
void DescWrite(int BitStart, int BitLen, int Val, int Resv1, int Resv2)
{
// Nichts zu tun
}
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
return 1;
}