Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
kavanoz — Descompactando estaticamente malware bancário Android comum. | Kitploit
Ferramentas/GitHubGitHub/eybisi/kavanoz
Segurança AndroidAnálise EstáticaFerramentas de Criptografia/DescriptografiaEngenharia ReversaAnálise de MalwareSegurança MóvelArchived
GitHubeybisi/kavanoz

kavanoz

Descompactando estaticamente malware bancário Android comum.

Ver Repositório
15920há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

🫙 kavanoz 🫙

Kavanoz (pote em turco) é uma ferramenta para desempacotar estaticamente malwares bancários comuns para Android. Você já quis obter o payload de um malware empacotado sem executar um emulador Android? Eu também não :) Mas aqui está uma ferramenta mesmo assim.

👀 Instalação

root@kitploit:~
pip install kavanoz

Para instalar a partir do código-fonte, clone o repositório e faça uma instalação editável com -e. Isso significa que, se você editar ou adicionar novos plugins ao projeto, eles serão usados sem reinstalar.

root@kitploit:~
git clone https://github.com/eybisi/kavanoz.git
cd kavanoz
pip install -e .

⚡ Uso

pela linha de comando

root@kitploit:~
kavanoz /tmp/filepath

Você pode usar o parâmetro -vvv para imprimir logs detalhados. (útil para depurar plugins)

como biblioteca python

root@kitploit:~
from kavanoz.core import Kavanoz
from kavanoz import utils

utils.set_log("DEBUG")
k = Kavanoz(apk_path="tests/test_apk/coper.apk")
for plugin_result in k.get_plugin_results():
    if plugin_result["status"] == "success":
        print("Unpacked")
        print(plugin_result)
        break

🐍 Scripts:

  • rc4.py Arquivo de asset criptografado com rc4 genérico. O script cobre várias versões.
  • old_rc4.py Outro arquivo de asset criptografado com rc4 genérico.
  • subapp.py Descriptografia de arquivo com chave derivada da variável ProtectKey do Manifest
  • multidex.py Loader semelhante a multidex com arquivo empacotado inflado. (compressão zlib)
  • coper.py Extrai a chave rc4 da biblioteca nativa com emulação (AndroidNativeEmu)
  • moqhao.py Emulação para desempacotamento do moqhau.
  • sesdex.py
  • simple_aes.py
  • simple_xor.py
  • simple_xor2.py
  • simple_xor_zlib.py
  • subapp.py Descriptografa asset com o nome do pacote

⚙️ Desenvolvimento

Certifique-se de instalar o kavanoz como editável (com -e). Para adicionar novos plugins, basta criar um novo arquivo na pasta loader. Estenda a classe Unpacker do arquivo unpack_plugin.py. Defina a função start_decrypt com sua implementação.

root@kitploit:~
def start_decrypt(self, apk_object: APK, dexes: "list[DEX]"):

Adicione a seguinte função para fazer uma saída antecipada do plugin.

root@kitploit:~
def lazy_check(self,apk_object:APK, dexes: "list[DEX]"):

Se a extração for bem-sucedida, atribua self.decrypted_payload_path com o caminho do arquivo extraído. Você pode usar funções auxiliares da classe unpacker:

  • get_array_data
  • get_smali
  • find_method(class_name,method_name,descriptor="")
  • check_and_write_file(file_data): verifica se o arquivo tem cabeçalhos dex, zip e zlib e grava o dex desempacotado com o nome: "external-{m[:8]}.dex"

Execute python -m unittest antes de abrir um PR. Para obter os arquivos de teste apk, use o comando git lfs pull.

📖 Dicas

  • self.dexes contém objetos dex. Você pode obter a classe com dex.get_class(smali_annotation_of_class).
  • Você pode usar a função get_smali e fornecer o objeto do método alvo para obter a representação smali do método alvo. Em seguida, aplique algum regex para obter dados do smali. Há muitos regex definidos no arquivo smali_regexes.py para consulta.
  • Na maioria das vezes, os empacotadores usam arquivos da pasta asset. Você pode obter arquivos com self.apk_object.get_files().
  • Na maioria das vezes, os empacotadores usam a classe Application para iniciar a sequência de desempacotamento. Use application = self.apk_object.get_attribute_value("application", "name") para obter a classe application definida no arquivo manifest.

Agradecimentos:

apkdetect.com pelas amostras exclusivas para trabalhar.

Baixar ferramenta