Hvordan kører jeg dette encode.c script?
Jeg er noob på dette område, men jeg håber at i kan hjælpe mig anyway:-) Jeg har et script som skal encode en streng, men hvordan kalder jeg det og får den til at encode min streng?encode.c:
WCHAR * encode(WCHAR * str){
WCHAR s1[] = L"ad^@pwpDD90RTRodmfuIY!Fuoedmfookiry$leflxpOs cI;0(Lmfm,UDYLHFPg$#LSPAS5496@dsfkJKsD#GD&SPd(UlepxzmsjwK&lxll7dlf$lCXd6s5lflSrRep9c";
WCHAR s2[] = L"dmsFm%$FwGp45xp=dguy6P+juky8o99pfoer4Ioko-5dsFpo6fGj2ytS&_D0F0DGh1p3$%j4ov8p7os$5Ga6o3p6^w3jo(pefpcld$%^VDs234J870JGger6ssdasd)";
WCHAR s3[] = L"pp@,.GHf5F4RT<sdleBSeIw54WKmymOvdf$dL40cPmxkB;R++Dmzo3'U][Y0(50b k4&5D-.ES<?0K,$dk45sJpdGDkoPrtLXMtyWUfggOVP(6Ff54gd0r%^%fhdhLKX";
size_t length = wcslen(str);
size_t enc = (length > 128) ? 128 : length;
WCHAR * encoded = (WCHAR *) malloc(sizeof(WCHAR) * (length * 10 + 1));
if(encoded == NULL)
{
return NULL;
}
encoded[0] = '\0';
for(size_t i = 0; i < length; ++i)
{
wcscat(encoded, L"0x");
WCHAR hexa[9] = {0};
if(i < enc)
{
if(i % 3 == 0)
{
swprintf(hexa, L"%08x", str[i] + s1[i + 1]);
}
else if(i % 3 == 1)
{
swprintf(hexa, L"%08x", str[i] * s2[i - 1]);
}
else if(i % 3 == 2)
{
swprintf(hexa, L"%08x", str[i] ^ s3[i]);
}
}
else
{
swprintf(hexa, L"%08x", str[i]);
}
wcscat(encoded, hexa);
}
return encoded;
}