Log de comandos de adb? -- adb camp android Relacionado O problema

Log ADB Commands?


0
vote

problema

português

Eu tenho um aplicativo que usa a interface ADB como comunicação com meu telefone Android. Quando eu executo o aplicativo e pressiono o botão, o aplicativo de alguma forma envia comandos para o meu Android, para ativar recursos especiais que existem no aplicativo Android.

minha pergunta é, posso salvar que ação o aplicativo faz? Especialmente comandos relacionados a adb? Como funciona? Quais são as referências e comandos?

Por exemplo, há um aplicativo chamado "Gamesir World" instalado no dispositivo Android, este aplicativo deve ser ativado recurso especial chamado "remapper", com a ajuda do PC, o nome do aplicativo PC é "xiaoji-vtouch.exe". Entre esta plataforma, vejo em '% Temp%' Pasta Windows, que o aplicativo Xiaoji tem uma pasta que contém ADB, então eu assumi que este aplicativo chamado de ADB Shell para ativar o "Gamesir World, Remapper Special". Eu quero saber o que o Xiaoji faz com o ADB, porque há outras opções para ativar esse recurso usando o produto do dispositivo chamado remapper A3, mas eu quero passar isso, talvez eu possa ativar esse recurso sem outro dispositivo.

Link de aplicativos Android, https://www.xiaoji.com/gsw/index_en.html Windows, https://www.xiaoji.com/download/ vtouch / xiaoji-vtouch-1.2.0.zip Documentações, https://www.xiaoji.com/help/gw/2274.html < / a>

english

I have an application that uses the ADB interface as communication with my Android phone. When I run the application and press the button, the application somehow sends commands to my android, to activate special features that exist on the android application.

My question is, can I save what action the application does? especially commands related to ADB? How does it work? What are the references and commands?

For Example, there is an app called "Gamesir World" installed on Android device, this app should be activated special feature called "remapper", with pc help, the name of pc app is "xiaoji-vtouch.exe". Between this platform, I see on '%temp%' windows folder, that xiaoji app have a folder that contains ADB, then I assumed this app called some of ADB shell to activate the "Gamesir World, Remapper Special feature". I want to know what the xiaoji do with the ADB, because there another options to activate this feature using there device product called A3 remapper, but I want to pass this, perhaps I can activate this feature without another device.

Link of Applications Android, https://www.xiaoji.com/gsw/index_en.html Windows, https://www.xiaoji.com/download/vtouch/xiaoji-vtouch-1.2.0.zip Documentations, https://www.xiaoji.com/help/gw/2274.html

  
     
     

Lista de respostas

2
 
vote

Existem várias soluções:

1. Substituir adb binário (veja comentários por mente curiosa)

Substitua o executável ADB no PC por um que chama o executável original do ADB e imprima todos os comandos. Esta variante é bem limitada, pois funciona apenas se o programa chama cada comando no staly adb shell commandxyz . Se abrir um shell e envia vários comandos no fluxo do shell, você não poderá rastreá-los.

2. Use um binário adb com rastreio ativado

ADB tem alguns recursos de rastreio no seu código-fonte. Por padrão, ele não está ativo, mas usando uma versão auto-compilada do ADB e um patch que ativa esses recursos, você poderá ver todos os comandos. Veja esta questão para obter detalhes: https://stackoverflow.com/questions/5791722/ Do-I-Habilitar-ADB-Rastreamento

3. Use ADB sobre IP e capturar os dados via Wireshark:

Conecte ao seu dispositivo via IP: adb tcpip 5555 e o uso do IP em vez da conexão USB. A conexão IP pode ser capturada pelo Wireshark (defina o filtro de captura para tcp port 5555 ).

O problema principal é que o ADB não trânsito comandos, mas caracteres individuais. Portanto, reconstruir o comando é bastante complicado, mesmo ao decodificar o tráfego TCP para a porta 5555 como protocolo ADB (enquanto em execução selecione "decodificar como" no menu de contexto).

Então você pode filtrar o tráfego para comandos ADB de saída: ip.src==<your PC IP> && adb.data

O principal problema é que geralmente todos os caracteres são enviados como indivíduo ADB DATA pacote com seus dados como 4 bytes comprimento + 4 bytes caracteres (caractere ASCII decodificado como inteiro).

A captura de tela a seguir mostra a captura do comando hello world 12345 digitado no shell ADB Abrir (consulte a última coluna e, nele, o último caractere de cada pacote de dados):

wireshark captura

 

There are several solutions:

1. Replace adb binary (see comments by Curious Mind)

