Como e como editar aplicativos Android. Nós abrimos, modificamos e pack aplicativos Android

Isso é novamente eu e minhas instruções para bules e cafeteira com fotos.

Desta vez vou te contar em detalhes sobre a substituição dos componentes do sistema Android no exemplo da modificação da cadeia de status.

Android é um pouco linux. Deve ser seguido por várias regras ao substituir arquivos para que o telefone não se transforme em um tijolo, para reviver que apenas preencher a perda de todos os dados memória interna Dispositivos. As seções internas são formatadas no sistema de arquivos que não o FAT32 em unidades flash. Nas propriedades do arquivo, entre outras coisas, as autorizações são armazenadas para diferentes grupos de usuários (o proprietário do arquivo, o grupo de host de arquivos, o restante dos usuários). Durante a operação S. arquivos do sistema Eles precisam ser salvos, porque ao carregar o sistema simplesmente podem não ser capaz de acessá-los e não inicializar normalmente.
Vamos começar com o kit de ferramentas.

Nós precisamos:

  • Gerenciador de arquivos que pode funcionar com direitos de raiz e permissões de arquivo. Root Explorer é mais adequado (você comprou, sim?)
  • O próprio arquivo modificado, que queremos colocar uma estação Asterminal (link no final do artigo).

Agora usamos uma das funções convenientes do Root Explorer. Vamos fazer uma toque longa em arquivo direitoPara ligar para o menu de contexto

E clique no item " Zip este arquivo."Para salvar o arquivo no arquivo zip no cartão SD. Depois de arquivar, obtemos essa mensagem:

Aperte o botão " Fique."Para ficar na pasta e fazer outra coisa.

Agora tudo está pronto para substituir o arquivo.
Eu já falei sobre direitos de acesso para cada arquivo. Para recriá-los em um novo arquivo, você deve primeiro vê-los a partir do antigo. Eles são representados por vários personagens "rwxrwxrwx". A primeira tríade - os direitos do proprietário, o segundo - os grupos proprietários, o terceiro - todos os outros usuários. Nosso arquivo é o direito "rw-r - r--".

Agora vá para um cartão SD, encontramos um arquivo modificado lá e selecioná-lo em seu menu de contexto " cópia de"Mas não com pressa para escolher a pasta" / System / App ", porque afetaremos imediatamente o sistema. Em vez disso, copie o arquivo para uma pasta especial para arquivos temporários" / dados / local / tmp "para trazer o arquivo na visão que aceitará o sistema.
Para começar, ligue para o menu de contexto do arquivo e selecione Item " Renomear."E apresente o nome do arquivo" systemui.apk ". Isso é exatamente porque no registro Linux de letras no nome assuntos, isto é," systemui.apk "e" systemui.apk "são arquivos diferentes.
Em seguida, você precisa alterar os direitos para o arquivo, porque agora eles estão quase certamente expostos para estar errado. Para fazer isso, ligue novamente o menu de contexto do arquivo long Tap e selecione Item " Permissões". Para o nosso significado" rw-r - r-- "as caixas devem ser colocadas como:

Clique " OK."E novamente ligue para o menu de contexto. Agora você precisa alterar o proprietário e o grupo para este aplicativo. Para fazer isso, escolha o item" Alterar os proprietários". Uma janela aparecerá com informações sobre o proprietário atual do arquivo.
Aqui é necessário fazer um pequeno retiro.
Na pasta "/ System / App", todos os arquivos possuem o usuário "raiz" (UID \u003d 0) e o grupo "raiz" (GID \u003d 0) e a pasta "/ System / Framework" domina o "sistema" do usuário (GID \u003d 1000) e "Sistema" (GID \u003d 1000).
Com base no precedente, defina os valores desejados e clique em " OK.".
E pela terceira vez, ligue para o menu de contexto para o arquivo e selecione-o nele " cópia de"E na caixa de diálogo Copiar, vá para a pasta" / System / App ". Agora nós cliquemos corajosamente" Colar."E leia com mais cuidado.
Quase imediatamente, o sistema informará que o processo de cadeia de status terminou de repente e sugerirá para executá-lo. Todas as tentativas serão malsucedidas. Deve haver várias ações entre a aparência das janelas. Antes de pressionar o botão, você precisa ligar para o menu do dispositivo, será avisado. Agora você tem que posicionar seu dedo sobre o lado esquerdo do botão. Agora você precisa clicar rapidamente três vezes com o dedo, para ter tempo para fechar o aviso, selecione o item de desligamento e confirme suas intenções.
Agora estamos aguardando o desligamento do telefone, lançá-lo e aproveite o resultado ou não aproveite e procurando um erro.

