APK para Java? Sim, já é possível
Quem é utilizador de um dispositivo com Android, sabe o quanto é fácil instalar qualquer aplicação. O market Android simplifica todo o processo e os códigos QR também vieram dar uma ajuda. Para quem não sabe, o pacote de distribuição e instalação de uma aplicação em Android tem a extensão .apk (Android Package). Para criar um apk é necessário compilar o código fonte de uma aplicação, que poderá ser constituída por vários ficheiros/módulos, sendo que depois todas as partes são "empacotadas" num único ficheiro.
Recentemente foi desenvolvida uma ferramenta capaz de realizar engenharia reversa, que é capaz de descompilar o código de um APKna linguagem de programação Java.
Hackers e programadores sempre tiveram a curiosidade de realizar engenharia reversa em aplicações, de forma a obterem o código fonte para análise. Recentemente, apareceu no xda, uma nova ferramenta designada de APK to Java que, tal como o nome sugere, consegue descompilar o código de uma APK para Java.
Apesar da ideia associada a este tipo de ferramentas não ser nova, a aplicação APK to Java oferece um interface gráfico e os resultados são também muito satisfatórios.
Esta ferramenta funciona no Windows, apenas necessita do SDK 6+ e naõ tem qualquer dependência de outras aplicações/pacotes.
A aplicação APK to Java é sem duvida uma excelente aplicação para quem começa no mundo da programação do Android ou, para os experts,uma excelente forma de obter algoritmos e bibliotecas associadas as aplicações. Experimentem...arranjam a apk de uma aplicação/jogo e façam o teste.
Download: APK to Java
Este artigo tem mais de um ano
Pode ser muito útil quando perdemos o source code 😀
Ou para roubar a dos outros…
Ripping/Cracking for the win… Muita gente não vai gostar disto. 🙂
Pois, se se souber tirar partido desta ferramenta…poderão desenvolver-se aplicações “interessantes”
Estou a ver isto a ser muito mais usado para sacar código de certas aplicações. Muito provavelmente sem licença para o fazer.
Não deixa de ser uma excelente ferramenta (assumindo que funciona como descrito) e a responsabilidade está com quem a usa, não com quem a cria 😛
Ha tmb maneira de obfuscar (como a nVidia tinha feito com o nv o seu driver opensource para Linux) o codigo da tua applicacao de forma a que mesmo que uma pessoa tentar decompilar a tua aplicacao tera um codigo obfuscado. A apress lancou um livro cujo proposito e ensinar a protejer as tuas applicacoes deste tipo de situacoes. Disponibilizo aqui o link http://www.apress.com/mobile/android/9781430242482
Não é o que dex2jar já fazia?
dex2jar
http://code.google.com/p/dex2jar/
depois de descompilar dá para voltar a compilar o mesmo código? Como se faz isso?
Compreende-se perfeitamente o teu comentário!
É um bocado injusto este tipo de pessoas que conseguem fazer isto o publiquem para que toda a gente o faça!!
É a mesma coisa que uma pessoa ir a restaurante pq eles fazem lá um prato espectacular e raro e depois à porta estar um gajo a dar a receita, logicamente que serão poucas as pessoas que lá voltam!!!
Pelo contrário… se eu souber a receita tenho a certeza que não existe nenhum ingrediente que me possa fazer mal.
Aplicando na informática, sei que o programa não “telefona para casa” se é que me entendes.
Além disso… como já disseram, podes ofuscar o código de diversas formas.
Custa-me compreender estas coisas de programação, mas o que eu gostava era de ter o Java a rolar no Android. Ex: o qos.sapo.pt para testar as comunicações precisa do Java.
E podes, tens na loja.
Procura por:
AIDE – Android Java IDE
😉
Entre outros, é o mais completo.
OOPS…. entendi mal a questão….
Correr applets, estou na ideia que funciona, mas com muitos tweaks à mistura 😐
Corrijam-me se estiver a dizer asneira.
Afinal há solução (não testei)
http://screamable.com/how-to-run-java-apps-and-games-on-your-android-smartphone.html
Obrigado. Não era bem isto em que pensava. Eu pretendia o Java no Browser tal com existe ainda o Adobe Flash
Eu chamava o qos.sapo.pt que funciona com o Java e o browser teria um plugin ou qualquer coisa do género.
Não adianta saber a receita, é preciso o “saber” fazer…
ou vais dizer que lá por teres a receita, vais conseguir replicar o prato? Para isso não havia tantos programas de culinária dados por grandes chefes com restaurantes abertos.
Também não disse que era para todos 😉
Até porque ferramentas deste género sempre existiram, inclusivé para Android, o que não significa que todos saibam o que fazer com elas.
A diferença das receitas para o código-fonte, é que dependendo do decompiler que usas, praticamente so tens q abrir o projecto, alterar o que kiseres e compilar de novo.
Só a título de exemplo, .Net Reflector, deixa-me praticamente td pronto a compilar.
Seria possível “descompactar” o APK para poder rodar em celulares Java? Ou este não foi feito para isso?
quer diser que ele covert jogos apk para java? me explica
E depois que faz o processo com o “APK to Java”, oq se tem que fazer para rodar no celular??
Sempre tem o lado bom e o lado ruim da coisa
O lado bom e que se torna uma forma de estudo de como funciona tal aplicação , como por exemplo eu sou estudante da área da programação sei VB , java,delphi,c++ mais não sei como funciona a logica de um desfragmentador de disco e registro e se vcs pesquisarem vão ver que não tem disponível um código , mais ha programas desse tipo e posso utilizar engenharia reversa para poder ver a logica do software , já o lado ruim e que pessoas pode usar isso para tirar uma copia quase exata do código e só muda a interface .
Tudo que exige a instalação de muitos programinhas ainda é complicado e tarefa dura até conseguirem funcionar direito. Estou testando um aplicativo japonês, o qual converte todos os arquivos da .apk (excepto imagens) para .txt, podendo de seguida ser modificados com o bloco de notas e re-compilado. Admito que não é fácil mas acredito vou conseguir.
Onde baixa o SDK 6+ ?