467 lines
16 KiB
C++
467 lines
16 KiB
C++
//#include <Windows.h>
|
|
|
|
|
|
|
|
|
|
/*
|
|
INFORMATINOS SUR LES LECTEURS
|
|
*/
|
|
|
|
|
|
/* Renvoie le numero de serie crypte du lecteur passe en parametre */
|
|
#define M_SNCryptKey 13
|
|
#define M_CDSerialNumberWanted (long)((long)2183834492*(long)M_SNCryptKey)
|
|
long fn_lVolumeSerialNumber(char *_szFileName, tdstLoaderHandler *stHandler)
|
|
{
|
|
BY_HANDLE_FILE_INFORMATION stBHFI;
|
|
HANDLE hFile;
|
|
UINT uiMode;
|
|
|
|
uiMode = stHandler->SetErrorMode(SEM_FAILCRITICALERRORS);
|
|
hFile = stHandler->CreateFile(_szFileName, 0, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
|
|
stHandler->SetErrorMode(uiMode);
|
|
|
|
if (hFile != INVALID_HANDLE_VALUE)
|
|
{
|
|
if (stHandler->GetFileInformationByHandle(hFile, &stBHFI))
|
|
{
|
|
stHandler->CloseHandle (hFile);
|
|
return (stBHFI.dwVolumeSerialNumber * M_SNCryptKey);
|
|
}
|
|
stHandler->CloseHandle (hFile);
|
|
}
|
|
|
|
return (long)2832043;
|
|
}
|
|
|
|
|
|
/* Renvoie le typde du lecteur passe en parametre */
|
|
#define M_CDDriveTypeWanted DRIVE_CDROM
|
|
long fn_lDriveType(char *_szFileName, tdstLoaderHandler *stHandler)
|
|
{
|
|
UINT uiMode;
|
|
long lResult;
|
|
|
|
uiMode = stHandler->SetErrorMode(SEM_FAILCRITICALERRORS);
|
|
lResult = stHandler->GetDriveType(_szFileName);
|
|
stHandler->SetErrorMode(uiMode);
|
|
|
|
return lResult;
|
|
}
|
|
|
|
|
|
/* Renvoie une valeur de hashage correspondant au label du lecteur passe en parametre */
|
|
#define M_CDLabelWanted -1323110684
|
|
long fn_lDriveLabel(char *_szFileName, tdstLoaderHandler *stHandler)
|
|
{
|
|
UINT uiMode;
|
|
char xBuffer[255], *pBuffer;
|
|
long lResult = 0;
|
|
|
|
pBuffer = xBuffer;
|
|
uiMode = stHandler->SetErrorMode(SEM_FAILCRITICALERRORS);
|
|
stHandler->GetVolumeInformation(_szFileName, pBuffer, 255, NULL, NULL, NULL, NULL, 0);
|
|
stHandler->SetErrorMode(uiMode);
|
|
|
|
/* Hash code du label... */
|
|
while (*pBuffer != 0)
|
|
{
|
|
lResult = (lResult << 5) + lResult + tolower(*pBuffer);
|
|
++pBuffer;
|
|
}
|
|
return lResult;
|
|
}
|
|
|
|
|
|
/* Renvoie le file systeme crypte du lecteur passe en parametre */
|
|
#define M_CDFSCryptKey 2759
|
|
#define M_CDFSWanted 1397113923L * M_CDFSCryptKey /* "CDFS"*/
|
|
long fn_lDriveFsType(char *_szFileName, tdstLoaderHandler *stHandler)
|
|
{
|
|
UINT uiMode;
|
|
char xBuffer[10];
|
|
|
|
uiMode = stHandler->SetErrorMode(SEM_FAILCRITICALERRORS);
|
|
stHandler->GetVolumeInformation(_szFileName, NULL, NULL, NULL, NULL, NULL, xBuffer, 10);
|
|
stHandler->SetErrorMode(uiMode);
|
|
|
|
return *((long *)xBuffer) * M_CDFSCryptKey;
|
|
}
|
|
|
|
|
|
/* Renvoie l'espace libre crypte en cluster du lecteur passe en parametre */
|
|
#define M_SFCryptKey 2533
|
|
#define M_CDFreeClusterWanted 0+M_SFCryptKey
|
|
long fn_lDriveFreeSpace(char *_szFileName, tdstLoaderHandler *stHandler)
|
|
{
|
|
UINT uiMode;
|
|
DWORD dwInfos[4];
|
|
|
|
uiMode = stHandler->SetErrorMode(SEM_FAILCRITICALERRORS);
|
|
stHandler->GetDiskFreeSpace(_szFileName, &dwInfos[0], &dwInfos[1], &dwInfos[2], &dwInfos[3]);
|
|
stHandler->SetErrorMode(uiMode);
|
|
|
|
return dwInfos[2] + M_SFCryptKey;
|
|
}
|
|
|
|
|
|
/* Renvoie le nombre de secteurs par cluster du lecteur passe en parametre */
|
|
#define M_SPCCryptKey 1937
|
|
#define M_CDSectorsPerClusterWanted 1*M_SPCCryptKey
|
|
long fn_lDriveSectorsPerCluster(char *_szFileName, tdstLoaderHandler *stHandler)
|
|
{
|
|
UINT uiMode;
|
|
DWORD dwInfos[4];
|
|
|
|
uiMode = stHandler->SetErrorMode(SEM_FAILCRITICALERRORS);
|
|
stHandler->GetDiskFreeSpace(_szFileName, &dwInfos[0], &dwInfos[1], &dwInfos[2], &dwInfos[3]);
|
|
stHandler->SetErrorMode(uiMode);
|
|
|
|
return dwInfos[0] * M_SPCCryptKey;
|
|
}
|
|
|
|
|
|
/* Renvoie le nombre de bytes par secteur du lecteur passe en parametre */
|
|
#define M_BPSCryptKey 9701
|
|
#define M_CDBytesPerSectorWanted 2048*M_BPSCryptKey
|
|
long fn_lDriveBytesPerSector(char *_szFileName, tdstLoaderHandler *stHandler)
|
|
{
|
|
UINT uiMode;
|
|
DWORD dwInfos[4];
|
|
|
|
uiMode = stHandler->SetErrorMode(SEM_FAILCRITICALERRORS);
|
|
stHandler->GetDiskFreeSpace(_szFileName, &dwInfos[0], &dwInfos[1], &dwInfos[2], &dwInfos[3]);
|
|
stHandler->SetErrorMode(uiMode);
|
|
|
|
return dwInfos[1] * M_BPSCryptKey;
|
|
}
|
|
|
|
|
|
/* Renvoie le nombre de clusters du lecteur passe en parametre */
|
|
#define M_NCCryptKey 10497
|
|
#define M_CDClustersWanted 186225*M_NCCryptKey
|
|
long fn_lDriveClusters(char *_szFileName, tdstLoaderHandler *stHandler)
|
|
{
|
|
UINT uiMode;
|
|
DWORD dwInfos[4];
|
|
|
|
uiMode = stHandler->SetErrorMode(SEM_FAILCRITICALERRORS);
|
|
stHandler->GetDiskFreeSpace(_szFileName, &dwInfos[0], &dwInfos[1], &dwInfos[2], &dwInfos[3]);
|
|
stHandler->SetErrorMode(uiMode);
|
|
|
|
return dwInfos[3] * M_NCCryptKey;
|
|
}
|
|
|
|
|
|
/*
|
|
INFORMATINOS SUR LES FICHIERS
|
|
*/
|
|
|
|
|
|
/* Renvoie les attributs cryptes du fichier passe en parametre */
|
|
#define M_FCACryptKey 57931
|
|
long fn_lFileChangeAttribut(char *_szFileName, tdstLoaderHandler *stHandler)
|
|
{
|
|
UINT uiMode;
|
|
long lResult;
|
|
|
|
uiMode = stHandler->SetErrorMode(SEM_FAILCRITICALERRORS);
|
|
stHandler->SetFileAttributes(_szFileName, FILE_ATTRIBUTE_NORMAL);
|
|
lResult = stHandler->GetFileAttributes(_szFileName);
|
|
stHandler->SetErrorMode(uiMode);
|
|
|
|
return lResult * M_FCACryptKey;
|
|
}
|
|
|
|
|
|
/* Test en ecriture le fichier et renvoie 1 en cas de succes (donc d'erreur pour le protection :)*/
|
|
long fn_lFileWriteable(char *_szFileName, tdstLoaderHandler *stHandler)
|
|
{
|
|
HANDLE hFile;
|
|
UINT uiMode;
|
|
|
|
uiMode = stHandler->SetErrorMode(SEM_FAILCRITICALERRORS);
|
|
hFile = stHandler->CreateFile(_szFileName , GENERIC_WRITE , 0 , NULL , CREATE_ALWAYS , FILE_ATTRIBUTE_NORMAL | FILE_FLAG_DELETE_ON_CLOSE, NULL);
|
|
stHandler->SetErrorMode(uiMode);
|
|
|
|
if( hFile != INVALID_HANDLE_VALUE)
|
|
{
|
|
stHandler->CloseHandle (hFile);
|
|
return 1;
|
|
}
|
|
else
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
/* Renvoie la taille cryptee du fichier passe en parametre */
|
|
#define M_FSCryptKey 53791
|
|
long fn_lFileSize(char *_szFileName, tdstLoaderHandler *stHandler)
|
|
{
|
|
DWORD iResult;
|
|
HANDLE hFile;
|
|
UINT uiMode;
|
|
|
|
uiMode = stHandler->SetErrorMode(SEM_FAILCRITICALERRORS);
|
|
hFile = stHandler->CreateFile(_szFileName, 0, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
|
|
stHandler->SetErrorMode(uiMode);
|
|
if (hFile != INVALID_HANDLE_VALUE)
|
|
{
|
|
uiMode = stHandler->SetErrorMode(SEM_FAILCRITICALERRORS);
|
|
iResult = stHandler->GetFileSize(hFile, NULL);
|
|
stHandler->CloseHandle (hFile);
|
|
stHandler->SetErrorMode(uiMode);
|
|
return iResult*M_FSCryptKey;
|
|
}
|
|
|
|
return M_FSCryptKey;
|
|
}
|
|
|
|
|
|
/* Renvoie l'heure de derniere modification, cryptee, du fichier passe en parametre */
|
|
#define M_FTCryptKey 53791
|
|
long fn_lFileTime(char *_szFileName, tdstLoaderHandler *stHandler)
|
|
{
|
|
DWORD dwResult[2];
|
|
HANDLE hFile;
|
|
UINT uiMode;
|
|
|
|
uiMode = stHandler->SetErrorMode(SEM_FAILCRITICALERRORS);
|
|
hFile = stHandler->CreateFile(_szFileName, 0, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
|
|
stHandler->SetErrorMode(uiMode);
|
|
if (hFile != INVALID_HANDLE_VALUE)
|
|
{
|
|
uiMode = stHandler->SetErrorMode(SEM_FAILCRITICALERRORS);
|
|
stHandler->GetFileTime(hFile, NULL, NULL, (LPFILETIME)dwResult);
|
|
--dwResult[0];
|
|
stHandler->SetFileTime(hFile, NULL, NULL, (LPFILETIME)dwResult);
|
|
stHandler->GetFileTime(hFile, NULL, NULL, (LPFILETIME)dwResult);
|
|
stHandler->SetErrorMode(uiMode);
|
|
return ((dwResult[0] * M_FTCryptKey) << 16) + dwResult[1];
|
|
}
|
|
|
|
return M_FTCryptKey;
|
|
}
|
|
|
|
|
|
/*
|
|
VERIFICATION DU SYSTEME
|
|
*/
|
|
|
|
|
|
#define M_SoftIceWanted 83
|
|
long fn_lSoftIcePresent(char *_szFileName, tdstLoaderHandler *stHandler)
|
|
{
|
|
HANDLE hFile = stHandler->CreateFile(_szFileName ,
|
|
GENERIC_READ,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,
|
|
OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
|
|
|
|
if( hFile != INVALID_HANDLE_VALUE )
|
|
{
|
|
stHandler->CloseHandle(hFile);
|
|
return M_SoftIceWanted-11;
|
|
}
|
|
return M_SoftIceWanted;
|
|
}
|
|
|
|
|
|
#define M_DHCryptKey 3036172749
|
|
long fn_lDllHooked(char *_szFunctionName, tdstLoaderHandler *stHandler)
|
|
{
|
|
return stHandler->SearchExportedFunctionInEveryDLL(_szFunctionName) * M_DHCryptKey;
|
|
}
|
|
|
|
#define M_FHCryptKey 3036172749
|
|
long fn_lFunctionHooked(char *_szFunctionName, tdstLoaderHandler *stHandler)
|
|
{
|
|
DWORD dwAddress;
|
|
|
|
return dwAddress = stHandler->SearchFunctionInImportedTableOfExe(_szFunctionName) + M_FHCryptKey;
|
|
}
|
|
|
|
/* Should be the last!!!!! */
|
|
long fn_lLAST_FUNCTION(char *_szFileName, tdstLoaderHandler *stHandler)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
|
|
/* ATTENTION : les fonction doivent etre declares dans le tableau DANS L'ORDRE d'apparition dans le fichier!!!!
|
|
En effet on utilise le pointeur suivant dans le tableau pour connaitre la taille de la fonction
|
|
precedante...
|
|
Ce n'est pas tres joli, mais c'est la seule maniere automatique :(
|
|
*/
|
|
|
|
ptrFunction g_ListOfProtectionFunctions[50] =
|
|
{
|
|
/*00*/ &fn_lVolumeSerialNumber,
|
|
/*01*/ &fn_lDriveType,
|
|
/*02*/ &fn_lDriveLabel,
|
|
/*03*/ &fn_lDriveFsType,
|
|
/*04*/ &fn_lDriveFreeSpace,
|
|
/*05*/ &fn_lDriveSectorsPerCluster,
|
|
/*06*/ &fn_lDriveBytesPerSector,
|
|
/*07*/ &fn_lDriveClusters,
|
|
/*08*/ &fn_lFileChangeAttribut,
|
|
/*09*/ &fn_lFileWriteable,
|
|
/*10*/ &fn_lFileSize,
|
|
/*11*/ &fn_lFileTime,
|
|
/*12*/ &fn_lSoftIcePresent,
|
|
/*13*/ &fn_lDllHooked,
|
|
/*14*/ &fn_lFunctionHooked,
|
|
/*15*/ &fn_lLAST_FUNCTION, /* Should be the last!!!!! */
|
|
NULL
|
|
};
|
|
|
|
|
|
/* Le tableau suivant contient la liste des fonctions associes a leur parametre et resultat voulu.
|
|
Le numero d'ordre correspond au type dans les modele de protection (+100 pour les actifs et +200
|
|
pour les passifs).
|
|
|
|
*/
|
|
|
|
#define M_FileAttributeRO FILE_ATTRIBUTE_READONLY*M_FCACryptKey
|
|
|
|
|
|
#include"PTC/PTC_abc.h" /* Pour les noms des fonctions dll cryptes */
|
|
tdstProtectionsInit g_ProtectionFunctions[100] =
|
|
{
|
|
/* Tests direct du CD */
|
|
|
|
/*00*/ &fn_lVolumeSerialNumber, M_CDSerialNumberWanted, "A:\\", 1,
|
|
/*01*/ &fn_lDriveType, M_CDDriveTypeWanted, "A:\\", 1,
|
|
/*02*/ &fn_lDriveLabel, M_CDLabelWanted, "A:\\", 1,
|
|
/*03*/ &fn_lDriveFsType, M_CDFSWanted, "A:\\", 1,
|
|
/*04*/ &fn_lDriveFreeSpace, M_CDFreeClusterWanted, "A:\\", 1,
|
|
/*05*/ &fn_lDriveSectorsPerCluster, M_CDSectorsPerClusterWanted, "A:\\", 1,
|
|
/*06*/ &fn_lDriveBytesPerSector, M_CDBytesPerSectorWanted, "A:\\", 1,
|
|
/*07*/ &fn_lDriveClusters, M_CDClustersWanted, "A:\\", 1,
|
|
|
|
/* Tests sur des fichiers presents sur le CD */
|
|
|
|
/*08*/ &fn_lFileChangeAttribut, M_FileAttributeRO, "A:\\Rayman2.ico", 1,
|
|
/*09*/ &fn_lFileChangeAttribut, M_FileAttributeRO, "A:\\Dll\\APMP5SVR.dll", 1,
|
|
/*10*/ &fn_lFileChangeAttribut, M_FileAttributeRO, "A:\\", 1,
|
|
/*11*/ &fn_lFileChangeAttribut, M_FileAttributeRO, "A:\\", 1,
|
|
/*12*/ &fn_lFileChangeAttribut, M_FileAttributeRO, "A:\\", 1,
|
|
/*13*/ &fn_lFileChangeAttribut, M_FileAttributeRO, "A:\\", 1,
|
|
/*14*/ &fn_lFileChangeAttribut, M_FileAttributeRO, "A:\\", 1,
|
|
/*15*/ &fn_lFileChangeAttribut, M_FileAttributeRO, "A:\\", 1,
|
|
/*16*/ &fn_lFileChangeAttribut, M_FileAttributeRO, "A:\\", 1,
|
|
/*17*/ &fn_lFileChangeAttribut, M_FileAttributeRO, "A:\\", 1,
|
|
/*18*/ &fn_lFileChangeAttribut, M_FileAttributeRO, "A:\\", 1,
|
|
/*19*/ &fn_lFileChangeAttribut, M_FileAttributeRO, "A:\\", 1,
|
|
/*20*/ &fn_lFileChangeAttribut, M_FileAttributeRO, "A:\\", 1,
|
|
|
|
/*21*/ &fn_lFileWriteable, 0, "A:\\BinData\\game.dsb", 1,
|
|
/*22*/ &fn_lFileWriteable, 0, "A:\\Setup.exe", 1,
|
|
/*23*/ &fn_lFileWriteable, 0, "A:\\Autorun.inf", 1,
|
|
/*24*/ &fn_lFileWriteable, 0, "A:\\", 1,
|
|
/*25*/ &fn_lFileWriteable, 0, "A:\\", 1,
|
|
/*26*/ &fn_lFileWriteable, 0, "A:\\", 1,
|
|
/*27*/ &fn_lFileWriteable, 0, "A:\\", 1,
|
|
/*28*/ &fn_lFileWriteable, 0, "A:\\", 1,
|
|
/*29*/ &fn_lFileWriteable, 0, "A:\\", 1,
|
|
/*30*/ &fn_lFileWriteable, 0, "A:\\", 1,
|
|
/*31*/ &fn_lFileWriteable, 0, "A:\\", 1,
|
|
/*32*/ &fn_lFileWriteable, 0, "A:\\", 1,
|
|
/*33*/ &fn_lFileWriteable, 0, "A:\\", 1,
|
|
|
|
/*34*/ &fn_lFileSize, 1812*M_FSCryptKey, "A:\\BinData\\textures.cnt", 1,
|
|
/*35*/ &fn_lFileSize, 729088*M_FSCryptKey, "A:\\SetupUbi.exe", 1,
|
|
/*36*/ &fn_lFileSize, 921644*M_FSCryptKey, "A:\\InstData\\Rayman.tga", 1,
|
|
/*37*/ &fn_lFileSize, 1812*M_FSCryptKey, "A:\\", 1,
|
|
/*38*/ &fn_lFileSize, 1812*M_FSCryptKey, "A:\\", 1,
|
|
/*39*/ &fn_lFileSize, 1812*M_FSCryptKey, "A:\\", 1,
|
|
/*40*/ &fn_lFileSize, 1812*M_FSCryptKey, "A:\\", 1,
|
|
/*41*/ &fn_lFileSize, 1812*M_FSCryptKey, "A:\\", 1,
|
|
/*42*/ &fn_lFileSize, 1812*M_FSCryptKey, "A:\\", 1,
|
|
/*43*/ &fn_lFileSize, 1812*M_FSCryptKey, "A:\\", 1,
|
|
/*44*/ &fn_lFileSize, 1812*M_FSCryptKey, "A:\\", 1,
|
|
/*45*/ &fn_lFileSize, 1812*M_FSCryptKey, "A:\\", 1,
|
|
/*46*/ &fn_lFileSize, 1812*M_FSCryptKey, "A:\\", 1,
|
|
|
|
/*47*/ &fn_lFileTime, 0, "A:\\Lisezmoi.txt", 1,
|
|
/*48*/ &fn_lFileTime, 0, "A:\\Dll\\GliDetectDll.dll", 1,
|
|
/*49*/ &fn_lFileTime, 0, "A:\\", 1,
|
|
/*50*/ &fn_lFileTime, 0, "A:\\", 1,
|
|
/*51*/ &fn_lFileTime, 0, "A:\\", 1,
|
|
/*52*/ &fn_lFileTime, 0, "A:\\", 1,
|
|
/*53*/ &fn_lFileTime, 0, "A:\\", 1,
|
|
/*54*/ &fn_lFileTime, 0, "A:\\", 1,
|
|
/*55*/ &fn_lFileTime, 0, "A:\\", 1,
|
|
/*56*/ &fn_lFileTime, 0, "A:\\", 1,
|
|
/*57*/ &fn_lFileTime, 0, "A:\\", 1,
|
|
/*58*/ &fn_lFileTime, 0, "A:\\", 1,
|
|
/*59*/ &fn_lFileTime, 0, "A:\\", 1,
|
|
|
|
/* Test de softice */
|
|
|
|
/*60*/ &fn_lSoftIcePresent, M_SoftIceWanted, "\\\\.\\SICE", 0,
|
|
/*61*/ &fn_lSoftIcePresent, M_SoftIceWanted, "\\\\.\\SIWVID", 0,
|
|
|
|
/* Tests des fonctions potentiellement hookee */
|
|
|
|
/*62*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_CreateFileAName, 0,
|
|
/*63*/ &fn_lFunctionHooked, 0, PTC_C_CreateFileAName, 0,
|
|
|
|
/*64*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_WriteFileName, 0,
|
|
/*65*/ &fn_lFunctionHooked, 0, PTC_C_WriteFileName, 0,
|
|
|
|
/*66*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_ReadFileName, 0,
|
|
/*67*/ &fn_lFunctionHooked, 0, PTC_C_ReadFileName, 0,
|
|
|
|
/*68*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_CloseHandleName, 0,
|
|
/*69*/ &fn_lFunctionHooked, 0, PTC_C_CloseHandleName, 0,
|
|
|
|
/*70/ &fn_lDllHooked, M_FHCryptKey, PTC_C_SetErrorModeName, 0,
|
|
/*71*/ &fn_lFunctionHooked, 0, PTC_C_SetErrorModeName, 0,
|
|
|
|
/*72*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_GetFileInformationByHandleName,0,
|
|
/*73*/ &fn_lFunctionHooked, 0, PTC_C_GetFileInformationByHandleName,0,
|
|
|
|
/*74*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_GetDiskFreeSpaceAName, 0,
|
|
/*75*/ &fn_lFunctionHooked, 0, PTC_C_GetDiskFreeSpaceAName, 0,
|
|
|
|
/*76*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_SetFileAttributsAName, 0,
|
|
/*77*/ &fn_lFunctionHooked, 0, PTC_C_SetFileAttributsAName, 0,
|
|
|
|
/*78*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_GetFileAttributsAName, 0,
|
|
/*79*/ &fn_lFunctionHooked, 0, PTC_C_GetFileAttributsAName, 0,
|
|
|
|
/*80*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_GetFileTimeName, 0,
|
|
/*81*/ &fn_lFunctionHooked, 0, PTC_C_GetFileTimeName, 0,
|
|
|
|
/*82*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_SetFileTimeName, 0,
|
|
/*83*/ &fn_lFunctionHooked, 0, PTC_C_SetFileTimeName, 0,
|
|
|
|
/*84*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_SetFilePointerName, 0,
|
|
/*85*/ &fn_lFunctionHooked, 0, PTC_C_SetFilePointerName, 0,
|
|
|
|
/*86*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_FlushFileBufferName, 0,
|
|
/*87*/ &fn_lFunctionHooked, 0, PTC_C_FlushFileBufferName, 0,
|
|
|
|
/*88*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_GetDriveTypeAName, 0,
|
|
/*89*/ &fn_lFunctionHooked, 0, PTC_C_GetDriveTypeAName, 0,
|
|
|
|
/*90*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_GetVolumeInformationAName,0,
|
|
/*91*/ &fn_lFunctionHooked, 0, PTC_C_GetVolumeInformationAName,0,
|
|
|
|
/*92*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_GetFileSizeName, 0,
|
|
/*93*/ &fn_lFunctionHooked, 0, PTC_C_GetFileSizeName, 0,
|
|
|
|
/*94*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_GetLogicalDriveStringsAName,0,
|
|
/*95*/ &fn_lFunctionHooked, 0, PTC_C_GetLogicalDriveStringsAName,0,
|
|
|
|
/*96*/ &fn_lDllHooked, M_FHCryptKey, PTC_C_LoadLibraryAName, 0,
|
|
/*97*/ &fn_lFunctionHooked, 0, PTC_C_LoadLibraryAName, 0,
|
|
};
|
|
|
|
|
|
/* &fn_lSoftIcePresent, M_SoftIceWanted, "\\\\.\\NTICE", 0,*/
|
|
|