Edição aplicações do sistema O Android é mais frequentemente realizado quando o usuário do smartphone, um comprimido ou outro aparelho gerenciado por este sistema operacional, pára de satisfazer a corrente aparência programas instalados no fabricante do dispositivo ou vendedor. Outra razão pode ser a necessidade de produzir não apenas mudanças em relação a design gráfico Aplicativos Android, mas também afetando a localização de vários elementos e executam funções básicas.

Para fazer alterações no código, as habilidades de programação elementar são necessárias em quase todas as línguas (de preferência - Java e C ++). Para a substituição de gráficos, mãos e habilidades retas serão adequadas para trabalhar em um editor gráfico.

Primeiro de tudo, você deve decidir se é necessário simplesmente substituir os gráficos em aplicativos Android ou é necessário alterar o local dos elementos no sistema e fazer alterações mais profundas no código. A partir disso, depende dos seguintes passos, implicando trabalhar com o pedido como com o arquivo ou desmontagem total e edição.

Alterar gráficos nos aplicativos do sistema Android

Para simplesmente substituir ou modificar os gráficos originais (altere a cor dos botões, redesenhando imagens, etc.), basta ter um computador padrão arquadrador de Winrar. No dispositivo, ao mesmo tempo, o usuário deve ter direitos de Ruth (analógico conta Administrador no Windows), e também é desejável ter uma recuperação alternativa (CWM) e explorador raiz (para acessar o sistema de arquivos Android diretamente no próprio dispositivo).

Primeiro de tudo, você deve ativar na depuração USB no dispositivo e conecte-o a um computador usando um cabo USB e instale os drivers necessários. Geralmente eles estão em disco virtualque aparece quando conectado a um computador.

Então você também precisa fazer o download de um plug-play de ADB na Internet. Este plugin permite que você veja o sistema Android inteiro como um disco conectado com pastas. Todos os aplicativos do sistema estão localizados no endereço / sistema / app, bem como / sistema / framework. Encontrando o aplicativo desejado, basta copiá-lo para o computador. Se o plugin não estiver instalado, você poderá copiar o aplicativo com a extensão APK para o cartão SD removível usando o Rut-Explorer e, dê-lo, já está no computador.

Depois de copiar tal aplicação Você pode proceder para editar gráficos. By the way, todas as imagens em aplicativos Android são armazenadas no formato PNG, que é facilmente aberta por qualquer editor gráfico. Abrindo o arquivo do aplicativo usando o WinRAR, você pode ver várias pastas. Só estaremos interessados \u200b\u200bna pasta RES, dentro do que será encontrado, por sua vez, muitas pastas diferentes. Destes, apenas aqueles que têm a palavra "extraível" em seu nome são necessários.

Agora lembre-se do nosso tipo de dispositivo e resolução de sua tela. Se este for um smartphone, e a resolução é 240x320, então estaremos interessados \u200b\u200bna pasta Thingable e Drawable-LDPI. Se a resolução de 320x480 for, respectivamente, a pasta Drawable e Drawable-MDPI, e para a resolução de 480x800 - Pastas Drawable e Drawable-HDPI. Além disso, ambas as pastas também estão presentes, no título da qual há a palavra "terra" - são gráficos para o modo de retrato, isto é. Quando o dispositivo inclinado.

Se o tablet estiver nas mãos, então só estaremos interessados \u200b\u200bnas pastas Thingable e Drawable-MDPI para qualquer resolução de tela.

Copiando as pastas selecionadas para o computador, você pode substituir ou repintura as imagens originais para o olho desejado e agradável. Você deve prestar atenção especial às fotos com uma resolução de 9.png. O fato é que em torno do perímetro de tal imagem há um quadro especial de um único pixel de largura com etiquetas especiais, cuja violação de integridade levará a uma falha na aplicação. Portanto, é necessário observar o aumento do cuidado ao editar esses arquivos.

Após a edição, a pasta é concluída, você precisa baixar de volta para o arquivo, que é o aplicativo em si com a extensão APK. Ao mesmo tempo, é necessário escolher a opção "sem compressão" no WinRAR.

O aplicativo aplicável é bombeado de volta para o dispositivo ou usando o explorador raiz (primeiro o arquivo é copiado para o cartão SD, e dele já no dispositivo) ou depois de inserir a recuperação - imediatamente do computador para a pasta / sistema / App ou / Sistema / Framework. Em seguida, é necessário configurar usando as opções apropriadas no Rut-Explorer ou no plug-in do ADB Permissions. Eles devem ser formatos 644. Depois de reiniciar o dispositivo, você pode ver o resultado da operação do aplicativo atualizado.

