Bem-vindos de volta, amigos.
Um aspecto sobre o qual não falamos até agora é o tempo.
E o momento certo é muito importante para a liberdade.
Por quê?
Vamos simplesmente descobrir.
Portanto, aqui temos um aplicativo, e o que fizemos até agora foi simplesmente nos conectarmos a um processo
já em execução.
O aplicativo foi iniciado e o status não era de execução.
Depois disso, nós nos conectamos a esse processo, corrigimos os métodos e interferimos nele, o que
foi muito divertido.
Mas agora vamos supor que temos o seguinte caso e já temos esse caso em nosso aplicativo de verificação de raiz.
Portanto, quando iniciamos esse aplicativo, muitas coisas acontecem, mas vamos nos concentrar apenas nos seguintes caminhos.
Então, pressionamos esse ícone na tela inicial do nosso smartphone e, em seguida, o aplicativo é iniciado e terá
a seguinte aparência em um nível muito alto.
Quero dizer, há muitas coisas acontecendo, mas, como já foi mencionado, vamos nos concentrar nessas coisas.
O método on create está sendo capturado.
Este aqui e agora vamos supor que esse método de criação também esteja chamando outro método.
Por exemplo, verifique o método raiz aqui.
Isso significa que o dispositivo é sinalizado como roteado e agora o aplicativo está em execução.
Se agora você estiver pegando nosso laptop e se conectando com o leitor a esse aplicativo já em execução, não
poderemos mais alterar esse evento porque o dispositivo já foi sinalizado como enraizado nesse método.
E, para ser sincero, não podemos ser tão rápidos, portanto, não podemos nos conectar enquanto o aplicativo ainda está sendo inicializado
e tentar enganchar e substituir esse método.
Sim.
Enquanto estiver sendo colocado.
Portanto, precisamos de uma maneira diferente.
E o autor já pensou nesse problema, e a solução para ele é bastante surpreendente.
Portanto, em vez de nos conectarmos a um processo em execução, podemos simplesmente assumir o controle de toda a inicialização
desse processo.
Também podemos dizer gratuitamente para iniciar um aplicativo para nós.
E o bom disso é que, antes de o aplicativo começar, temos o controle em liberdade.
Portanto, podemos começar nesse ponto e dizer: "Por favor, inicie esse aplicativo e forneça nosso script
o mais rápido possível".
Isso significa que podemos iniciar um aplicativo e já podemos fornecer nosso script a esse processo de aplicativo
antes mesmo de ele ser completamente inicializado.
Também podemos assumir o controle e fazer uma pausa na equipe adicional e, em seguida, reescrever esse aplicativo.
Isso é incrível e absolutamente necessário porque, se tivermos um aplicativo como o nosso aplicativo
de verificação de raiz, precisaremos aplicar nosso patch antes que esse aplicativo já tenha
sido lançado.
Portanto, vamos dar uma olhada em nosso aplicativo Tieza mais uma vez em relação a todo esse processo.
Não é realmente complexo.
Quero dizer, é muito fácil.
E na próxima seção, veremos o aplicativo de roteamento.
Portanto, esse pode ser um tipo de desafio em que teremos que descobrir ou corrigir esse aplicativo em relação
à liberdade.
Portanto, esse tempo é absolutamente necessário e, por isso, vamos mudar para a VM
do Ubuntu e brincar com ela.
Aqui está.
Agora, vamos dar uma olhada em como podemos iniciar um aplicativo com três e já fornecer nosso script para esse
aplicativo.
Portanto, mesmo antes de esse aplicativo ser carregado, nosso script já estará aplicado.
Isso parece absolutamente incrível.
Vamos dar uma olhada primeiro.
Vamos recuperar nosso smartphone aqui.
Desta vez, estou usando um dispositivo real.
Quero dizer, isso não importa absolutamente nada.
Podemos fazer exatamente o mesmo em nossa máquina virtual.
Então, aqui estamos com nosso aplicativo de dados.
Vamos ver se isso funciona.
Sim, funciona.
Também podemos ouvir a vibração no smartphone real.
Aqui está.
Está bem.
Mas agora vamos supor que queremos aplicar nosso patch antes que esse aplicativo seja iniciado.
Vamos para o diretório de aplicativos, onde temos nossos scripts de liberdade.
Neste caso.
Por exemplo, vamos abrir isso com o código do Visual Studio.
Muito bem, aqui temos nosso código.
E esse estava relacionado ao preenchimento dessa matriz com um, dois, três, quatro, cinco e assim por diante.
Depende da quantidade de dados que estamos fornecendo com o parâmetro um.
Sim, exatamente.
Muito bem, então vamos aplicar o script.
Como podemos fazer isso?
E, antes de tudo, precisamos iniciar o Freedom Server.
Portanto, em dados, temporários locais, preciso de privilégios de root.
Agora podemos iniciar esse servidor gratuito e, no meu pixel 3, estou usando a versão de 64 bits desse
servidor gratuito, porque esse é um dispositivo de 64 bits, se o Rita estiver sendo executado em segundo plano
no smartphone, agora vamos ver os aplicativos e a privacidade.
Depois, temos nosso roteiro.
Chama-se Dice.
Um, dois, três, quatro, cinco, seis.
Tudo bem.
Para o lançamento, o processo e a liberdade, talvez.
Vamos dar uma olhada rápida na função de ajuda.
Portanto, libere o painel, painel, socorro.
Vamos ver o que temos aqui.
Um monte de coisas.
Aqui está.
Gerar e depois esse arquivo com arquivo.
Ou seja, temos que fornecer o nome do pacote e este é o arquivo, o aplicativo que será gerado
depois.
Tudo bem.
Então, com isso, podemos executar nosso aplicativo.
E também não há pulso.
Esses são nossos dois parâmetros, traço F e sem pausa.
Tudo bem.
Portanto, estamos usando o Frieda com a conexão ADB e, em seguida, dizemos dash F e agora precisamos fornecer o nome
do pacote desse aplicativo ou design executável amigável à privacidade.
E agora precisamos aplicar nosso script.
Portanto, dados um, dois, três, quatro, cinco, seis.
Muito bem, vamos deixar isso de lado.
E se você começar agora mesmo, poderemos observar isso no smartphone.
Então, pressiono Enter e agora podemos ver o uso da retomada para permitir que a ameaça principal comece a ser executada, de modo que o aplicativo
seja iniciado, mas pare aqui.
Agora estamos lançando esse processo com liberdade e já anexamos nosso roteiro a esse processo.
Isso significa que, se você estiver digitando o currículo, podemos ver que o aplicativo está carregando perfeitamente.
Se você clicar agora, lance os dados.
Muito bem, podemos ver que nosso script já foi aplicado.
Quero dizer, pode ser sorte.
Vejamos.
Sim, parece funcionar.
Talvez.
Vamos aumentar.
Este parece bom.
Sim.
Portanto, aqui podemos ver que nosso script já foi aplicado.
Portanto, aqui podemos ver que este está funcionando perfeitamente.
Mas o que era isso?
Nenhuma opção de postagem neste momento.
Vamos resolver isso.
Portanto, se fecharmos essa saída aqui e a executarmos novamente, veremos que precisamos retomar essa
ameaça manualmente.
Portanto, Freida está segurando o processo neste momento e isso é incrível porque agora podemos interagir
com o 3D.
Também podemos aplicar nosso script a essa interface de linha de comando aqui ou brincar com as funções
internas.
Por exemplo, há coisas como o Java DOT que enumera as classes carregadas e coisas desse tipo.
Tudo bem.
Com relação a isso, no momento, é um pouco incômodo ter que sempre fazer esse processo manualmente
e, portanto, não há opção de postagem.
Portanto, agora temos que retomar esse processo manualmente.
Mas se você não quiser fazer isso, podemos usar isto.
Traço, traço, sem pausa.
Vou aumentar um pouco o tamanho.
Aqui está.
Então, esse processo não para.
E o mais incrível é que Alfreda também está reiniciando esse processo.
Portanto, à direita, podemos ver que esse processo já foi carregado, mas agora podemos usar o freedom
para reiniciar esse processo, aplicar nosso script e, dessa vez, ao acrescentar no pause, podemos ver que a ameaça principal
já foi retomada.
E isso significa que, se acertarmos o roll dies, sim, teremos nosso script já aplicado.
Nesse caso, temos essa exceção não encontrada porque eu, eu sim, estou atrasado nisso agora.
Portanto, vamos fazer isso mais uma vez.
Mas o bom é que não precisamos configurá-lo o tempo todo.
Podemos simplesmente pressionar o botão de seta superior do teclado e executar o último comando mais uma vez.
E aqui temos este aplicativo.
Então, testar com três é incrível.
Vamos ver se aumentamos esse.
Tudo bem.
Aqui podemos ver.
Sim, nosso script foi aplicado com sucesso.
Tudo bem.
Então, isso é tudo para este vídeo agora.
Vimos como podemos interagir com o 3D e como a liberdade torna nossa vida muito mais fácil.
Podemos simplesmente usar isso para iniciar e fornecer nosso script, de modo que possamos modificar nosso script
aqui e simplesmente reiniciar o aplicativo sem nenhum menu ou esforço, o que é incrível, certo?
Com certeza.
E na próxima seção, temos um desafio, porque agora estamos equipados com toda a habilidade e conhecimento
para corrigir nossa detecção de disparo com liberdade.
Portanto, estou ansioso para vê-lo no próximo vídeo.