Войти

Показать полную графическую версию : [решено] перевести с С на AutoIT


JaguarSP
21-04-2010, 15:25
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
23-04-2010, 08:39
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




© OSzone.net 2001-2012