Editando código fonte de aplicativos do sistema

Um pouco mais de esforço deve ser gasto para editar o código-fonte de aplicativos do sistema. Para desmontar e montar o aplicativo depois de fazer alterações, você precisará executar vários próximos passos.

1) Instale o pacote de software necessário no seu computador. versões recentes: Java SE Runtime Ambiente e Android Windows SDK. (Programas para trabalhar com aplicativos e seus componentes), APKTOOL ou APKManager ou Firmware_Tool (um dos três aplicativos de sistema de desmonta e descompilina), editor notepad ++ (para fazer alterações no código-fonte dos aplicativos do sistema Android).

2) Incluir no dispositivo "depuração por USB", conecte-o a um computador usando um cabo USB, instale os drivers necessários para funcionar com o dispositivo.

3) Utilizando um dos programas acima para trabalhar com o código do aplicativo, você deve ser removido do telefone para a pasta apropriada da pasta / sistema / estrutura (totalmente) e do sistema da pasta / System / App. Por exemplo, para o programa Firmware_Tool, os arquivos do telefone devem ser copiados para a pasta C: firmwaretoolfw_projected1_source2_system.img_unpacked para as subpastas correspondentes (aplicativos - para a pasta do aplicativo, arquivos da estrutura - para a pasta Framework). Ao usar isso e outros programas, você deve ler as instruções para eles.

4) Instale o "Framework de referência", isto é, Um conjunto de regras de acordo com o qual a decomposição será realizada (isto é, a desmontagem de código) e a compilação (i.e. Code Assembly).

Nesta preparação para trabalhar com aplicativos do sistema concluídos.

Carregar aplicativos do dispositivo e baixá-los é semelhante ao procedimento descrito nos "Mudando gráficos nos aplicativos do sistema Android".

A edição do código do aplicativo Android geralmente é feita usando o Editor do Notepad ++ - um dos editores de texto mais convenientes com a opção de realçar a sintaxe do idioma de programação selecionado. Como regra, quando a edição também pode ser simplesmente alterando gráficos usando o editor gráfico selecionado.

Após a conclusão da edição, o aplicativo modificado é carregado de volta no dispositivo, e o próprio dispositivo precisa ser reiniciado. Editores mais avançados para depurar aplicativos antes de baixar para o dispositivo usar vários emuladores, como o Eclipse do Google.

Programas para a plataforma Android são o único arquivo com a extensão APK, que é muito conveniente. De fato, a instalação de qualquer programa em um smartphone ou tablet se resume a cópia simples No seu gadget. O que é um arquivo APK e como posso ver o que dentro?

O que é o arquivo APK?

A APK Abreviation é divulgada como kit de pacotes Android - pacote executável de arquivos para aplicativos Android. Este é um arquivo contendo códigos compilados e prontos e outros recursos. Arquivos APK são armazenados nos sites da Internet, como Google Play.Onde posso baixá-los e instalá-los no seu gadget? Eles não são submetidos à criptografia.

Sua estrutura é preparada pelo desenvolvedor para correr no meio ambiente. máquina virtual Dalvik ou arte. Essas máquinas são incorporadas no Android, eles estão lançando todos os aplicativos que estão no seu dispositivo.

O arquivo APK em si é o arquivo habitual que você pode abrir por qualquer arquive em ambiente do Windows. Por exemplo, WinRAR, ou gerenciador de arquivosque abre arquivos zip. Vamos ver o que está dentro lá.

  • O arquivo executável com a extensão dex (nome pode ser qualquer), que é apenas o código de código.
  • Ao lado de Lies Resources.arsc, este é o registro de recursos que o programa deve usar. Esta é uma estrutura no formato XML.
  • AndroidManifest.xml é um arquivo obrigatório de qualquer programa, um manifesto contendo as principais informações sobre isso. Por exemplo, a versão do programa, a versão desejada do Android, os dados do desenvolvedor, as resoluções de tela necessárias e assim por diante podem ser gravadas aqui.
  • O diretório RES contém recursos internos que precisam de um programa para funcionar. Pode haver todas as fotos, crachás, ícones, cartões e assim por diante.
  • Catálogo LIB - Bibliotecas nativas para o programa, por exemplo, código C ++. Este diretório pode não estar faltando se as bibliotecas não forem usadas.
  • Diretório de Ativos - Recursos adicionais para o aplicativo, também podem ser ausentes. Que tipo de recursos deve ser usado, descrito no arquivo de recursos.
  • Catálogo Meta-inf - Programa Metadados. Por exemplo, o arquivo Manifest.mf, no qual pode haver maneiras de dados e suas somas de verificação. Os arquivos de certificação RSA podem ser armazenados aqui, informações sobre a versão da versão de manifesto e as informações de negócios semelhantes.

