[Hacking][slideshow]

O que é Smali / Baksmali

A base da engenharia reversa em um aplicativo de Android é o Smali, muitos não conhecem ou não sabem da importância dele para o Android.

Todas os mods (modificações de apps) passam por isso.

Veja mais sobre Smali e Baksmali nesse post


Descrição:

Smali / baksmali é um compilador / descompilador para o formato de dex usado pela Dalvik, maquina virtual do Android. A sintaxe é vagamente baseado em sintaxe de Jasmin / dededexer, e suporta todas as funcionalidades do formato dex (anotações, debug info, linha de informações, etc.)
Os nomes "smali" e "baksmali" são equivalentes de "assembler" e "disassembler", respectivamente.

Quando descompilado, o arquivo dex volta a ser um código que pode ser lido e interpretado por um humano. mas não é o código fonte java, ele se torna um código que é chamado de smali code. Como após a conversão, os arquivos ficam com a extensão .smali, isso confunde um pouco, pois o programa, o código e os arquivos são smalis.

Recomendo altamente que você leia o artigo 'O que é Odex/Deodex' para entender o básico sobre dex


Exemplo de dex convertido para smali code

Para fazer uma edição em um app já existente, como o Whatsapp, por exemplo, era comum que o modder fizesse o mod (modificação) em java, compile seu código para a Dalvik e depois descompile ele em smali. Depois desse passo o smali ela conectado ao smali do mod.



Hacks de dinheiro infinito em jogos, mods de itens e muitas outras funções/adições são feitos com a edição do smali. Vou ensinar algumas dessas técnicas em outro post.

Como já existe descompilador de Java, é mais fácil de programar direto em código-fonte, então postarei só ele. ¯ \ _ (ツ) _ / ¯


PS. Já é possível converter um arquivo dex novamente para classes de java.

Métodos para descompilar para JAVA:
Online javadecompilers.com/apk
Programa grátis: dex2jar e o tutorial pode ser achado aqui
Programa pago: JEB Decompiler

Esse post foi criado apenas para explicar o que é smali, farei outros posts com edição e criação de smali code. Como o que fiz com Edify Code

Post original:Android HyperUser

*Cópia permitida apenas citando a fonte

Dúvidas nos comentários

4 comentários:

  1. Mano. Eu to louco procurando um tutorial que ensina a muda as moedas de jogos onffiline . Muda as moedas pelo smali . Mano me dá umas dicas ai por favor . Eu te passo meu WHATSSAP se você quiser

    ResponderExcluir
    Respostas
    1. Pretendo fazer um tutorial sobre isso quando sobrar um tempo.

      Chame na aba 'contato' para resolvermos isso.

      Excluir
  2. Respostas
    1. Sim.

      Com a ferramenta Advanced APK Tool você consegue fazer isso. Ela já está no blog, na categoria "ferramentas".

      abs.

      Excluir

Todos os comentários são monitorados. Comentários ofensivos serão removidos e os respectivos usuários banidos.