Find Jobs
Hire Freelancers

Modify open source program

$30-5000 USD

Anulowano
Opublikowano około 17 lat temu

$30-5000 USD

Płatne przy odbiorze
Modify the open source TrueCrypt program (<[login to view URL]>) and add a DLL interface to the program. Details see Deliverables section. **NOTE: The DLL only needs to interface with the TrueCrypt program. You don't have to add any new logic or features.** ## Deliverables **Task 1: **Take out the TrueCrypt ([[login to view URL]][1]) main GUI Program Menu window and its systray icon so that TrueCrypt will run in the background without any GUI. **Task 2: **Create a DLL which performs the tasks of the TrueCrypt GUI interface. The DLL should expose the following APIs: **1) DWORD TrueCryptStart(LPCWSTR szInstallDir);** Description: Simply runs [login to view URL] in that directory. Parameters: szInstallDir = TrueCrypt's installation directory Return value: Returns error code. Please review the TrueCrypt code and list possible error values. A zero should indicate the operation was successful. **2) DWORD TrueCryptCreateStandardVolume( LPCWSTR szFilename, LPCWSTR szEncryptionAlgorithm, LPCWSTR szHashAlgorithm, DWORD dwMaxSizeMBytes, LPCWSTR szPassword);** Description: This API carries out the tasks done by the TrueCrypt Volume Creation Wizard to create a standard regular (non-Dynamic) TrueCrypt volume using FAT filesystem and Default cluster size. Parameters: szFilename = full file path of the TrueCrypt volume file Possible values for szEncryptionAlgorithm: - AES - Serpent - Twofish - AES-Twofish - AES-Twofish-Serpent - Serpent-AES - Serpent-Twofish-AES - Twofish-Serpent Possible values for szHashAlgorithm: - Whirlpool - SHA-1 - RIPEMD-160 dwMaxSizeMBytes = maximum size of the encrypted volume in MB szPassword = password for the encrypted volume Return value: Returns error code. Please review the TrueCrypt code and list possible error values. A zero should indicate the operation was successful. **3) DWORD TrueCryptMountVolume( WCHAR chDriveLetter, LPCWSTR szFilename, LPCWSTR szPassword, BOOL bMountAsReadOnly, BOOL bMountAsRemovable); ** Description: Mount a TrueCrypt file as a volume at a specific drive letter. Parameters: chDriveLetter = drive letter to be used for mounting szFilename = full file path of the TrueCrypt volume file szPassword = password for the encrypted volume bMountAsReadOnly = Mount volue as read-only (see TrueCrypt - Mount Options window) bMountAsRemovable = Mount volume as removable medium Return value: Returns error code. Please review the TrueCrypt code and list possible error values. A zero should indicate the operation was successful. **4) DWORD TrueCryptDismountAll();** Description: Dismount all mounted volumes. Return value: Returns error code. Please review the TrueCrypt code and list possible error values. A zero should indicate the operation was successful. **5) DWORD TrueCryptExit();** Description: Close the TrueCrypt program gracefully. Do not use KillProcess, use some interprocess-communications means to notify TrueCrypt to exit. Return value: Returns error code. Please review the TrueCrypt code and list possible error values (Such as why it cannot exit). A zero should indicate the operation was successful. The following 2 APIs (6 & 7) aim to get the information in the TrueCrypt volumes information below: ![][2] ** 6) DWORD TrueCryptGetDriveLetterStatuses([IN] int * pDrives);** Description: Get the status of each drive letter. Parameters: pDrives = an array of integers of size 26 (that is, int[26]) When the function returns, each element in the array represents the status of the drive letter. The statuses can be one of the following values: 0 = drive letter not available for mounting 1 = drive letter is free for mounting TrueCrypt volumes 2 = drive letter is already mounted with a TrueCrypt volume Return value: Returns error code. Please review the TrueCrypt code and list possible error values. A zero should indicate the operation was successful. Example: int drives[26]; DWORD result = TrueCryptGetDriveLetters(drives); if (result == 0) { for (int i = 0; i < 26; i++) { switch (drives[i]) { case 0: wprintf(L"drive letter %c is not available for mounting\n", L'a' + i); break; case 1: wprintf(L"drive letter %c is available for mounting\n", L'a' + i); break; case 2: wprintf(L"drive letter %c is already mounted with a TrueCrypt volume\n", L'a' + i); break; } } } **7) DWORD TrueCryptGetVolumeProperties( WCHAR chDriveLetter, PWCHAR szFilename, int * size, PWCHAR szEncryptionAlgorithm, PWCHAR szType);** Description: Get the properties of the mounted volume. Parameters: chDriveLetter = drive letter with a TrueCrypt volume mounted szFilename = returns the volume's filename (can assume the buffer has MAX_PATH size) size = returns the size of the volume in BYTES szEncryptionAlgorithm = returns the encryption algorithm used e.g., "AES" (can assume the buffer has MAX_PATH size) szType = returns the type of the volume e.g., "Normal" (can assume the buffer has MAX_PATH size) ============== 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables): a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment. b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request. 3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement). ## Platform windows 2000 and above Visual Studio 2005 MSVC8 **Do not use MFC** **Statically link to MSVCRT**
Identyfikator projektu: 2933533

Informację o projekcie

5 ofert
Zdalny projekt
Aktywny 17 lat temu

Szukasz sposobu na zarobienie pieniędzy?

Korzyści ze składania ofert na Freelancer.com

Ustal budżet i ramy czasowe
Otrzymuj wynagrodzenie za swoją pracę
Przedstaw swoją propozycję
Rejestracja i składanie ofert jest bezpłatne
5 freelancerzy składają oferty o średniej wysokości $525 USD dla tej pracy
Awatar Użytkownika
See private message.
$297,50 USD w 5 dni
5,0 (113 opinii)
6,7
6,7
Awatar Użytkownika
See private message.
$1 275 USD w 5 dni
5,0 (1 opinia)
4,4
4,4
Awatar Użytkownika
See private message.
$297,50 USD w 5 dni
1,5 (3 opinii)
4,2
4,2
Awatar Użytkownika
See private message.
$212,50 USD w 5 dni
4,0 (1 opinia)
0,7
0,7
Awatar Użytkownika
See private message.
$544 USD w 5 dni
0,0 (0 opinii)
0,0
0,0

O kliencie

Flaga HONG KONG
Hong Kong
5,0
23
Członek od lis 20, 2003

Weryfikacja Klienta

Dziękujemy! Przesłaliśmy Ci e-mailem link do odebrania darmowego bonusu.
Coś poszło nie tak podczas wysyłania wiadomości e-mail. Proszę spróbować ponownie.
Zarejestrowani Użytkownicy Całkowita Liczba Opublikowanych Projektów
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Wczytywanie podglądu
Udzielono pozwolenia na Geolokalizację.
Twoja sesja logowania wygasła i zostałeś wylogowany. Proszę, zalogować się ponownie.