Visão geral dos arquivos populares Ark Ark

Como já mencionado, você pode descompactar o arquivo APK por qualquer zip-arquivador. Depois disso, você pode visualizar recursos armazenados lá.

Com imagens não haverá problemas, eles podem ser abertos em qualquer programa relevante. Formato XML. Abre qualquer editor de texto, por exemplo, notepad ++. Se você souber como este formato é organizado, você já pode editá-los. Mas para arquivos executáveis \u200b\u200bcompilados terão que aplicar meios especiais.

Eclipse do editor.. Este é um ambiente de plataforma cruzada completa para um programador. Você pode desenvolver em quaisquer idiomas modernos e preparar arquivos executáveis, incluindo o Android. Quarta-feira pode ser ajustada por flexibilidade usando vários plug-ins.

Android SDK. . Como claramente do nome, este é um meio especializado para o desenvolvimento programas móveis Está sob android. Com ele, você pode facilmente descompactar arquivos executáveis \u200b\u200bdo aplicativo de outra pessoa ou escrever seu próprio a partir do zero. Distingue-se pelo fato de que, se desejar, conecta vários módulos para depurar e testar seu código, para testar programas para compatibilidade com diferentes gadgets e assim por diante.

APK Downloader.. Este é um plugin para cromo do navegador., permitindo que ele baixe muito facilmente programas APK de quaisquer sites e veja sua estrutura. Para fazer isso, você pode até não estar registrado no Google Play.

Editor APK.. Editor para trabalhar com recursos dentro de pacotes APK. Não é tão poderoso quanto o Eclipse, mas decisivo muitas tarefas simples. Por exemplo, você pode remover blocos de publicidade Do programa, Russify a interface, substitua ícones ou texturas ao seu próprio e muito mais.

Às vezes, alguns aplicativos no Android não estão satisfeitos com o usuário. Como exemplo, você pode trazer publicidade irritante. E acontece e assim - todo mundo é bom para o programa, mas só não há tradução nele ou uma curva, ou não há ninguém. Ou, por exemplo, o programa de avaliação e obter versão completa Não há possibilidade. Como mudar a situação?

Introdução

Neste artigo, falaremos sobre como desmontar o pacote APK com o aplicativo, considerar sua estrutura interna, desmontar e descompilar o código de byte e tentar fazer várias alterações em aplicativos que possam nos trazer um ou outro.

Para fazer tudo isso sozinho, você precisará pelo menos o conhecimento inicial da linguagem Java em que os aplicativos Android são escritos, e a linguagem XML usada no Android está em toda parte - desde a descrição do próprio aplicativo e seu acesso direitos para armazenar as linhas que serão exibidas na tela. Também precisa da capacidade de lidar com o software de console especializado.

Então, qual é o pacote apk, que cobre absolutamente todo o software para o Android?

Descompilinando aplicativos

No artigo, trabalhamos apenas com o código de aplicação desmontagem, no entanto, se grandes aplicações. Faça alterações mais graves, para descobrir o código Smali será muito mais complicado. Felizmente, podemos descompacar o código dax em um código Java, que não será original e não compilado de volta, mas muito mais fácil de ler e entender a lógica do aplicativo. Para fazer isso, precisaremos de duas ferramentas:

  • dex2Jar - o tradutor Dalvik Byte-Code no código de byte JVM, com base nos quais podemos obter o código na linguagem Java;
  • o JD-GUI é um decompiler em si, que permite que você obtenha um código Java legível a partir do código de byte do JVM. Como alternativa, você pode usar o JAD (www.varaneckas.com/jad); Embora seja bastante antigo, mas em alguns casos gera código mais legível que JD-GUI.

Usá-los segue. Primeiro, lançar dex2jar, apontando o caminho como um argumento para o pacote APK:

% Dex2jar.sh mail.apk.

Como resultado, o pacote java mail.jar aparecerá no diretório atual, que já pode ser aberto em JD-GUI para visualizar o código Java.

Dispositivo de pacote APK e obtê-los

Pacote aplicações Android.Na verdade, é um arquivo zip comum, para visualizar o conteúdo e descompactar dos quais nenhuma ferramenta especial é necessária. É o suficiente para ter um arquivador - 7zip para Windows ou um console UNIP no Linux. Mas diz respeito ao invólucro. O que dentro? No interior, geralmente temos essa estrutura:

  • Meta-inf / - contém um certificado digital do aplicativo certificando seu criador e os valores de soma de verificação dos arquivos do pacote;
  • res / - Vários recursos que o aplicativo usa em seu trabalho, como imagens, uma descrição declarativa da interface, bem como outros dados;
  • Androidmanifest.xml. - Descrição do aplicativo. Isso inclui, por exemplo, uma lista de permissões necessárias necessárias versão do Android. e a resolução de tela necessária;
  • classes.dex. - Aplicativo de aplicação de byte compilado para a máquina virtual Dalvik;
  • recursos.arsc. - Também recursos, mas outro tipo - em particular, linhas (sim, este arquivo pode ser usado para a russificação!).

