Duda con encriptación RC4
Publicado: 12 Oct 2015, 01:15
Hola,
Tengo un crypter programado en vb6 que encripta archivos con RC4 y agrega la password (string) como recurso al archivo encriptado final,
Ahora mi Stub es con c++ y al parecer no puedo desencriptar el archivo correctamente, este es mi codigo:
PD: Será que mi error esta en que la password se guarda como un string en vb6 y la funcion rc4 en c++ me pide un LPBYTE?
Tengo un crypter programado en vb6 que encripta archivos con RC4 y agrega la password (string) como recurso al archivo encriptado final,
Ahora mi Stub es con c++ y al parecer no puedo desencriptar el archivo correctamente, este es mi codigo:
unsigned char* ResourceManager::GetResource(int resourceId, char* resourceString, unsigned long* dwSize) {
HGLOBAL hResData;
HRSRC hResInfo;
unsigned char* pvRes;
HMODULE hModule = GetModuleHandle(NULL);
if (((hResInfo = FindResource(hModule, MAKEINTRESOURCE(resourceId), resourceString)) != NULL) &&
((hResData = LoadResource(hModule, hResInfo)) != NULL) &&
((pvRes = (unsigned char *)LockResource(hResData)) != NULL))
{
*dwSize = SizeofResource(hModule, hResInfo);
return pvRes;
}
*dwSize = 0;
return NULL;
}
Les queria pedir que me ayuden a encontrar mi error en el codigo porfavor! y asi poder publicar mi crypter
LPBYTE RC4(LPBYTE lpBuf, LPBYTE lpKey, DWORD dwBufLen, DWORD dwKeyLen)
{ }
int WinMain(){
// El archivo encriptado tambien se incorpora como recurso y lo obtengo de la misma forma que la KEY
unsigned long sizeKEY;
unsigned char* resourceKEY = ResourceManager::GetResource(133, 242, &sizeKEY);
if (resourceKEY == NULL) return 0;
unsigned char* lpKEY = (unsigned char*)malloc(sizeKEY);
memset(lpKEY,0,sizeKEY);
memcpy (lpKEY, resourceKEY, sizeKEY);
if (Archivo!= NULL)
{
Archivo = RC4(Archivo,lpKEY,sizeArchivo,sizeKEY);;
}
}
PD: Será que mi error esta en que la password se guarda como un string en vb6 y la funcion rc4 en c++ me pide un LPBYTE?