
Análise estática de APKs com expressões regulares
( ) ( )
( )\ ) ( /( )\ ) ( /(
)\ (()/( )\())( ( ( (()/( )\())
((((_)( /(_))((_)\ )\ )\ )\ /(_)|(_)\
)\ _ )\(_)) |_ ((_|(_)((_) ((_|_)) _((_)
(_)_\(_) _ \| |/ /\ \ / / | | | | | \| |
/ _ \ | _/ ' < \ V /| |_| | |__| .` |
/_/ \_\|_| _|\_\ \_/ \___/|____|_|\_|
Com o ApkVuln, você obterá os arquivos .java de um APK e eles serão analisados em busca de possíveis vulnerabilidades no código, utilizando expressões regulares.
Nota: A precisão dos resultados dependerá das expressões regulares. Elas são personalizáveis.
Para executar esta aplicação, você precisa instalar Python 3.6+ e apkx.
Para operação completa, verificar a versão da assinatura e o AndroidManifest, você precisa instalar: apksigner e aapt
Adicionar um módulo com nossas próprias expressões regulares é muito fácil. Basta criar um arquivo .py em regex, criar uma classe que herde de Template, por exemplo:
from regex._template import Template
class Regex(Template):
def __init__(self):
pattern_list = [r"exprexion1", r"expresion1000"]
file_type = ["xml", "html", "js", "java", "json"] # especifica os tipos de arquivos aos quais será aplicado
desc = "Esta é a descrição da vulnerabilidade"
super(Regex, self).__init__(pattern_list, "Vulnerability Test", file_type, desc)
Aqui está um exemplo da ferramenta analisando o APK vulnerável Diva

O software foi desenvolvido para verificar um APK com o objetivo de melhorar sua segurança. O autor não se responsabiliza por qualquer uso ilegítimo.