Os arquivos e diretórios listados são, se não em todos, então, talvez, na maioria absoluta APK. No entanto, vale a pena mencionar alguns arquivos / diretórios comuns:

  • ativos. - Análogo de recursos. A principal diferença é acessar o recurso. É necessário conhecer seu identificador, a lista de ativos pode ser obtida dinamicamente usando o método AssetManager.list () no código do aplicativo;
  • lib. - Bibliotecas nativas do Linux escrita usando NDK (Kit de Desenvolvimento Nativo).

Este catálogo usa fabricantes de jogos, colocando um mecanismo de jogo lá, escrito em C / C ++, bem como criadores de aplicações de alto desempenho (por exemplo, Google Chrome.). O dispositivo descobriu. Mas como obter um arquivo do pacote da aplicação de interesse? Como sem root do dispositivo para pegar arquivos APK não é possível (eles estão no diretório / data / app), e nem sempre é apropriado manipular, há pelo menos três maneiras de obter o arquivo de aplicativo para um computador:

  • extensão do APK Downloader para o Chrome;
  • aplicação real apk leecher;
  • vários compartilhamento de arquivos e grumos.

Qual deles usar é uma questão de gosto; Nós preferimos usar aplicações separadas, então descrevemos o uso de leecher APK real, especialmente como é escrito em Java e, em conformidade, funcionará pelo menos no Windows, mesmo em Nixes.

Depois de iniciar o programa, você deve preencher três campos: E-mail, senha e ID do dispositivo - e escolher um idioma. Os dois primeiros são e-mails e sua senha do GoogleAcCount, que você usa no dispositivo. O terceiro é o identificador do dispositivo, e pode ser obtido digitando o código no discador # #8255## E, em seguida, encontrar a cadeia de ID do dispositivo. Ao preencher, você precisa digitar apenas o ID sem o prefixo do Android.

Após preencher e salvar, a mensagem "Erro ao conectar ao servidor" aparece. Não está relacionado ao Google Play, tão corajosamente a ignora e procure pacotes em que você está interessado.

Visualização e modificação

Suponha que você tenha encontrado o pacote que lhe interessa, baixado, descompactado ... e ao tentar visualizar qualquer arquivo XML, ficou surpreso ao descobrir que o arquivo não é texto. O que descompilar e como trabalhar com pacotes? É realmente necessário colocar um SDK? Não, o SDK não é necessário. De fato, para todas as etapas para descompactar, modificar e empacotamento do pacote APK precisa das seguintes ferramentas:

  • archiver Zip. para desembalar e pesquisas;
  • smali. - Assembler / Disassembler Byte-Code da Dalvik Virtual Machine (code.google.com/p/smali);
  • aAPT. - Uma ferramenta de recursos (por recursos padrão é armazenada em forma binária para otimizar o desempenho do aplicativo). Está incluído no Android SDK, mas pode ser obtido separadamente;
  • signatário. - uma ferramenta para assinatura digital do pacote modificado (bit.ly/rmrv4m).

Você pode usar todas essas ferramentas individualmente, mas é inconveniente, portanto, é melhor usar um software de nível superior construído neles. Se você trabalha no Linux ou no Mac OS X, então há uma ferramenta chamada APKTOOL. Ele permite que você descompacte recursos no tipo original (incluindo arquivos XML e ARSC binários), reoper um pacote com recursos modificados, mas não sabe como assinar pacotes, portanto, execute o utilitário do signatário terá que manualmente. Apesar do fato de que o utilitário é escrito em Java, sua instalação é bastante não padrão. Primeiro você deve obter o próprio arquivo JAR:

$ CD / TMP $ WGET http://bit.ly/wc3ocz $ tar -xjf apktool1.5.1.tar.bz2

$ Penhor http://bit.ly/wrjec7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2

$ MV apktool.jar ~ / bin $ mV apktool-install-linux-r05-ibot / * ~ / bin $ export path \u003d ~ / bin: $ caminho

