^
subir

Guard

Guard

"GUARD" ferramenta em python que cria uma interface de linha de comando interativa usando a biblioteca tkinter para realizar operações de análise em arquivos APK utilizando o androguard.


            import tkinter as tk
            import tkinter.messagebox as messagebox
            import os
            from tkinter import filedialog
            
            class MainGuard:
                def __init__(self):
                    pass
            
                def decompile_manifest(self):
                    root = tk.Tk()
                    root.withdraw()  # Esconder a janela principal
            
                    file_path = filedialog.askopenfilename(title="Selecionar arquivo APK", filetypes=[("APK files", "*.apk")])
            
                    if file_path:
                        try:
                            os.system(f'androaxml {file_path}')
                            messagebox.showinfo("Sucesso", "AndroidManifest.xml foi descompilado com sucesso!")
                            os.system('clear')
                        except Exception as e:
                            messagebox.showerror("Erro", f"Ocorreu um erro ao descompilar: {str(e)}")
            
                def decompile_resources(self):
                    root = tk.Tk()
                    root.withdraw()  # Esconder a janela principal
            
                    file_path = filedialog.askopenfilename(title="Selecionar arquivo APK", filetypes=[("APK files", "*.apk")])
            
                    if file_path:
                        try:
                            os.system(f'androarsc {file_path} ')
                            messagebox.showinfo("Sucesso", "resources.arsc foi descompilado com sucesso!")
                            os.system('clear')
                        except Exception as e:
                            messagebox.showerror("Erro", f"Ocorreu um erro ao descompilar: {str(e)}")
            
                def sign_apk(self):
                    root = tk.Tk()
                    root.withdraw()
            
                    file_path = filedialog.askopenfilename(title="Selecionar arquivo APK", filetypes=[("APK files", "*.apk")])
            
                    if file_path:
                        try:
                            os.system(f'androsign {file_path}')
                            messagebox.showinfo("Sucesso", "O APK foi assinado digitalmente com sucesso!")
                            os.system('clear')
                        except Exception as e:
                            messagebox.showerror("Erro", f"Ocorreu um erro ao assinar o APK: {str(e)}")
            
                def run(self):
                    while True:
                        print("""
                         ______        __  __        ______        ______        _____    
                        /\  ___\      /\ \/\ \      /\  __ \      /\  == \      /\  __-.  
                        \ \ \__ \     \ \ \_\ \     \ \  __ \     \ \  __<      \ \ \/\ \ 
                         \ \_____\     \ \_____\     \ \_\ \_\     \ \_\ \_\     \ \____- 
                          \/_____/      \/_____/      \/_/\/_/      \/_/ /_/      \/____/
            
                          by: Anderson B silva (@oanderoficial) - V 1.0 
                        """)
            
                        print("1 - Descompilar o arquivo AndroidManifest.xml do APK.")
                        print("2 - Descompilar o arquivo resources.arsc do APK.")
                        print("3 - Assinar digitalmente um arquivo APK.")
                        print("5 - Sair ")
            
                        menu = input("Digite uma opção:")
            
                        if menu == "1":
                            self.decompile_manifest()
            
                        elif menu == "2":
                            self.decompile_resources()
            
                        elif menu =="3": 
                            self.sign_apk()
            
                        elif menu == "5":
                            print("Saindo...")
                            break
            
            if __name__ == "__main__":
                tool = MainGuard()
                tool.run()