Объяснить принцип работы декомпилированного кода - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Есть код который я получил с помощью ILSpy :
private unsafe void DecodeStr(sbyte* si, sbyte* so, int Len, byte Key)
        {
            for (int i = 0; i < Len; i++)
            {
                *(byte*)(so + (IntPtr)i / sizeof(sbyte)) = (byte)((int)(*(sbyte*)(si + (IntPtr)i / sizeof(sbyte))) ^ (int)Key + i);
            }
            *(byte*)(so + (IntPtr)Len / sizeof(sbyte)) = 0;
        }
Явно этот код написан на C++/CLI. Но вот как понять что тут происходит? Кто может объяснить как тут происходит декодирование? В папке с приложением лежать файлы *.odb, чтение строк происходит с них. Может кто знает как можно расшифровать текст в .odb файле, имея вот такой (для меня трудно понятный) код. Или может кто знает как правильно декомпилировать MC++ код? Спасибо!

Решение задачи: «Объяснить принцип работы декомпилированного кода»

textual
Листинг программы
private unsafe void DecodeStr(sbyte* si, sbyte* so, int Len, byte Key) {
    // этот код наверняка не будет компилироваться из-за приведений типов
    for (int i = 0; i < Len; i++) {
        *(so + i) = *(si + i) ^ Key;
    }
    *(so + Len) = 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы