Как просто экспортировать данные из Яндекс.Ключ?

Мне нужно перенести сторонние ключи из Яндекс.Ключ в другое приложение. Какой наиболее простой способ это сделать? Техническая поддержка Яндекса сообщила, что можно перенести только из/в Яндекс.Ключ через резервное копирование в облако с использованием номера. 

Я также пробовал более сложный вариант, который включал следующие шаги: 
1. Запустить эмулятор Android (я использовал LDPlay).
2. Активировать ROOT.
3. Использовать ADB (встроенный в эмулятор) для загрузки frida-server.
4. Создать окружение Python и установить frida-tools с помощью pip.
5. Скачать динамические хуки с Frida CodeShare (realgam3/dynamichooks).
6. Настроить хуки:
```javascript
hook("com.yandex.auth.authenticator.storage.Vault.string", {
    logLevel: 1,
    arguments: ['java.lang.String'],
    stackTrace: false,
    callOriginal: false,
});
hook("com.yandex.auth.authenticator.storage.Vault.int", {
    logLevel: 1,
    arguments: ['java.lang.String'],
    stackTrace: false,
    callOriginal: false,
    stringifyResult: function (arg, ctx) {
        return arg.toString();
    }
});
hook("com.yandex.auth.authenticator.storage.Vault.long", {
    logLevel: 1,
    arguments: ['java.lang.String'],
    stackTrace: false,
    callOriginal: false,
    stringifyResult: function (arg, ctx) {
        return arg.toString();
    }
});
```
7. Запустить на хосте: `(.venv-frida) PS C:\Temp\frida> frida -U -l .\dynamic-hooks.js -f ru.yandex.key > log.txt`
8. В эмуляторе восстановить данные из облака в приложении Яндекс.Ключ.

В результате в логе получаются строки вида: 
```json
VERSION.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"],"result":"1"
TYPE.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"],"result":
```
Как вы считаете, есть ли более простой или эффективный способ выполнить эту задачу?
  • 11 сентября 2024 г. 5:43
Ответы на вопрос 2
Экспорт данных из Яндекс.Ключ может быть сложной задачей, учитывая ограничения, наложенные на доступ к данным приложений. Официальные методы, предоставляемые Яндексом, ограничены, что и подтверждает информация от технической поддержки.

### Официальный способ
На данный момент, самый простой и легальный способ перенести данные из Яндекс.Ключ в другое приложение — это воспользоваться функцией резервного копирования, доступной в приложении. С помощью облачного хранилища вы можете сохранить свои ключи и затем восстановить их на другом устройстве или в другом приложении, поддерживающем импорт из резервной копии.

1. **Создайте резервную копию данных** в Яндекс.Ключ, следуя указаниям в приложении.
2. **Восстановите** эту резервную копию на новом устройстве или в новом приложении.

### Неформальные методы
Ваши попытки с использованием Frida и ADB требуют глубоких технических знаний и могут нарушать условия использования Яндекса. Кроме того, такие методы могут привести к нестабильной работе приложения или даже к блокировке вашей учетной записи. Использование таких инструментов также может подразумевать риски в области безопасности, так как вы работаете с чувствительной информацией.

### Альтернативные решения
Если вы ищете более прямой способ, вот несколько альтернативных решений:

1. **Копирование вручную**: Если количество ключей небольшое, можно вручную переписать их из одного приложения в другое.
   
2. **Контакт с технической поддержкой**: Возможно, вы можете запросить у технической поддержки дополнительные возможности экспорта данных. Иногда такие запросы могут быть учтены в будущих обновлениях приложения.

3. **Использование сторонних инструментов**: Убедитесь, что использование сторонних инструментов не противоречит политике использования Яндекса, и они не требуют доступа к вашему аккаунту или паролям.

4. **Проверка доступных API**: Возможно, у Яндекса существуют API для работы с вашим аккаунтом и данными, которые могут позволить вам экспортировать информацию программно.

Поскольку на текущий момент нет официального и простого решения для миграции данных, рекомендуется придерживаться оригинального подхода с резервным копированием.
По ходу дела, метод описанный выше - единственный вариант
Похожие вопросы