ProbeDroid é um kit de instrumentação de código Java dinâmico para aplicativos Android , que fornece APIs para os usuários criarem suas próprias ferramentas de instrumentação. Como resultado, os usuários podem rastrear, criar perfis ou alterar o comportamento de tempo de execução de um aplicativo interessado. Essencialmente, o método Java é a unidade básica de instrumentação . Para manipular os métodos interessados, os usuários devem substituir os gadgets de instrumentação do modelo e registrá-los para conectar os métodos interessados. Quando os métodos hooked são invocados durante o tempo de execução, o fluxo de controle é desviado para os gadgets. Nesse momento, os usuários podem manipular os argumentos de entrada do método in a box e o valor de retorno. No estágio atual, o ProbeDroid é direcionado ao Android 5.0 e superior. Para construir o kit ProbeDroid, os usuários simplesmente extraem o pacote do GitHub e seguem os comandos de construção. A árvore de origem do Android não é necessária.
Consulte o Wiki de construção de origem
Consulte Play and Hack Wiki
Clique na imagem para ver o vídeo de demonstração
Uma ferramenta de instrumentação simples que rastreia as strings convertidas do objeto StringBuilder e StringBuffer . Fazendo uma análise forense das strings convertidas, podemos notar que o GoogleMaps aplica reflexão Java para alguma autenticação de rede. Além disso, ele irá gerar dinamicamente algum código C/C++ e compilá-lo para renderização de mapas. |
Clique na imagem para ver o vídeo de demonstração
Uma ferramenta de instrumentação simples que rastreia as atividades e serviços iniciados . Fazendo uma análise forense dos componentes rastreados, podemos notar que o KKTix aplica vários tipos de atividades para renderizar as páginas de reserva de ingressos. Além disso, inicia um serviço para computação em segundo plano. |
Exceto pelo seguinte código-fonte:
android/art/runtime/
, common/log.*
, common/stringprintf.*
, common/utf.*
e common/macros.h
pertencem a [AOSP], que são licenciadas sob Apache v2.0 .common/libffi/
subtree pertence a [libffi], que é licenciada pelo MIT .Todo o código-fonte é licenciado pelo MIT . Consulte COPIANDO para obter detalhes.
Por favor, entre em contato comigo pelo e-mail [email protected] .
Observe que o kit ainda está em construção. Contribuição e relatório de bugs são desejados.