95 Shares 7561 views

Engenharia reversa para iniciantes. Todas as aplicações de protecção Android da engenharia reversa

Às vezes se quer ver, e que tipo de preenchimento de um programa específico? Então ele tem que usar uma engenharia reversa. O que é isso? Como isso funciona? Como é esse processo? Tudo isso você vai aprender com este artigo.

O que é um programas de engenharia reversa?

Assim chamado análise aplicação do processo, a fim de entender como ele funciona, para que no futuro, para recriar este processo, fazendo as mudanças necessárias. Normalmente usado para este depurador propósito e assembler. Dependendo da qualidade do software utilizado será diferente, eo resultado é a quantidade de tempo que deve ser gasto com ele para trazer de uma forma normal. Explique engenharia reversa para iniciantes o melhor exemplo. Como mesmo executar um aplicativo escrito para o Android. Agora vamos ser para descobrir o que e como.

Trabalhando com Android-aplicações

Primeiro precisamos esclarecer alguns pontos. O aplicativo usa o bytecode e LogCat. Este contrapartes locais mencionados anteriormente depurador e assembler. Também é necessário compreender a estrutura das próprias aplicações. Assim, cada programa é um arquivo com o apk extensão. Embalou zip'om. Estamos interessados em seu conteúdo – os recursos do aplicativo, classes.dex e AndroidManifest.xml. Se você fazer a programação no Android, os problemas com o primeiro eo último não deve ser. Mas classes.dex – este código byte programa que é compilado especificamente para a máquina virtual. Extrato de seu código-fonte java disponíveis na Internet não obter os fundos. Mas é possível obter opcodes Dalvik – um conjunto especial de comandos que são usados para a máquina virtual. Para uma analogia, podemos dizer que esta montagem de inundação local. Classes.dex também pode ser convertido em um arquivo com o frasco. Mesmo em tal caso, você pode obter um java-código após descompilação, que será mais ou menos legível. Esse é o caminho que vamos.

descompilação

Este processo será realizado utilizando o programa Apk Manger. Antes de começar, certifique-se de que não é o driver correto para devaysa e funcionando o modo USB-depuração. Inicialmente, teremos de mover o arquivo que será analisada em uma apk_manager directiva lugar-apk-aqui-para-modding. Depois que você deve executar Script.bat. Se não houver nenhum problema, em seguida, iniciar o console, que será letras verdes. Selecione o número do ponto nove – "Decompile". Uma vez que o processo é iniciado, é necessário não fechar console. Então, o interesse aberto apk-arquivo usando o arquivador e extrato dele classes.dex, para ser processado dex2jar programa. Para nós, o resultado necessário é necessário para mover um objeto com o .bat extensão. Você vai ver o arquivo, que terminará em .jar. Até agora, a janela não fecha.

analisamos dados

Para obter informações sobre o aplicativo, você deve abri-lo manifesto. De acordo com ele, nós determinamos que atua como atividade principal. Foi ela que agora apresenta a maior importância para nós. Também é desejável a olhar para a parte inferior do programa. Se o fundo é a informação sobre o gerenciador de licenças, é significativamente difícil de realizar engenharia reversa. Se você alternar para jd-gui e expanda a árvore, podemos ver vários namespaces. Suponha que a três deles. No primeiro estão os arquivos associados com publicidade. A segunda será as classes gerenciador de licenças. Na terceira, nós somos os dados necessários. É quando vamos. Haverá necessidade de encontrar e remover a chave, e depois o resto das linhas que verificam se licenciado versão de trabalho. Todos estes precisam ser limpos. Então, em nossa Apk Gestor procurando um lugar onde lugar bytecode especificado. Agora vamos fazer uma pequena digressão e comente a equipe, que pode potencialmente causar problemas. Depois disso, só temos de compilar o programa.

construir aplicações

Isso vai ajudar-nos a todos a mesma Gestor Apk. No console, que não têm bloqueado, selecione o item №14. Próximo truque. Se o aplicativo é bastante complicado, quando você começar, pode parcial ou completamente perder a sua eficiência. Não se preocupe, isso significa que estamos apenas no meio do caminho e em outro lugar para ir. Continuamos a realizar aplicativos Android Todos os engenharia reversa-. Dizer, o que fazer em um caso particular, em termos gerais, infelizmente, é impossível. Portanto, procure áreas problemáticas terá seu próprio. Por exemplo, se uma janela de aplicação está bloqueada janela pop-up, você deve ver o código e remover a parte que é responsável por este diálogo. Para ajudar com isso pode jd-gui. Como você pode ver, a engenharia reversa não é um negócio fácil, e requer uma loja considerável de conhecimento. Mesmo que tudo é executado sem problemas, será necessário testar o desempenho dos aplicativos. Ou seja, a engenharia reversa é mais atividade demorada. Continuamos a trabalhar até que todos os problemas são identificados.

segurança

E se precisamos de proteção Todos os apps aplicação da engenharia reversa? Neste caso, há duas opções: o uso de programas específicos ou a criação de uma estrutura de código que irá interferir para fazer a análise de escrita. A última opção é adequada apenas profissionais experientes, por isso vamos considerar apenas o primeiro método de proteção. Como ProGuard utilização de software especializado. Esta aplicação, que é usado para reduzir, ofuscação e otimização de código. Se a "perseguição" programa através dele, temos um arquivo com a extensão * .apk menor do que ele era. Em tal caso, seria muito mais difícil de desmontar. E a vantagem deste programa é que ele mesmo foi introduzido nos construir aplicativos Android com atualizações R9. Portanto, tirar proveito dela é qualquer desenvolvedor que tem ferramentas padrão de criação e desenvolvimento.

conclusão

Não podemos dizer que a engenharia reversa pode ser representado como algo uniformemente bom ou ruim. É claro que, do ponto de vista dos desenvolvedores, que criaram um aplicativo, ele não é um evento feliz. Mas, por outro lado, em muitos casos programadores experientes escrevem os arquivos necessários pode ser um momento menos caro do que o uso de tais ferramentas. Embora para os desenvolvedores iniciantes engenharia reversa pode render um bom serviço se não houver nenhuma idéia de como implementar algo, mesmo exemplar, e não muito claro esboço pode ajudar com a realização deste objectivo.