Replace the adb executable on the PC with one that calls the original adb executable and print all commands. This variant is pretty limited as it only works if the program calls every command in the staly adb shell commandxyz. If it opens a shell and sends multiple commands in the shell stream you will not be able to trace them.

2. Use an adb binary with trace activated

ADB has some trace capabilities in it's source code. by default it is not active, but using a self-compiled version of adb and a patch that activates this capabilities you would be able t see all commands. See this question for details: https://stackoverflow.com/questions/5791722/how-do-i-enable-adb-tracing

3. Use ADB over IP and capture the data via Wireshark:

Connect to your device via IP: adb tcpip 5555 and the use the IP instead of the USB connection. The IP connection can the be captured by Wireshark (set the capture filter to tcp port 5555).

The main problem is that adb does not transit commands but individual characters. Therefore reconstructing the command is pretty complicated, even when decoding the TCP traffic to port 5555 as ADB protocol (while running select "Decode As" in the context menu).

Then you can filter the traffic for outgoing adb commands: ip.src==<your PC IP> && adb.data

The main problem is that usually every character is sent as individual ADB DATA packet with it's data as 4 bytes length + 4 bytes character (ASCII character decoded as integer).

The following sample screenshot shows the capture of the command hello world 12345 typed in on open adb shell (see the last column and in it the last character of each data packet):

Wireshark capture

 
 

Perguntas relacionadas

13  Como puxar apenas arquivos mais novos com "adb puxar"? (Utilitário Android SDK)  ( How to pull only newer files with adb pull android sdk utility ) 
com o comando "adb pull / sdcard /" posso copiar todo o conteúdo da memória interna do meu telefone Android no meu diretório local atual (e "ADB Pull / MNT / ...

1  Postei recuperações com Odin, por que minha bota do telefone não se curva?  ( I flashed recoveries with odin why doesnt my phone boot bow ) 
telefone Android Samsung S3, não enraizado, firmware de estoque. em ordem cronológica: Eu liguei a depuração USB, embora não pudesse usar fastboot. Eu usei ...

0  Boot-looping na Amazon 4K Fire Tv Stick  ( Boot looping on amazon 4k fire tv stick ) 
Estou tendo problemas com minha TV Amazônia 4K Fire. ontem, eu tive que parentar meu controle remoto para um pau diferente em nossa casa (porque alguém esqu...

7  Como alterar o "modo de rede preferencial" usando ADB sem reinicialização?  ( How to change preferred network mode using adb without reboot ) 
Estou tentando mudar o meu telefone (CM 12, estoque 4.2, tanto enraizado) Modo de rede preferido de "GSM / WCDMA" (0) para "somente WCDMA" (2) e vice-versa (p...

3  Pode "adb remonta" ser usado em um telefone de ações (desrotado)?  ( Can adb remount be used on a stock phone unrooted ) 
É possível usar adb remount com um firmware padrão e sem ter enraizado o dispositivo? Se não, existe outra maneira de forçar o sistema a fazer / sistema gra...

49  Existe uma maneira de executar o shell adb como raiz sem digitar em 'su'?  ( Is there a way for me to run adb shell as root without typing in su ) 
Existe uma maneira de executar o shell adb como root sem digitar su ? Eu quero ser capaz de ter acesso root sem entrar na concha. ...

3  Problema com adb no meu Nexus 4 (telefone não autorizado)  ( Problem with adb on my nexus 4 unauthorized phone ) 
Ao executar dispositivos ADB em cmd, ele diz que meu telefone não é autorizado. Parece que tem algo a ver com o prompt de impressão digital RSA. Não me lembro...

0  Forçando um tablet Android a se conectar a um WiFi do PC  ( Forcing an android tablet to connect to a wifi from pc ) 
um tempo atrás, eu tinha um tablet (Coby Kyros Mid9742), que ficou arquivado quando a tela parou (metade da área da tela sensível ao toque não reconhecerá toq...

3  ADB Shell Command que pode testar códigos MLS / SPC? [fechado]  ( Adb shell command that can test mls spc codes ) 
. Esta questão é improvável que ajude a futuros visitantes; Só é relevante para uma pequena área geográfica, um momento esp...

1  Xiaomi m8se fastboot loop ao tentar instalar o TWRP  ( Xiaomi m8se fastboot loop when trying to install twrp ) 
Ao tentar instalar o TWRP (versão mais recente para Xiaomi MI 8SE), consigo instalar o mais novo TWRP usando ADB (Fastboot Flash Recovery "C: Arquivos de Pro...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.