Se você trabalha no Windows, então há uma excelente ferramenta chamadaVirtuoutuous ten studio, que também acumula todas essas ferramentas (incluindo a própria APKTool), mas em vez da interface CLI fornece ao usuário intuitivamente compreensível interface gráficaCom o qual você pode executar operações em desembalar, desmontar e descompilar em vários cliques. Esta ferramenta de doação-ware, ou seja, às vezes aparece janelas com uma proposta para obter uma licença, mas isso é, no final, você pode sofrer. Não faz nenhum ponto ao descrevê-lo, porque você pode entender a interface em alguns minutos. Mas a APKTOOL, devido à sua natureza console, deve ser discutida com mais detalhes.


Considere as opções da APKTOOL. Em suma, existem três comandos principais: D (Decode), B (Build) e If (Install Framework). Se tudo estiver claro com as duas primeiras equipes, o que o terceiro operador condicional faz? Ele descompacta a estrutura especificada da UI, que é necessária nos casos em que você exibe qualquer pacote do sistema.

Considere as opções mais interessantes da primeira equipe:

  • . - Não desmonte os arquivos dax;
  • -r. - Não descompacte recursos;
  • -b. - Não insira informações de depuração nos resultados de desmontar o arquivo dex;
  • -Frame-path - Use a estrutura especificada da UI em vez do APKTool embutido. Agora considere algumas opções para a equipe B:
  • -f. - montagem forçada sem verificação de mudanças;
  • -uma. - Indique o caminho para aAPT (ferramenta para montagem APK-Archive), se você quiser usá-lo de outra fonte por algum motivo.

A APKTOOL é muito fácil de usar, basta especificar um dos comandos e o caminho para APK, por exemplo:

$ apktool d mail.apk

Depois disso, todos os arquivos de pacote extraídos e desmontagem aparecerão no diretório de email.

Preparação. Desligue a publicidade

A teoria é, é claro, bem, mas por que é necessário se não sabemos o que fazer com um pacote descompactado? Vamos tentar aplicar a teoria com o benefício para si mesmo, ou seja, modificamos alguns softyn para que ele não nos mostre publicidade. Por exemplo, deixe ser tocha virtual - uma tocha virtual. Para nós, este software se encaixará perfeitamente, porque é impressionante com publicidade irritante e também é bem simples, para não se perder nos códigos.


Então, com um dos seguintes métodos, faça o download do aplicativo do mercado. Se você decidir usar o Virtuoutuous Ten Studio, simplesmente abra o arquivo APK no aplicativo e descompacte-o, para o que criar um projeto (arquivo -\u003e novo projeto) e, em seguida, selecione o arquivo de importação no menu de contexto. Se sua escolha caiu no APKTOOL, basta executar um comando:

$ apktool d com.kauf.particle.virttorttorch.apk

Depois disso, o diretório com.kauf.particle.virttorch aparecerá uma árvore de arquivos semelhante à descrita na seção anterior, mas com um diretório smali opcional em vez de arquivos dex e um arquivo APKTOOL. O primeiro contém um código de aplicativo de desmontagem do arquivo dex executável do aplicativo, a segunda - as informações de serviço necessárias pela APKTOOL para construir um pacote de volta.

O primeiro lugar onde devemos parecer, é claro, Androidmanifest.xml. E aqui imediatamente celebramos a seguinte linha:

Não é difícil adivinhar que ela é responsável por fornecer a aplicação ao uso da conexão com a Internet. Na verdade, se quisermos apenas nos livrar da publicidade, provavelmente teremos o suficiente para proibir o aplicativo da Internet. Vamos tentar fazer isso. Excluímos a string especificada e tente coletar software usando o APKTOOL:

$ apktool b com.kauf.particle.virtortorch

O com.kauf.particle.virtualtorch / Build / Build / Build / Build / Build / Build / aparecerá. No entanto, não será possível instalá-lo, pois não tem uma assinatura digital e somas de controle Arquivos (há simplesmente nenhum diretório meta-inf nele). Devemos assinar um pacote usando o utilitário APK-Signer. Começado. A interface consiste em duas guias - no primeiro (gerador de chave) criamos chaves para o segundo (APK Signer). Para criar nossa chave privada, preencha os seguintes campos:

  • Arquivo de destino. - o arquivo de armazenamento de chave de saída; Geralmente é armazenado um par de chaves;
  • Senha. e Confirme. - Senha para o repositório;
  • Alias. - o nome da chave no repositório;
  • Senha de alias. e Confirme. - chave secreta da senha;
  • Validade - Período de validade (em anos). O valor padrão é ideal.

Os restantes campos, em geral, são opcionais - mas é necessário preencher pelo menos um.


Aviso

Para assinar o aplicativo usando o Signer APK, você deve instalar o Android SDK e especificar o caminho completo para ele nas configurações do aplicativo.

