Find Jobs
Hire Freelancers

Modify open source program

$30-5000 USD

Cancelado
Publicado hace alrededor de 17 años

$30-5000 USD

Pagado a la entrega
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 del proyecto: 2933533

Información sobre el proyecto

5 propuestas
Proyecto remoto
Activo hace 17 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
5 freelancers están ofertando un promedio de $525 USD por este trabajo
Avatar del usuario
See private message.
$297,50 USD en 5 días
5,0 (113 comentarios)
6,7
6,7
Avatar del usuario
See private message.
$1.275 USD en 5 días
5,0 (1 comentario)
4,4
4,4
Avatar del usuario
See private message.
$297,50 USD en 5 días
1,5 (3 comentarios)
4,2
4,2
Avatar del usuario
See private message.
$212,50 USD en 5 días
4,0 (1 comentario)
0,7
0,7
Avatar del usuario
See private message.
$544 USD en 5 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de HONG KONG
Hong Kong
5,0
23
Miembro desde nov 20, 2003

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.