
Libere todo o poder dos seus fones de ouvido baseados em BES! :)
<h1 align="center"> openqore <br> <img src="https://assets.kitploit.com/production/public/readmes/7937/59eba04db6584ca6826b9cf3f0ce9e274dcd4921d152a8a17ee5d2ce2112afb4.png" width="40" alt="open-qore logo"> </h1> um kit de ferramentas de código aberto para aplicar patches, modificar e aprimorar o firmware de fones de ouvido baseados nos chipsets BES (originalmente iniciado a partir do soundcore Q35), com suporte futuro para outros modelos planejado. > **nota:** este projeto é minha jornada pessoal no mundo da engenharia reversa de hardware e sistemas embarcados. espere bugs, erros e muita diversão. todas as contribuições e conselhos são bem-vindos! <p align="center"> <a href="https://github.com/nnonickreal/openqore"><img src="https://img.shields.io/badge/status-in%20development-orange?style=for-the-badge" alt="Status"></a> <a href="https://github.com/nnonickreal/openqore/blob/main/LICENSE"><img src="https://img.shields.io/github/license/nnonickreal/openqore?style=for-the-badge" alt="License"></a> <a href="https://github.com/nnonickreal/openqore/stargazers"><img src="https://img.shields.io/github/stars/nnonickreal/openqore?style=for-the-badge" alt="Stars"></a> <a href="https://github.com/nnonickreal/openqore/issues"><img src="https://img.shields.io/github/issues/nnonickreal/openqore?style=for-the-badge" alt="Issues"></a> </p> # informações importantes! (navegação rápida) **você quer:** * aplicar patch no firmware do seu fone de ouvido? -> qorepatcher (este repositório, veja abaixo o início rápido) * instalar / desenvolver o firmware personalizado? (`apenas dispositivos soundcore baseados no bes2300p` no momento) -> [openqore SDK](https://github.com/nnonickreal/openqore-sdk) * gravar uma atualização / instalar firmware personalizado por over-the-air? (OTA) -> [Arquivos OTA para dispositivos BES](https://github.com/nnonickreal/openBES/blob/main/archive/FIRMWARES.md) e [besota](https://github.com/nnonickreal/besota) - gravador OTA para BES * gravar uma atualização via UART / restaurar após uma atualização ruim ou fazer um backup? -> [guia de gravação de hardware](https://github.com/nnonickreal/openqore/blob/main/docs/UART_things/FLASH_MP.md) também criei um projeto de demonstração - um [port do DOOM](https://github.com/nnonickreal/DOOMcore) baseado no projeto [DOOMBuds](https://github.com/arin-s/DOOMBuds). dê uma olhada também! =) <h2 align="center"> qorepatcher </h2> <p align="center"> <strong><a href="https://github.com/nnonickreal/openqore/blob/main/INDEX.md">📚 leia a documentação completa 📚</a></strong> </p> ## dispositivos suportados este projeto foi iniciado com o soundcore Life Q35. se você quiser ajudar a testar ou adicionar suporte para um novo modelo, por favor abra uma issue ou me mande uma DM (leia [contato](#contact--community))! leia [roadmaps e modelos](https://github.com/nnonickreal/openqore/blob/main/docs/roadmaps/RMS.md) para o status de suporte de chips e modelos. ### roadmap do projeto - [x] patcher de firmware inicial para substituição de som. - [x] fazer o patcher funcionar com todos os chipsets bes2300* (**atenção! precisa de testes**) - [ ] fazer o patcher funcionar com todos (ou a maioria) os chipsets bes - [x] criar uma GUI amigável para o patcher. - [x] fazer engenharia reversa do protocolo de atualização OTA (over-the-air) para gravação sem fio. (veja [besota](https://github.com/nnonickreal/besota)) - [ ] documentar a estrutura do firmware e funções principais. - [ ] desenvolver uma biblioteca de pacotes de som criados pela comunidade. ## início rápido este guia assume que você tem `python` e `git` instalados no seu sistema se você estiver no linux ou usando o modo CLI. **1. baixe a versão mais recente em [releases](https://github.com/nnonickreal/openqore/releases/latest) e abra o arquivo .exe.** **2. instale as dependências (apenas para CLI, linux e compilação)** o patcher requer FFmpeg para conversão de áudio e pybluez: **windows:** ``` pip install git+https://github.com/pybluez/pybluez.git winget install ffmpeg ``` **macos:** ``` pip install git+https://github.com/pybluez/pybluez.git brew install ffmpeg ``` **ubuntu/debian:** ``` pip install git+https://github.com/pybluez/pybluez.git sudo apt install ffmpeg ``` **3. obtenha seu arquivo de firmware** clique em "Browse firmware archive" e baixe o firmware (ou selecione a opção "patch firmware" -> "download from online archive" na CLI). além disso, você pode baixar a imagem OTA [aqui](https://github.com/nnonickreal/openBES/blob/main/archive/FIRMWARES.md) ou ler o flash com UART: [➡️ guia de hardware: conectando via UART](https://github.com/nnonickreal/openqore/blob/main/docs/UART_things/FLASH_MP.md) a leitura do flash via ota (over-the-air) está planejada para uma atualização futura. (se for possível :D) **4. parabéns!** você pode encontrar instruções de uso [aqui](https://github.com/nnonickreal/openqore/blob/main/docs/USAGE.md) ## faq <details> <summary>1. qual opção do firmware (sem OTA boot ou com ele) no qorepatcher eu devo selecionar?</summary> <br> se você está aplicando patch no dump do flash dos fones de ouvido, selecione a opção "with OTA boot". se você baixou a imagem de atualização OTA dos servidores oficiais de atualização, selecione a opção "without OTA boot". **nota:** se você aplicou patch no firmware sem OTA boot, você precisa [anexar o offset de OTA boot](https://github.com/nnonickreal/openqore/blob/main/docs/OTA_things/OTABOOT.md) antes de [gravar via UART (bestool).](https://github.com/nnonickreal/openqore/blob/main/docs/UART_things/FLASHING.md) você **NÃO** precisa disso se estiver usando o script [besota](https://github.com/nnonickreal/besota)! </details> ## contribuindo contribuições são o que tornam a comunidade de código aberto um lugar incrível para aprender, inspirar e criar. quaisquer contribuições que você fizer são **muito apreciadas**. além disso, confira o [guia de criação de módulos](https://github.com/nnonickreal/openqore/blob/main/docs/contributing_guides/MODULE_SYS.md)! se você tem uma sugestão que tornaria isso melhor, por favor faça um fork do repositório e crie um pull request. você também pode simplesmente abrir uma issue com a tag "enhancement". não esqueça de dar uma estrela ao projeto! obrigado novamente! 1. faça um fork do projeto. 2. crie sua branch de funcionalidade (`git checkout -b feature/amazing-feature`). 3. faça commit das suas alterações (`git commit -m 'feat: add some amazing feature'`). 4. faça push para a branch (`git push origin feature/amazing-feature`). 5. abra um pull request. ## contato & comunidade <p align="left"> <a href="https://t.me/nnonick" target="_blank"><img src="https://img.shields.io/badge/telegram-@nnonick-2CA5E0?style=for-the-badge&logo=telegram" alt="telegram"></a> <a href="https://discord.gg/EPjhKzUHVq" target="_blank"><img src="https://img.shields.io/badge/discord-join_chat-5865F2?style=for-the-badge&logo=discord" alt="discord server"></a> </p> ## ❤️ apoie o projeto se você acha este projeto útil e quer apoiar seu desenvolvimento futuro, você pode me pagar um café ou alguns lanches via boosty! toda contribuição é muito apreciada e me ajuda a dedicar mais tempo ao openqore. <p> <a href="https://boosty.to/nnonick" target="_blank"><img src="https://img.shields.io/badge/support_me_on-boosty-FF8100?style=for-the-badge&logo=boosty&logoColor=white" alt="Boosty"></a> </p> ## agradecimentos este projeto ganhou vida com o uso extensivo de assistentes de codificação com IA. embora a engenharia reversa principal, a pesquisa e as decisões arquiteturais tenham sido feitas pelo autor, a IA desempenhou um papel crucial na aceleração do processo de desenvolvimento, escrevendo código boilerplate e depurando. este é um projeto moderno construído com ferramentas modernas. ## licença este projeto está licenciado sob a licença GPLv3. você pode encontrar o texto completo da licença no arquivo [license](https://github.com/nnonickreal/openqore/blob/main/LICENSE).