TValueKeeper* VariableTable::Push(TValueKeeper* keeper) { if (keeper) { //List* list = nullptr; if (!(table[CombineKeys(Key1(keeper->GetName()))])) { table[CombineKeys(Key1(keeper->GetName()))] = new List(sizeof(TValueKeeper)); } TValueKeeper* temp = (TValueKeeper*)table[CombineKeys(Key1(keeper->GetName()))]->Add(keeper); return (temp); } return nullptr; }
void Person (int value) { Key1 (Household () * Traveler_Scale () + value); }
void Household (int value) { Key1 (value * Traveler_Scale () + Person ()); }
void Traveler (int value) { Key1 (value); }
int Person (void) { return (Key1 () % Traveler_Scale ()); }
int Household (void) { return (Key1 () / Traveler_Scale ()); }
int Traveler (void) { return (Key1 ()); }
int main(int argc, char* argv[]) { wchar_t* ModuleName = L"klick.sys"; ULONG FileSize; MyReadFile ( argv[1], g_File, &FileSize ); PCHAR pKey1, pKey2, pSign; ULONG Key1Size, Key2Size, RegSize; char *pBasePtr = &g_File[0]; CheckForSignOld( pBasePtr, g_File.size(), &FileSize ); GetCryptoCPtrs( pBasePtr, FileSize, &pKey1, &Key1Size, &pKey2, &Key2Size, &pSign, &RegSize, &FileSize ); PIMAGE_DOS_HEADER Dos_header = (PIMAGE_DOS_HEADER)pBasePtr; PIMAGE_NT_HEADERS PE_header = (PIMAGE_NT_HEADERS)( (char*)pBasePtr + Dos_header->e_lfanew ); PE_header->OptionalHeader.CheckSum = 0; bool RetVal = false; HDSKM libDSKM; ULONG dskm_err = DSKM_ERR_OK ; libDSKM = DSKM_InitLibraryEx(Kl1Alloc, Kl1Free, NULL, TRUE) ; HDSKMLIST list1; dskm_err = DSKM_ParList_Create(&list1); CReadObj Key1( pKey1, Key1Size ); CReadObj Key2( pKey2, Key2Size ); CReadObj Sign( pSign, RegSize ); HDSKMLISTOBJ param1 = DSKM_ParList_AddBufferedReg(list1, 0, Key1.m_pBase, Key1.m_Size, (pfnDSKM_GetBuffer_CallBack)ReadBuffByFile, &Key1 ) ; HDSKMLISTOBJ param2 = DSKM_ParList_AddBufferedReg(list1, 0, Key2.m_pBase, Key2.m_Size, (pfnDSKM_GetBuffer_CallBack)ReadBuffByFile, &Key2 ) ; HDSKMLISTOBJ param3 = DSKM_ParList_AddBufferedReg(list1, 0, Sign.m_pBase, Sign.m_Size, (pfnDSKM_GetBuffer_CallBack)ReadBuffByFile, &Sign ) ; dskm_err = DSKM_PrepareRegsSet(libDSKM, list1, 0); dskm_err = DSKM_ParList_Delete(list1) ; // Check HDSKMLIST list2 = 0 ; DSKM_ParList_Create(&list2); CReadObj File( pBasePtr, FileSize ); HDSKMLISTOBJ param4 = DSKM_ParList_AddBufferedObject(list2, 0, File.m_pBase, File.m_Size, (pfnDSKM_GetBuffer_CallBack)ReadBuffByFile, &File ) ; dskm_err = DSKM_ParList_SetObjectHashingProp(list2, param4, ModuleName, 2 *( wcslen ( ModuleName ) + 1 ) ) ; dskm_err = DSKM_CheckObjectsUsingRegsSet( libDSKM, list2, 0) ; if ( dskm_err == DSKM_ERR_OK ) RetVal = true; DSKM_ParList_Delete(list2) ; DSKM_DeInitLibrary( libDSKM, TRUE ) ; return 0; }
void Node (int value) { Key1 (value); }
int Node (void) { return (Key1 ()); }
void In_Dir (int value) { Key1 ((In_Link () << 1) + value); }
void In_Link (int value) { Key1 ((value << 1) + In_Dir ()); }
void In_Link_Dir (int value) { Key1 (value); }
int In_Dir (void) { return ((Key1 () & 1)); }
int In_Link (void) { return ((Key1 () >> 1)); }
int In_Link_Dir (void) { return (Key1 ()); }