Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2017, 14:33   #1
z768
Пользователь
 
Регистрация: 21.11.2013
Сообщений: 45
По умолчанию Прошу помочь

В Си не силен.
Есть функция из исходников...
Код:
char encoding_string[] = "xiaoyi firmware--z18";
Код:
if (firmware_type == FIRMWARE_TYPE_Z18) {
               out ^= encoding_string[(i + encoding_offset) % (sizeof(encoding_string) - 1)];
                ++i;
            }
Не могу понять каким образом идет преобразование.
Выполняется в цикле, дело не в этом.
Понимаю что идет заполнение массива.
В принципе и исходник на Си могу выложить.
Если кому не сложно, объясните пож.
z768 вне форума Ответить с цитированием
Старый 04.11.2017, 14:55   #2
z768
Пользователь
 
Регистрация: 21.11.2013
Сообщений: 45
По умолчанию

Ребята, мне не нужно готовое решение.
Мне нужно понять смысл.
Ну невозможно за 4 дня понять Си.
z768 вне форума Ответить с цитированием
Старый 04.11.2017, 15:01   #3
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Какое заполнение массива? Единственный символ out накрывается по xor маской, взятой из строки кодирования. Символы маски берутся из строки, видимо, последовательно, на последнем возврат в начало.

Если что-то ещё не понятно, спрашивайте более конкретно.
Black Fregat вне форума Ответить с цитированием
Старый 04.11.2017, 15:08   #4
z768
Пользователь
 
Регистрация: 21.11.2013
Сообщений: 45
По умолчанию

Спасибо.
Про маску я думал, только в синтаксисе не силен.
Ну из исходника многое понятно.
В массив out вываливается количество байт, которые потом сохраняются в файл.
z768 вне форума Ответить с цитированием
Старый 04.11.2017, 17:19   #5
z768
Пользователь
 
Регистрация: 21.11.2013
Сообщений: 45
По умолчанию

Black Fregat, спасибо огромное.
Попадание в центр.
Все остальное, разберусь.
z768 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помочь. ANton31 Общие вопросы C/C++ 0 11.09.2014 16:46
Прошу Помочь) Fhntvrf1 HTML и CSS 5 02.12.2013 20:12
Алгоритмы. Не прошу решить. Прошу помочь! pascaluser Паскаль, Turbo Pascal, PascalABC.NET 2 12.10.2012 08:45
Прошу помочь) Егоргий Помощь студентам 3 03.06.2012 20:34
Прошу помочь! DeusGPZ Общие вопросы C/C++ 4 17.10.2011 13:01