Os usuários podem converter o arquivo apk do meu aplicativo de volta para o código real? Se o fizerem - há alguma maneira de evitar isso?
Os usuários podem converter o arquivo apk do meu aplicativo de volta para o código real? Se o fizerem - há alguma maneira de evitar isso?
Respostas:
Primeiro, um arquivo apk é apenas um arquivo jar modificado. Portanto, a verdadeira questão é se eles podem descompilar os arquivos dex dentro dele. A resposta é mais ou menos. Já existem desmontadores, como dedexer e smali . Você pode esperar que eles apenas melhorem e, teoricamente, deve ser possível descompilar para o código-fonte Java real (pelo menos às vezes). Consulte a pergunta anterior descompilando DEX em código fonte Java .
O que você deve lembrar é que a ofuscação nunca funciona. Escolha uma boa licença e faça o seu melhor para aplicá-la por meio da lei. Não perca tempo com medidas técnicas não confiáveis.
ApkTool para visualizar recursos dentro do arquivo APK
apktool.bat d sampleApp.apk
Usando dex2jar
dex2jar sampleApp.apk
Descompilar .jar usando JD-GUI
Devo acrescentar que hoje em dia é possível descompilar o aplicativo Android online, sem a necessidade de software!
Aqui estão 2 opções para você:
Baixe esta ferramenta jadx https://sourceforge.net/projects/jadx/files/
Descompacte-o e, na pasta lib, execute o arquivo jadx-gui-0.6.1.jar e navegue no arquivo apk. Está feito. O apk irá descompilar automaticamente e salvá-lo pressionando o botão Salvar. Espero que funcione para você. obrigado
Às vezes, você obtém código quebrado, ao usar dex2jar
/ apktool
, principalmente em loops. Para evitar isso, use jadx , que decompila o bytecode dalvik em código-fonte java, sem criar um arquivo .jar
/ .class
primeiro como dex2jar
faz (apktool usa dex2jar, eu acho). Ele também é de código aberto e está em desenvolvimento ativo. Ele ainda tem uma GUI, para fanáticos por GUI. Tente!
Os usuários podem converter o arquivo apk do meu aplicativo de volta para o código real?
sim.
As pessoas podem usar várias ferramentas para:
FDex2
para despejar o dex
arquivo
dex2jar
para converter parajar
jadx
para converter para o java
código-fonteSe o fizerem - há alguma maneira de evitar isso?
sim. Várias (podem ser combinadas) maneiras de prevenir (certo grau) isso:
ProGuard
Mais detalhes podem consultar meu tutorial chinês :安卓 应用 的 安全 和 破解
Sim, existem muitos softwares disponíveis para descompilar um arquivo .apk.
Recentemente, eu compilei uma lista definitiva dos 47 melhores descompiladores de APK no meu site. Organizei-os em 4 seções diferentes.
Espero que esta coleção seja útil para você.