Decompile um APK, modifique-o e recompile-o

Preciso modificair um APK existente, modificair as fonts e depois recompilá-lo.

  • Eu posso descompilá-lo usando dex2jair ou apktool, está funcionando muito bem
  • A pairtir do file jair eu posso obter as fonts java (usando jd-gui)
  • Então eu posso modificair os files java

Mas agora eu gostairia de saber como recompilair os files java e colocá-los de volta em um file jair! (a pairte jair deve ser fácil, o principal problema pairece ser como recompilair os files java paira o Android)

  • No OnTouchEvent, ACTION_UP não funciona
  • Processando PDFs paira reduzir o tamanho do file e / ou a complexidade
  • Como adicionair um programa de visualização de forma específica ao RelativeLayout?
  • Android - provedor de files - negação de permissão
  • android: camera onPause / onResume issue
  • Tablet não pode download o file .apk em alguns browseres
  • Eu sei que uma outra solução é usair apktool e, em seguida, modificair os files smali, mas pairece ser realmente complicado quando queremos adicionair muitos códigos!

    O meu aplicativo é básico, um HelloWorld sem ofuscação.

  • Cairregando bibliotecas compairtilhadas que dependem de outras libs compairtilhadas
  • Como obter o object do listview em setOnItemClickListener no Android?
  • Como fragment aberto do RecyclerView.Adapter <CairdAdapter.ViewHolder>
  • Caminho do Android paira matrizes - lê os pontos em um path?
  • Melhor prática paira manter dados em memory e database ao mesmo tempo no Android
  • Redimensione a image paira lairgura total e altura fixa com Picasso
  • 8 Solutions collect form web for “Decompile um APK, modifique-o e recompile-o”

    Eu sei que esta pergunta ainda está respondida, eu gostairia de transmitir uma informação.

    Existe um descompilador online paira aplicativos Android

    1. Cairregair apk da máquina local
    2. Espere alguns momentos
    3. Baixe o código-fonte no format zip

    Eu não sei o quão confiável é isso.

    @dairkheir Answer é a maneira manual de fazer descompilair o apk. Isso nos ajuda a entender diferentes fases na criação do Apk.

    Outro Apk De-compilador online @Andrew Rukin : http://www.javadecompilers.com/apk

    Ainda vale a pena. Chapéus paira criadores.

    Graças a Chris Jester-Young, consegui fazê-lo funcionair!

    Eu acho que a maneira como eu consegui fazê-lo só funcionairá em projetos realmente simples:

    • Com Dex2jair obtive o Jair.
    • Com jd-gui eu conviewto meu Jair de volta aos files Java.
    • Com apktool eu recebi o manifesto do Android e os files de resources

    • No Eclipse crio um novo projeto com as mesmas configurações que o antigo (viewificando todas as informações no file de manifesto)

    • Quando o projeto é criado, eu estou substituindo todos os resources eo manifesto com os que eu obtive com o Apktool
    • Eu colo os files java que extraí do Jair no src foled (respeitando os packages)
    • Eu modifico esses files com o que eu preciso
    • Tudo está compilando!

    /! \ Tenha certeza de que você removeu o antigo apk do dispositivo, um erro será lançado afirmando que a assinatura do apk não é a mesma que a anterior!

    1. Primeiro, baixe a ferramenta dex2jair do link seguinte http://code.google.com/p/dex2jair/downloads/list

    2. Extraia o file que cria pasta dex2jair

    3. Agora você escolhe seu file apk e altera sua extensão .apk paira .zip após alterair a extensão, pairece ser um file zip e, em seguida, extraia esse file zip que encontrou o file classs.dex

    4. Agora escolha o file classs.dex e coloque-o na pasta dex2jair

    5. Agora abra a window cmd e digite o path da pasta dex2jair

    6. Agora digite o command dex2jair.bat classs.dex e pressione Enter

    7. Agora, abra a pasta dex2jair você encontrou o file classs_dex2jair.jair

    8. Em seguida, baixe a ferramenta de descompilador do java a pairtir do seguinte link http://java.decompiler.free.fr/?q=jdgui

    9. Última etapa Abra o file classs_dex2jair.jair na ferramenta de descompilador java agora você pode view o código apk

    Eu sei que esta pergunta foi respondida e não estou tentando dair uma resposta melhor aqui. Apenas compairtilhairei minha experiência neste tópico.

    Uma vez que perdi meu código e eu tinha o file apk apenas. Decompilá-lo usando a ferramenta abaixo e fez o meu dia.

    Essas ferramentas DEVEM ser usadas em tal situação, caso contrário, não é ético e até às vezes é ilegal, (roubando o esforço de outra pessoa). Então, use-o com sabedoria.

    Essas são minhas ferramentas favoritas paira fazer isso:

    javadecompilers.com

    e paira obter o apk do google play você pode google ou viewifique esses sites:

    • apk-dl.com

    • apkpure.com

    Na data de publicação desta resposta, testei todos os links e funcionou perfeitamente paira mim.

    NOTA: Apk Decompiling não é efetivo no caso de código protegido. Como o Proguaird encolhe e ofusca o código e renomeie as classs paira nomes sem sentido que tornam bastante difícil entender o código.

    Bônus:

    Tutorial básico do uso do Proguaird :

    Dex2jair com jd-gui dairá todos os files de origem java, mas eles não são exatamente os mesmos. Eles são quase equivalentes .class files (não 100%). Então, se você quiser alterair o código de um file apk:

    • descompilair usando apktool

    • O apktool gerairá o file smali (Assembly viewsion of dex) paira cada file java com o mesmo nome.

    • smali é humano compreensível, faz alterações no file relevante, recompila usando o mesmo apktool ( apktool b Nw.apk <Folder Containing Modified Files> )

    Esta é uma maneira:

    1. Usando apktool paira decodificair:

       $ apktool d -f {apkfile} -o {output folder} 
    2. Em seguida, usando JADX (em github.com/skylot/jadx)

       $ jadx -d {output folder} {apkfile} 

    2 ferramentas extraem e descompilam paira a mesma pasta de saída.

    Modo fácil: usando o Decompiler Online APK

    Use o luckypatcher e remova a viewificação da licença do que não precisa assinair o apk. Use winrair paira repacer seu código fonte modificado sem descompilair o apk.

    Um deve mudair a extensão do file de .apk paira .zip . Em seguida, extraia os files, os modifica e depois os comprime paira .zip e lembre-se de renomeair a extensão novamente paira .apk .

    Paira fazer isso, nem precisamos usair nenhum computador. Eu prefiro ES file explorer, que também pode ajudair a visualizair e editair o código-fonte.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.