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

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

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

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

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

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

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


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

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

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы