[решено] перевести с С на AutoIT

Ответить
Аватара пользователя
JaguarSP

[решено] перевести с С на AutoIT

Сообщение JaguarSP »

Here is the C code -



Код:

Код: Выделить всё

static void PasswordDecode(char * szPassword) 
{ 
char szEncode[1024]; 
char strDecodePass[_MAX_BUF_LEN + 1]={""}, strPass[_MAX_BUF_LEN + 1]={""}; 
strcpy(strDecodePass, szPassword); 
for(unsigned int i = 0; i < strlen(strDecodePass)/3; i ++) 
{ 
char szCode[_MAX_BUF_LEN + 1]; 
strcpy(szCode, strDecodePass + i * 3); 
szCode[3] = 0; 
int nCode = atoi(szCode); 
nCode = 999 - nCode; 
sprintf(szEncode, "%c", nCode); 
strcat(strPass, szEncode); 
} 
strcpy(szPassword, strPass); 
return; 
};

надо понять что тут написанно на С и перевести на язык AutoIT...Или просто сказать процессы это скрипта а в автоит мб сам переведу...Изображение
Аватара пользователя
amel27

Re: [решено] перевести с С на AutoIT

Сообщение amel27 »

JaguarSP, только навскидку (надо сверять с результатом на Си):



последовательность цифр делится на подстроки по 3 символа, каждая из которых преобразуется в число, результат отнимается от 999, разница обрезается до 1 байта, который представляет ASCII код символа результирующей строки





Код:

Код: Выделить всё

$sPass = "12345678901234567890"
ConsoleWrite($sPass &@CRLF)
ConsoleWrite(PasswordDecode($sPass) &@CRLF)
Func PasswordDecode($sPassword)
    Local $sEncode = ""
    For $i=1 To StringLen($sPassword) Step 3
        $sEncode &= Chr(BitAND(999 - Number(StringMid($sPassword, $i, 3)), 0xFF))
    Next
    Return $sEncode
EndFunc
Ответить

Вернуться в «AutoIt»