Todas as informações são fornecidas apenas para fins informativos. Nem os editores nem o autor são responsáveis \u200b\u200bpor qualquer dano possível causado pelos materiais deste artigo.

Agora esta chave pode ser assinada apk. Na guia APK Signatário, selecione o arquivo recém-gerado, insira uma senha, um alias de uma chave e uma senha para ele, localize o arquivo apk e corajosamente pressione o botão "Sign". Se tudo correr bem, o pacote será assinado.

Informação

Como assinamos um pacote por nossa própria chave, ele entrará em conflito com o aplicativo original, o que significa que quando você tenta atualizar meu softy no mercado, teremos um erro.

A assinatura digital é necessária apenas por software de terceiros, portanto, se você for modificado por aplicativos do sistema instalados copiando para o / System / App / App / App / App, você não precisa assiná-los.

Depois disso, jogamos fora do pacote no seu smartphone, instalamos e funcionamos. Voila, publicidade desapareceu! Em vez disso, no entanto, uma mensagem apareceu que não temos Internet ou não há permissões apropriadas. Em teoria, isso poderia ter o suficiente, mas a mensagem parece irritante, e, e, honestamente, fomos apenas sorte com uma aplicação contundente. Normalmente software escrito, mais provável, esclarecerá seus poderes ou verificará a presença de uma conexão com a Internet e, caso contrário, ele simplesmente se recusará a começar. Como ser neste caso? Claro, edite o código.

Normalmente, os autores do aplicativo criam classes especiais para publicidade e causa métodos dessas classes durante o lançamento do aplicativo ou de uma de suas "atividades" (SIMPLISTICANDO, telas de aplicação). Vamos tentar encontrar essas classes. Nós vamos ao diretório smali, então com (em org apenas a biblioteca gráfica Cocos2D aberta), seguida por Kauf (está lá, porque este é o nome do desenvolvedor e há todo o seu código) - e aqui é, o Catálogo de marketing. No interior, encontramos um monte de arquivos com a expansão de Smali. Estas são aulas, e a classe mais notável ad.smali é mais notável, pelo nome do qual não é difícil adivinhar o que traz publicidade.

Poderíamos mudar a lógica de seu trabalho, mas muito mais fácil será estupidamente remover os desafios de quaisquer métodos do próprio aplicativo. Portanto, saímos do diretório de marketing e vemos para o diretório de partículas próximas e, em virtualtoração. Atenção especial aqui merece o arquivo MainActivity.smali. Este é um padrão para classe Android, que é criado pelo Android SDK e é instalado como um ponto de entrada do aplicativo (analógico da função principal em C). Abra o arquivo para editar.

Dentro é o código Smali (montador local). É bastante emaranhado e difícil ler em virtude de sua natureza de baixo nível, então não vamos estudá-lo, mas apenas encontrar todas as referências ao anúncio da classe no código e comentar sobre eles. Dirija a string "anúncio" na busca e caia na linha 25:

Campo privado anúncio: lcom / kauf / marketing / anúncio;

O campo AD é criado aqui para armazenar o objeto de anúncio de classe. Vamos comentar usando o conjunto de sinal ### antes da string. Continuamos a pesquisar. Row 423:

Nova instância V3, LCOM / KAUF / Marketing / AD;

Aqui está a criação de um objeto. Comente. Continuamos a pesquisar e encontrar em linhas 433, 435, 466, 468, 738, 740, 800 e 802 recursos para métodos de classe AD. Comente. Parece que é isso. Nós economizamos. Agora, o pacote deve ser coletado de volta e verifique seu desempenho e disponibilidade de publicidade. Para a pureza do experimento, retornamos o controle remoto da string AndroidManifest.xml, coletamos o pacote, inscreva-se e instale.

Nosso coelho experimental. Publicidade vista

OP-PA! A publicidade desapareceu apenas durante o aplicativo, mas permaneceu no menu principal que vemos quando corremos suaves. Então, espere, mas afinal, o ponto de entrada é a classe de mainazzenia, e o anúncio desapareceu durante o aplicativo, mas permaneceu no menu principal, então o ponto de entrada é diferente? Para revelar o verdadeiro ponto de entrada, abra o arquivo AndroidManifest.xml. E sim, tem as seguintes linhas:

Eles nos dizem (e, mais importante, Android) que a atividade com o nome começa deve estar sendo executada em resposta à geração da intenção (eventos) android.intent.action.main da categoria android.intent.category.Launcher. Este evento é gerado quando tocado no ícone do aplicativo no Lancher, portanto, determina o ponto de entrada, ou seja, a classe Start. Muito provável, o programador primeiro escreveu o aplicativo sem um menu importante, o ponto de entrada para o qual foi a classe de mainazzenia padrão e, em seguida, adicionou uma nova janela (atividade) contendo o menu e descrito na classe Start e manualmente. .

