Przepisywanie kodu z C# do C++

0

Witam, mógłby mnie ktoś nakierować gdzie popełniam błąd przepisując kod z C# do C++. Od razu mówię, że C# nie znam w ogóle i może dla kogoś to nawet nie będzie problem.

Tak ogólnie to próbuję napisać program, do odczytywania klucza systemu Windows (na razie bez odczytywaniu klucza z rejestru, tylko na próbę przypisałem ręcznie ciąg znaków z rejestru).

Kod oryginalny : http://dreamiteam.pl/blog/2012/04/09/odczytanie-klucz-windows-z-rejestru/

A tutaj mój (przepisany) :

Char ZnakiDozwoloneWKluczuWindows[24] = {'B', 'C', 'D', 'F', 'G', 'H', 'J', 'K', 'M', 'P', 'Q', 'R', 'T', 'V', 'W', 'X', 'Y', '2', '3', '4', '6', '7', '8', '9'  };

    Char kluczWindowsa[25];

    int ZakodowanyKlucz[15] = {0xFE, 0x04, 0x00, 0xE8, 0x44, 0x28, 0x31, 0xEE, 0xC4, 0x5F, 0xF4, 0xF7, 0x92, 0x69, 0x09};

    int i,j,k;

    for(i = 24; i >= 0; i--)
    {
        k = 0;

        for(j = 14; j >= 0; j--)
        {
            k = (k << 8) + ZakodowanyKlucz[j];
            ZakodowanyKlucz[j] = k / 24;

            k = k % 24;
        }

        kluczWindowsa[i] = ZnakiDozwoloneWKluczuWindows[k];
    }
1

Zdaje się w C++ masz inne aliasy struktur danych i nie ma Char pisanego z wielkiej litery. Zależy też jaki masz konkretny problem i jakie błędy...

0

Ogólnie to korzystam z Qt, więc u mnie zmienna znakowa jest QChar.

Po skompilowaniu w konsoli dostaję taki "klucz" :

0x7ffcac070ad0

0

Problem rozwiązany, nie wierzę ale pomogło zamiana QChar na char :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1