-
Notifications
You must be signed in to change notification settings - Fork 39
API Retorna - Versão desatualizada. Favor atualizar aplicativo. #37
Comments
Devem ter mudado o secret novamente ='( |
Sim. Funcionou muito bem até ontem. Hoje pela manhã parou. Vi que mudaram a url (https://cidadao.sinesp.gov.br/sinesp-cidadao/mobile/consultar-placa/v4). Fiz um teste com a url (https://cidadao.sinesp.gov.br/sinesp-cidadao/mobile/consultar-placa/v5) e retornou |
É triste ver um serviço tão útil ser "protegido" dessa forma ... tentei localizar o secret, mas sem sucesso... gerou mtos arquivos com dex2jar... e sem o "caminho das pedras" e alguma familiaridade anterior com o código dos cara ... fica difícil achar mesmo... vamos ter de aguardar um salvador rsrsrs |
Deem uma olhada nesse discord. Lá o pessoal tá conversando sobre a correção. Pode ser que saia lá antes. |
@Pedroasilva não dá pra acessar essa sala do discord pelo link que você informou. |
@Pedroasilva também não consegui acessar o discord. |
também não consegui acessar o discord. |
discord fora do ar e muitos outros sites.
problema na CloudFlare
Giovani Generali
…On Tue, Jul 2, 2019, 10:50 AM riti_ ***@***.***> wrote:
também não consegui acessar o discord.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#37?email_source=notifications&email_token=AAAKDW4UMIME2RSXOIXEB6LP5NMKFA5CNFSM4H43DPO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZBKYFQ#issuecomment-507685910>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAAKDW4X644ISUNT6S5TWXDP5NMKFANCNFSM4H43DPOQ>
.
|
o que descobri até o momento: |
Discord voltou, acompanhem |
Um resumo da situação atual... |
Já era.
Em ter, 2 de jul de 2019 às 15:10, elciocf <[email protected]>
escreveu:
… Um resumo da situação atual...
A SERPRO atualizou o aplicativo e agora a requisição precisa uma nova
chave "Firebase Id"
Isso dificulta, se não impossibilita, o acesso de terceiros que não o
próprio aplicativo do SINESP... infelizmente...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#37?email_source=notifications&email_token=AGXVDFXZVTNMWG3365QXVV3P5OKZNA5CNFSM4H43DPO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZCDQQI#issuecomment-507787329>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AGXVDFWB2TOKXRFRGNGO7FDP5OKZNANCNFSM4H43DPOQ>
.
|
Já era oficial? |
Alguém conseguiu? Obteve alguma novidade? Pelo que eu pude ver, eles de fato estão utilizando o FirebaseInstanceId para obter o ID e o TOKEN, gerando assim o cabeçalho da requisição:
Além da, como já foi citado, alteração da URL para https://cidadao.sinesp.gov.br/sinesp-cidadao/mobile/consultar-placa/v5 e alteração das libs para o android citadas por @eversonjjo Vi também que isso não é algo ligado diretamente com a chave de assinatura, ou seja, se você descompilar e compilar novamente o Apk do SINESP e utilizar uma chave qualquer para assinar o pacote, o aplicativo vai continuar funcionando. |
*FirebaseInstanceId* pelo que vi nao tem como recuperar esse cara.
Um monte de app que disponibiliza esse servico da sinesp quebrou..pq nao
acessa mais.
Em qua, 3 de jul de 2019 às 11:30, Carlos Henrique Fernandes Silva <
[email protected]> escreveu:
… Alguém conseguiu? Obteve alguma novidade?
Pelo que eu pude ver, eles de fato estão utilizando o *FirebaseInstanceId*
para obter o ID e o *TOKEN*, gerando assim o cabeçalho da requisição:
Authorization: Token TOKEN
Vi também que isso não é algo ligado diretamente com a chave de
assinatura, ou seja, se você descompilar e compilar novamente o Apk do
SINESP e utilizar uma chave qualquer para assinar o pacote, o aplicativo
vai continuar funcionando.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#37?email_source=notifications&email_token=AGXVDFSRFXZKRDEBTXZTJG3P5SZXTA5CNFSM4H43DPO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZEUJUY#issuecomment-508118227>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AGXVDFXMWMV47AU2JUD6GZTP5SZXTANCNFSM4H43DPOQ>
.
|
Estou buscando informações, mas ainda não obtive nada concreto. Alguém tem alguma informação nova? |
O que obtive até o momento
Segue exemplo de requisição curl -X POST \
https://cidadao.sinesp.gov.br/sinesp-cidadao/mobile/consultar-placa/v5 \
-H 'Authorization: Token c9pw3ekWMRg:APA91bGAwox1JBa0xtC0a8JnrdZwFLBpLX7O9pB2LA9jsnENtYoHnlM4_wL8BXysYp6dHydk02vmyWrAXJo6KtfsPIZojZYxOfIXvP2yubbWc1LpJ-kKKixYZSoIuHU7JGpIP1213X92' \
-H 'Content-Type: application/xml' \
-H 'Postman-Token: 376347da-2aa7-43fe-b1bd-a47f1f59e291' \
-H 'User-Agent: SinespCidadao / 3.0.2.1 CFNetwork / 758.2.8 Darwin / 15.0.0' \
-H 'cache-control: no-cache' \
-d '<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<v:Envelope xmlns:v="https://schemas.xmlsoap.org/soap/envelope/">
<v:Header>
<b>motorola XT1097</b>
<c>ANDROID</c>
<d>6.0</d>
<e>4.7.4</e>
<f>192.168.0.23</f>
<g>0cdb52abd9dfebf425fd0bc356bd4e36fcfe8722</g>
<h>0.0</h>
<i>0.0</i>
<k />
<l>2019-07-03 14:39:45</l>
<m>8797e74f0d6eb7b1ff3dc114d4aa12d3</m>
<n>c9pw3ekWMRg</n>
</v:Header>
<v:Body>
<n0:getStatus xmlns:n0="https://soap.ws.placa.service.sinesp.serpro.gov.br/">
<a>GGG6699</a>
</n0:getStatus>
</v:Body>
</v:Envelope>' |
De forma resumida, para que a consulta volte a funcionar é necessário que o FirebaseInstanceId de qualquer Cliente (seja ele um aplicativo ou não) gere um ID e TOKEN com a mesma chave que o aplicativo do Sinesp gera. Isso é possível? Alguém sabe qual chave o FirebaseInstanceId usa ao ser inicializado em um aplicativo? Obtendo esse ID e TOKEN, bastar montar a requisição que irá funcionar. Acredito que não seja algo fácil e talvez seja impossível |
Boa tarde, Fiz alguns testes aqui e pude perceber que a forma como o token é gerado foi alterado.
Porém se eu passar o token gerado pela classe ($this->token()) ele dá erro
PLACA : GGG6699
PLACA : GGG6699
Na classe ele gera o token dessa forma:
Creio que o secret abaixo tenha sido alterado.
@jhonata-menezes, como esse token 0cdb52abd9dfebf425fd0bc356bd4e36fcfe8722 foi gerado na tua requisição ? |
Não gerei pela aplicação, apenas coloquei um proxy para monitorar as requisições do App da Sinesp |
Está difícil entender o processo, descompilei e criei um repositório, caso alguém tenha conseguido descompilar em um formato melhor por favor avise Esse arquivo e linha pega o Token: https://github.com/jhonata-menezes/sinesp-app/blob/master/java/br/sources%5Cbr%5Cgov%5Csinesp%5Ccidadao%5Candroid%5Cg%5Ce.java#L107 Informações da conexão com o Firebase, retirado deste arquivo: https://github.com/jhonata-menezes/sinesp-app/blob/master/lib/res%5Cvalues%5Cstrings.xml#L55-L60 firebase_database_url: https://sinesp-178916.firebaseio.com |
Os cara pode até tentar dificultar..mas sempre tem um jeito.
Mas agora deixar as Keys e Urls desse tipo exposto é coisa de principiante.
Em qua, 3 de jul de 2019 às 18:09, Jhonata Menezes <[email protected]>
escreveu:
… Está difícil entender o processo, descompilei e criei um repositório, caso
alguém tenha conseguido descompilar em um formato melhor por favor avise
Esse arquivo e linha pega o Token:
https://github.com/jhonata-menezes/sinesp-app/blob/master/java/br/sources%5Cbr%5Cgov%5Csinesp%5Ccidadao%5Candroid%5Cg%5Ce.java#L107
Informações da conexão com o Firebase, retirado deste arquivo:
https://github.com/jhonata-menezes/sinesp-app/blob/master/lib/res%5Cvalues%5Cstrings.xml#L55-L60
firebase_database_url: https://sinesp-178916.firebaseio.com
gcm_defaultSenderId: 905942954488
google_api_key: AIzaSyAnV6TNrPwDB2gW-q0sMbSrkIFRsknK-QA
google_app_id: 1:905942954488:android:d9d949bd7721de40
google_storage_bucket: sinesp-178916.appspot.com
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#37?email_source=notifications&email_token=AGXVDFTLMW5XGZSO2YMOM2TP5UISPA5CNFSM4H43DPO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZFV6HQ#issuecomment-508256030>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AGXVDFVI5ABUJHJQTUXVOQLP5UISPANCNFSM4H43DPOQ>
.
|
São chaves públicas do Firebase, não tem nada fora do normal. |
Tem uma solução para obter o token do Firebase, utilize essa biblioteca: https://github.com/MatthieuLemoine/push-receiver E este SenderID: 905942954488 Acho que falta apenas uma etapa, como ele esta gerando o hash dentro do Header, ex.: <g>0cdb52abd9dfebf425fd0bc356bd4e36fcfe8722</g> |
@jhonata-menezes esse push-receiver pra gerer o token, gera o FirebaseInstalId:FirebaseToken que está indo no cabeçalho da requisição? |
SIm, o token que a lib gera é no mesmo formato do app. O novo secret tenho quase certeza que utiliza este token, mas ainda sem resultados concretos. Seria uma combinação de: token + versão do so (6.0 ou 8.1.0, etc) |
@maycon1038 Um que eu tinha capturado foi esse...
não sei se ainda é válido... capturei ontem |
} assim vc vai conseguir passar o pacote do aplicativo |
Consegui, segue as alterações necessárias
Commit com as alterações: casadosdados/push-receiver@99844c3 |
@jhonata-menezes deu certo aqui cara, parabéns. |
@eyamashita, onde é feita essa alteração? olhei nos arquivos do projeto e não encontro onde fazer as mudanças. |
é um pacote que é adicionado quando executa o "npm i" |
@WillianSUD eu desenvolvi em outra linguagem seguindo apenas as alterações nas requisições conforme elas iam sendo descobertas e postadas aqui. O script de checkin utilizei o exemplo postado pelo @maycon1038, e as demais requisições passando os parametros adicionais que o @jhonata-menezes foi descobrindo. Por isso não consigo te informar onde fazer essas mudanças. PS. Yamashita é quase igual Silva....kkkkk abraços |
@WillianSUD esse projeto do chapeu preto está desatualizado, antes da requisição pro SINESP são necessários duas outras requisições, que inclusive podem ser feitas no curl sem problema algum. Uma delas é a do checkin que vai gerar informações para serem utilizadas na segunda requisição (register) que é a que gera o token. Basicamente o fluxo fica: checkin -> register -> sinesp Sendo que a primeira e segunda requisições não são necessárias fazer todas as vezes, apenas quando elas se tornam inválidas. Se você pegar o exemplo do @maycon1038 e fazer o checkin com as modificações que o @jhonata-menezes informou, você terá dados válidos para fazer a segunda requisição que é o register, que é onde terá também alterações informadas pelo @jhonata-menezes |
@jhonata-menezes Parabéns!! Funcionou aqui também! Só por curiosidade, como você conseguiu chegar a essas conclusões com relação ao Checkin? abraço! |
ok, está funcionando, também seguir as orientações e conseguir reproduzir as etapas de chekin, register e sinesp em outra linguagem.. na verdade pelo que vi aqui o limite é renovado a cada 10min então basta usar com "moderação" ou se quiser um numero alto de consulta recorrer a proxy. |
Como você conseguiu reproduzir o checkin? Poderia compartilhar? |
olá @bgastaldi seguindo a orientação de @maycon1038 |
Comparando a requisição feita pelo app e a que nos fazemos. No checkin a partir de um projeto que criei no firebase e identificar o formato que a sinesp valida no servidor deles.
Sim, realmente estão fazendo o bloqueio a partir do ip, tem que trocar o proxy a cada requisição para não ter o bloqueio. Hoje tenho um projeto que faz algo parecido, mas não tem uma funcionalidade para filtrar os ip's desejados, por exemplo, apenas ip BR e de operadora (vivo, oi, claro, tim, ...). |
Estou testando um sistema de rotatividade de proxy. |
Blz. Achei o problema. Eu uso PHP, e preciso passar a requisição com protobuf. Sem isso estava dando PHONE_REGISTRATION_ERROR. FIXED! Se alguém tiver o invite para o Discord eu agradeço |
Precisa de convite. Tentei entrar não consegui |
Oi pessoal, parabéns pelo trabalho! pretendem atualizar a api Sinesp do Chapeupreto em php? |
Boa Tarde Pessoal alguém conseguiu implementar em PHP para compartilhar conosco ? |
Alguma novidade, conseguiram solucionar? |
O processo é fácil mas voce tem que implementar, vou postar o passo a passo 1 Etapa - registrando o aplicativo no cloud via api
2 Etapa - gerando o token firebase POST /c2dm/register3 HTTP/1.1 sender=905942954488&app=br.gov.sinesp.cidadao.android&device=4110676151848553255&app_ver=49&X-appid=eFMtyJXP3459&X-subtype=905942954488&X-app_ver=49&cert=daf1d792d60867c52e39c238d9f178c42f35dd98 3 Etapa - fazendo a consulta. POST /sinesp-cidadao/mobile/consultar-placa/v5 HTTP/1.1
|
@joaoescribano se puder compartilha seu código em um repositório aqui no Github. |
Pessoal, bom dia, o Sinesp voltou a quebrar. Aparece a mensagem: |
Bom dia,
Funcionou bem até aqui. A partir de hoje 02/07/2019 começou a retornar. "Versão desatualizada. Favor atualizar aplicativo."
O que será que mudou...?
The text was updated successfully, but these errors were encountered: