quarta-feira, 4 de fevereiro de 2015

Tutorial: extrair código fonte de uma aplicação Android

 

Fonte: http://www.coisasuteis.com.br/2012/07/tutorial-extrair-codigo-fonte-android/

 

Este tutorial ensina como extrair o código fonte e os resources (layout, imagens, etc) de uma aplicação Android publicada no Google Play (Android Market).

Você deve usar esse tutorial para extrair informações de sua própria aplicação, caso por algum motivo tenha perdido o código fonte, e não para “roubar” código fonte de outras aplicações. Respeite os direitos autorais dos desenvolvedores.

O primeiro passo é conseguir o arquivo compilado (formato .apk) da aplicação Android. Você pode conseguir isso de várias maneiras, como por exemplo, procurando o arquivo para download na internet ou fazendo backup da aplicação para o SDCard (se você possui root no seu aparelho você pode utilizar o Titanium Backup.

Para comparamos o código, criei a aplicação CoisasUteis com a seguinte estrutura e código:

clip_image001[6]

Crie uma pasta e copie o arquivo .apk para ela.

clip_image002[6]

Adicione a extensão “.zip” no final do arquivo.

clip_image003[6]

Extraia os arquivos do zip para a pasta criada.

clip_image004[6]

Neste estágio você já poderá ver todas as imagens da aplicação, normalmente dentro das subpastas “drawables” da pasta “res”.  Você ainda não consegue ler os xmls e o código java.

Faça download do dex2jar, extraia para a pasta dex2jar.

clip_image005[6]

Abra o Prompt de Comando, acesse a pasta onde os arquivos do zip foram extraidos e digite:

dex2jar\dex2jar.bat classes.dex

clip_image006[6]

O arquivo classes_dex2jar.jar será criado. Abra ele com o programa JD-GUI (http://java.decompiler.free.fr/?q=jdgui) e você poderá ver o código fonte da aplicação:

clip_image007[6]

Se o código não estiver legível como neste exemplo, é porque o desenvolvedor obfuscou o código fonte antes de compilar. Para saber como fazer isso leia sobre o ProGuard.

Para fazer engenharia reversa dos arquivos xml da aplicação, faça download doAPKTool. São dois arquivos, apktoolx.x.x.tar.bz2 e apktool-install-windows-rxx-brutx.tar.bz2. Extraia ambos para apasta apktool. Faça download do arquivo framework-res.apk procurando no Google ou tente neste link. Coloque o arquivo também na pasta apktool.

clip_image008[6]

Abra o Prompt de Comando, acesse a pasta apktool e digite:

apktool if framework-res.apk

Copie o arquivo .apk original da sua aplicação na pasta apktool:

clip_image009[6]

Abra o Prompt de Comando, acesse a pasta apktool e digite o comando abaixo, trocando CoisasUteis pelo nome da seu arquivo:

apktool d CoisasUteis.apk

clip_image010[6]

Uma pasta com o nome da sua aplicação será criada:

clip_image011[6]

Dentro dela você terá acesso a todos os arquivos xml, como os de layout, menus, strings, styles, etc.

E é isso! Simples?

terça-feira, 3 de fevereiro de 2015

Numero de cartões de credito para testes

 

Achei interessante divulgar alguns números de cartões de créditos para testes, muito uteis para implementação.

clip_image001

AMEX: 376411112222331
MASTERCARD: 5555666677778884
DINERS: 30111122223331
VISA: 4073020000000002
HIPERCARD: 3841001111222233334
AURA: 5078601870000127985 ou 5078601800003247449

Nome, validade e código verificador passam qualquer um.

Lembrando que esses cartões são para desenvolvedores que estão testando seus sistemas.

UPDATE: 24/04/2014 –  NOVOS CARTÕES PARA TESTE

Bandeira –  Número Cartão Validade – Cód. Segurança

Visa: 4012001037141112 05/2018 123
MasterCard:  5453010000066167 05/2018 123
Visa: 4012001038443335 05/2018 123
Mastercard: 5453010000066167 05/2018 123
Americacan Express: 376449047333005 05/2018 1234
Eloo: 6362970000457013 05/2018 123
Dinners Club:  36490102462661 05/2018 123
Discover: 6011020000245045 05/2018 123
Jcb: 3566007770004971 05/2018 123
Aura: 5078601912345600019 05/2018 123

Fonte: http://bit.ly/2gl1fe3

segunda-feira, 2 de fevereiro de 2015

Envio de email na consola do Power shell

Envio de email na consola do Power shell

 

$EmailFrom = “*****@******.pt”
$EmailTo = “*****@********.pt”
$Subject = “Aqui colocas o assunto do teu email”
$Body = “O que queres que o teu email diga.  Isto é um teste”
$SMTPServer = “********”
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25)
$SMTPClient.EnableSsl = $false
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential(“user”, “pass”);
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)