Abra o arquivo start.smali e novamente procurando a seqüência de anúncios, encontramos na linha 153 e 155 menção da classe Firstad. Ele também tem na fonte e, julgando pelo nome, é apenas responsável por exibir anúncios na tela principal. Nós olhamos mais longe, há uma instância de uma instância da classe Firstad e da intenção, de acordo com o contexto de ter uma relação com essa instância, e então o rótulo Cond_10, a transição condicional para a qual a precisão é realizada antes de criar um exemplo da turma:

Se-ne p1, v0 ,: Cond_10 .line 74 nova instância v0, Landroid / Conteúdo / Intenção; ...: cond_10.

Muito provavelmente, o programa é de alguma forma calcula aleatoriamente se deseja mostrar publicidade na tela principal e, se não, salta imediatamente para Cond_10. OK, simplesmente simplificamos a tarefa e substituímos a transição condicional ao incondicional:

# If-ne p1, v0 ,: cond_10 goto: cond_10

Não há mais referências Firstad no código, por isso fechamos o arquivo e novamente coletamos nossa tocha virtual usando a APKTOOL. Copie no seu smartphone, instale, execute. Voila, toda a publicidade desapareceu, com a qual nós parabenizamos todos.

RESULTADOS

Este artigo é apenas uma breve introdução aos métodos de abertura e modificação de aplicativos Android. Para as cenas, muitas perguntas permaneceram, como remover a proteção, análise do código desagradável, tradução e substituindo os recursos do aplicativo, bem como a modificação de aplicativos escritos com usando o Android Ndk. No entanto, ter conhecimento básico, entenda tudo isso - apenas a questão do tempo.

APK Editor Pro, que você pode baixar no Android em nosso site permitirá que você hacke / altere o conteúdo de arquivos de qualquer aplicativo para dispositivos móveis E configurá-lo a seu critério.

Características

O programa é um utilitário profissional que nas mãos de usuários avançados pode se tornar uma ferramenta poderosa para editar os aplicativos Android. A funcionalidade não é praticamente diferente do similar programas Para computadores pessoais.

O que esse utilitário pode saber?

  1. Modificar (traduzir) nomes de outros aplicativos.
  2. Alterar layouts de arquitetura, cores, modelos configurações gráficas (Por exemplo, o tamanho dos ícones).
  3. Altere o design de áudio, arquivos de mídia.
  4. Excluir publicidade.
  5. Contornando o bloqueio de conteúdo pago.
  6. Para transferir o aplicativo da memória interna do dispositivo no cartão SD.
  7. Altere a permissão e muito mais.

Para entender como usar o utilitário, você precisa baixar o Apk Editor Pro e vá para o menu. Então escolha já aplicativo instalado No Android, ou seu arquivo APK. Depois disso, os dados padrão abrirão que o usuário poderá alterar:

  • edição de recursos;
  • substituindo arquivos;
  • edição geral;
  • editando dados.

O programa proporá a estabelecer uma opção modificada. Não em todos os casos funciona, então versão antiga Deve ser removido manualmente e instalado novo. Após a exclusão, selecione a pasta do editor APK (você pode usar o condutor ES para usar os programas no Android e encontrar um arquivo de aplicativo modificado, instalá-lo no dispositivo.

O programa é diferente interface conveniente. A navegação é bastante simples, mas o usuário precisa ter conhecimento básico do inglês para descobrir.

Vantagens e desvantagens

  1. O programa abre uma ampla gama de aplicativos para configurar aplicativos.
  2. O menu tem uma seção de ajuda, que simples e descreve em detalhes a grande quantidade das oportunidades do programa festivo. Portanto, os usuários longe da programação não terão que procurar exemplos e editar instruções sobre recursos de terceiros.
  3. Você pode baixar um programa gratuito em nosso site.

O uso deste utilitário requer algumas habilidades e conhecimentos. Nas mãos de um usuário inexperiente, a edição pode levar a distúrbios da integridade. sistema de arquivoQue, finalmente, levará a mau funcionamento em aplicativos. No menu na Ajuda, existem exemplos de conversão com imagens e dicas sobre o uso correto do APK Editor Pro no Android. Portanto, se surgir um desejo para lidar com este programa, é suficiente apenas seguir as instruções.

O editor é suficiente ferramenta útil Para aqueles que são confrontados com uma interface de aplicação desconfortável (falta de publicidade russa, permanente, banners, etc.). Se você já gostou deste programa, compartilhe suas impressões abaixo nos comentários.