Find Jobs
Hire Freelancers

Modify open source program

$30-5000 USD

Anulat
Data postării: circa 17 ani în urmă

$30-5000 USD

Plata la predare
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**
ID-ul proiectului: 2933533

Despre proiect

5 propuneri
Proiect la distanță
Activ: 17 ani în urmă

Vrei să câștigi bani?

Avantajele de a licita pe platforma Freelancer

Stabilește bugetul și intervalul temporal
Îți primești plata pentru serviciile prestate
Evidențiază-ți propunerea
Te înregistrezi și licitezi gratuit pentru proiecte
5 freelanceri plasează o ofertă medie de $525 USD pentru proiect
Avatarul utilizatorului
See private message.
$297,50 USD în 5 zile
5,0 (113 recenzii)
6,7
6,7
Avatarul utilizatorului
See private message.
$1.275 USD în 5 zile
5,0 (1 recenzie)
4,4
4,4
Avatarul utilizatorului
See private message.
$297,50 USD în 5 zile
1,5 (3 recenzii)
4,2
4,2
Avatarul utilizatorului
See private message.
$212,50 USD în 5 zile
4,0 (1 recenzie)
0,7
0,7
Avatarul utilizatorului
See private message.
$544 USD în 5 zile
0,0 (0 recenzii)
0,0
0,0

Despre client

Steagul HONG KONG
Hong Kong
5,0
23
Membru din nov. 20, 2003

Verificarea clientului

Mulțumim! Ți-am trimis prin e-mail linkul pe care trebuie să-l accesezi pentru a revendica creditul gratuit.
A apărut o eroare la trimiterea e-mailului. Încearcă din nou.
Utilizatori înregistrați Totalul proiectelor postate
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Se încarcă previzualizarea
S-a oferit permisiunea de depistare a locației.
Ți-a expirat sesiunea pentru conectare sau te-ai deconectat. Conectează-te din nou.