//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // TestVectors // // Tests AES CTR against fixed test vectors //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// static bool TestVectors ( void ) { uint32_t vectorIndex; uint8_t key [AES_KEY_SIZE_256]; uint32_t keySize = 0; uint8_t iv [AES_CTR_IV_SIZE]; uint8_t vector [TEST_VECTOR_OUTPUT_SIZE]; uint8_t aesCtrOutput [TEST_VECTOR_OUTPUT_SIZE]; uint8_t const zeroBuffer [TEST_VECTOR_OUTPUT_SIZE] = {0}; for( vectorIndex=0; vectorIndex<NUM_TEST_VECTORS; vectorIndex++ ) { HexToBytes( gTestVectors[vectorIndex].KeyHex, key, &keySize ); HexToBytes( gTestVectors[vectorIndex].IvHex, iv, NULL ); HexToBytes( gTestVectors[vectorIndex].CipherTextHex, vector, NULL ); AesCtrXorWithKey( key, keySize, iv, zeroBuffer, aesCtrOutput, TEST_VECTOR_OUTPUT_SIZE ); if( 0 != memcmp( aesCtrOutput, vector, TEST_VECTOR_OUTPUT_SIZE ) ) { printf( "Test vector (index:%u) failed\n", vectorIndex ); return false; } } return true; }
void FBuildPatchUtils::GetFileDetailFromNewFilename(const FString& FileNewFilename, FGuid& FileGUID, FSHAHashData& FileHash) { const FString FileFilename = FPaths::GetBaseFilename( FileNewFilename ); FString GuidString; FString HashString; FileFilename.Split( TEXT( "_" ), &HashString, &GuidString ); // Check that the strings are exactly as we expect otherwise this is not being used properly check( GuidString.Len() == 32 ); check( HashString.Len() == 40 ); HexToBytes( HashString, FileHash.Hash ); FGuid::Parse( GuidString, FileGUID ); }
int main(int argc, char** argv) { //I'ma assume that the first arg was your string int i; if (argc != 2) { printf("ERROR: NEED ONE STRINGS \n"); exit(EXIT_FAILURE); } char* strOne = argv[1]; //char* strTwo = argv[2]; unsigned char* newStr = HexToBytes(strOne); /* for(i = 0; i < strlen(newStr); i++) { printf("%d ",(int)newStr[i]); } printf("\n"); */ struct baseMatcher* baseMatcher; baseMatcher = GenerateMatchingArray(); /* for(i=0;i<64;i++) { printf("%c, %d\n",baseMatcher[i].matchChar,baseMatcher[i].matchInt); } */ char* magicReturnArray = ConvertByteStr(newStr, baseMatcher); printf("%s\n",magicReturnArray); free(baseMatcher); free(newStr); return 0; }
int _tmain(int argc, _TCHAR* argv[]) { if( argc > 1 ) { if( wcscmp( argv[1], L"-Install" ) == 0 ){ DriverLoad (); DatabaseInstall(); } else if( wcscmp( argv[1], L"-Remove" ) == 0 ){ DriverUnload(); } else if( wcscmp( argv[1], L"-Map" ) == 0 ) { if( argc > 2 ) { TestEncryptFileMapping( argv[2] ); } } else if( wcscmp( argv[1], L"-Run" ) == 0 ){ StartDriverService(); OpenDatabase( FALSE ); HANDLE RequestReadQueueEvent = CreateEvent( NULL, FALSE, FALSE, NULL ); ThreadBag* bag; //Randinit(); StartThread( DeviceIoThreadProc, NULL, &bag ); if( bag != NULL ) { } //WaitForSingleObject( bag->hThread, INFINITE ); getchar(); CloseDatabase(); } else if( wcscmp( argv[1], L"-Write" ) == 0 ){ StartDriverService(); if( argc > 3 ) { EncryptionControl(TRUE); TestEncryptProcess( argv[2], argv[3] ); EncryptionControl(FALSE); }else{ wprintf(L"%s: -Write <Input File> <Output File>\n", argv[0]); return 1; } }else if( wcscmp( argv[1], L"-DB" ) == 0 ) { //Randinit(); DatabaseInstall(); wprintf(L"Install database is OK.\n"); OpenDatabase( FALSE ); wprintf(L"Try to open database is OK.\n"); PrivateKeyRequest* request = (PrivateKeyRequest*) malloc( sizeof(PrivateKeyRequest) + sizeof(WCHAR)* MAX_PATH ); PrivateKeyResponse response; if( request != NULL ) { memset( request, 0, sizeof(PrivateKeyRequest) + sizeof(WCHAR)* MAX_PATH ); HexToBytes( (const unsigned char*)"585a59303031", request->Company, 12 ); HexToBytes( (const unsigned char*)"6fe244d8d619064a8abfe23608d27d15", request->Md5, 32 ); memcpy( request->Filename, L"E:\\testing\\test.doc", 19 * 2 ); request->FilenameLength = 19 * 2; QueryPrimaryKey( request, &response ); RenewPrimaryKey( request, &response ); free( request ); } } else if( wcscmp( argv[1], L"-Combine" ) == 0 ){ WCHAR* Path = NULL; if( argc <= 2 ) { wprintf(L"%s: -Combine <File Pattern> [<OutputFileName>] [<Changed Directory>]\n", argv[0]); return 1; } if( argc < 4 ) { DWORD nSize = GetCurrentDirectory( 0, NULL ); if( nSize > 0 ) { Path = (WCHAR*) malloc( sizeof(WCHAR) * (nSize + 1) ); if( Path != NULL ) { if( GetCurrentDirectory( nSize, Path ) == 0 ) { free( Path ); Path = NULL; } } } } CombineDirectory( argv[2], argc > 3 ? argv[3] : L"combined.out", Path ); if( Path != NULL ) { free( Path ); } } else if( wcscmp( argv[1], L"-Copy" ) == 0 ) { if( argc >= 4 ) { CopyFileDest( argv[2], argv[3], FALSE ); }else{ wprintf(L"%s: -Copy <Source File> <Dest File>\n", argv[0]); } }else if( argv[1][0] == L'-' ){ wprintf( L"%s: -Install\n%s: -Remove\n", argv[0], argv[0] ); }else{ StartDriverService(); TestDecryptProcess( L"c:\\Test\\test_out--gko-512.pdf" ); } } return 0; }