Небезопасно ли вводить интегрированное приложение Android для Android в github? [Дубликат]

Мое решение:

class Program
{
    public static void Main()
    {
        byte[] pattern = new byte[] {12,3,5,76,8,0,6,125};

        byte[] toBeSearched = new byte[] { 23, 36, 43, 76, 125, 56, 34, 234, 12, 3, 5, 76, 8, 0, 6, 125, 234, 56, 211, 122, 22, 4, 7, 89, 76, 64, 12, 3, 5, 76, 8, 0, 6, 125};

        List<int> positions = SearchBytePattern(pattern, toBeSearched);

        foreach (var item in positions)
        {
            Console.WriteLine("Pattern matched at pos {0}", item);
        }

    }

    static public List<int> SearchBytePattern(byte[] pattern, byte[] bytes)
    {
        List<int> positions = new List<int>();
        int patternLength = pattern.Length;
        int totalLength = bytes.Length;
        byte firstMatchByte = pattern[0];
        for (int i = 0; i < totalLength; i++)
        {
            if (firstMatchByte == bytes[i] && totalLength - i >= patternLength)
            {
                byte[] match = new byte[patternLength];
                Array.Copy(bytes, i, match, 0, patternLength);
                if (match.SequenceEqual<byte>(pattern))
                {
                    positions.Add(i);
                    i += patternLength - 1;
                }
            }
        }
        return positions;
    }
}
52
задан hitraj47 21 May 2016 в 02:37
поделиться

2 ответа

Файл google-services.json , из документа FireBase doc :

Firebase управляет всеми вашими настройками API и учетными данными через один файл конфигурации. Файл называется google-services.json на Android и GoogleService-Info.plist на iOS.

Кажется, имеет смысл добавить его в .gitignore и не включать в публичное репо. Это обсуждалось в issue 26 , с более подробной информацией о том, что содержит google-services.json .

Проект, подобный googlesamples/google-services имеет в своем .gitignore , например. Хотя комментировал stepheaw , этот поток упоминает

Для библиотеки или примера с открытым исходным кодом мы не включаем файл JSON, потому что намерение заключается в том, чтобы пользователи вставляли свои собственные, чтобы указать код на свой собственный бэкэнд. Вот почему вы не увидите файлы JSON в большинстве наших репозиториев firebase на GitHub.

Если «URL базы данных, ключ API Android и ведро хранения» не являются для вас секретами, вы можете подумать о добавлении файла в свое репо. Как упоминалось в « Безопасно ли от google-services.json от хакеров? », это не так просто.

38
ответ дан VonC 18 August 2018 в 18:44
поделиться
  • 1
    Это не совсем правильно; инженер Firebase сказал, что okay проверяет контроль источника. @ Ярон отвечает. – Willie Chalmers III 24 August 2017 в 00:51
  • 2
    @WillieChalmersIII ОК. Я соответствующим образом изменил ответ. – VonC 24 August 2017 в 06:37

Из этого обсуждения , кажется, вы можете добавить его в публичное репо. Его содержимое в любом случае попадает в APK и, вероятно, легко извлекается.

11
ответ дан Yaron 18 August 2018 в 18:44
поделиться
  • 1
    Я согласен, и сейчас я работаю над этой проблемой. Есть ли способ зашифровать ключи в этом файле от кого-то, кто декомпилирует APK? – stepheaw 4 August 2017 в 14:19
  • 2
    Хотя определенно верно, что ключи API можно легко извлечь из apk, вопрос состоял в том, следует ли google-services.json быть привязанным к исходному управлению в открытом репозитории с открытым исходным кодом . И в подавляющем большинстве случаев ответ определенно НЕТ - если владелец репо не хочет, чтобы весь мир использовал свою квоту API учетной записи Google по умолчанию. @ Ответ VonC. – friederbluemle 29 October 2017 в 14:01
  • 3
Другие вопросы по тегам:

Похожие вопросы: