# puruliaking007/apksignkiller architecture

> Architecture diagram of the GitHub repository puruliaking007/apksignkiller, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/puruliaking007/apksignkiller
- Repository: https://github.com/puruliaking007/apksignkiller

## Overview

ApkSignKiller is an Android app for selecting an APK and running one of two signature-check bypass implementations, with the result presented to the user. The main activity explicitly dispatches to MTSignKiller or BinSignKiller based on a preference. The tree also contains ZIP/APK, DEX, XML, and signing components that support APK manipulation. Their detailed wiring is not established by the sampled excerpts, so those relationships are left out rather than inferred. The file-picker implementation is not present in the supplied tree.

Main entry points: [`app/src/main/java/com/fixtorv/apksignkiller/activities/MainActivity.java`](https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/com/fixtorv/apksignkiller/activities/MainActivity.java) (Main activity), [`app/src/main/java/com/fixtorv/apksignkiller/App.java`](https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/com/fixtorv/apksignkiller/App.java) (App state), [`app/src/main/java/com/fixtorv/apksignkiller/utils/MyAppInfo.java`](https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/com/fixtorv/apksignkiller/utils/MyAppInfo.java) (APK metadata), [`app/src/main/java/com/fixtorv/apksignkiller/utils/MTSignKiller.java`](https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/com/fixtorv/apksignkiller/utils/MTSignKiller.java) (MT patcher)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Android App"]
  node_main["Main activity<br/>[MainActivity.java]"]
  node_appstate["App state<br/>[App.java]"]
  node_picker["APK picker"]
  node_apkinfo["APK metadata<br/>[MyAppInfo.java]"]
end

subgraph group_patch["Patch Implementations"]
  node_mtkiller["MT patcher<br/>[MTSignKiller.java]"]
  node_binkiller["Binary patcher<br/>[BinSignKiller.java]"]
end

subgraph group_apk["APK Processing"]
  node_zip["ZIP handling<br/>[ZipManager.java]"]
  node_axml["Binary XML<br/>[AXmlDecoder.java]"]
  node_signer["APK signing<br/>[ApkSigner.java]"]
end

subgraph group_dex["DEX Tooling"]
  node_dexfactory["DEX loading"]
  node_baksmali["Smali rendering<br/>[Baksmali.java]"]
end

node_user(("APK user"))
node_filesystem[("Device files")]
node_result["Patched APK"]

node_user -->|"selects APK"| node_main
node_main -->|"opens picker"| node_picker
node_main -->|"reads metadata"| node_apkinfo
node_main -->|"reads preference"| node_appstate
node_main -->|"dispatches MT"| node_mtkiller
node_main -->|"dispatches binary"| node_binkiller
node_user -->|"provides APK"| node_filesystem
node_filesystem -->|"APK path"| node_main

click node_main "https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/com/fixtorv/apksignkiller/activities/MainActivity.java"
click node_appstate "https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/com/fixtorv/apksignkiller/App.java"
click node_apkinfo "https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/com/fixtorv/apksignkiller/utils/MyAppInfo.java"
click node_mtkiller "https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/com/fixtorv/apksignkiller/utils/MTSignKiller.java"
click node_binkiller "https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/com/fixtorv/apksignkiller/utils/BinSignKiller.java"
click node_zip "https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/bin/zip/ZipManager.java"
click node_axml "https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/bin/xml/decode/AXmlDecoder.java"
click node_signer "https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/bin/signer/ApkSigner.java"
click node_dexfactory "https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/org/jf/dexlib2/DexFileFactory.java"
click node_baksmali "https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/org/jf/baksmali/Baksmali.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_main,node_appstate,node_picker,node_apkinfo,node_user toneBlue
class node_mtkiller,node_binkiller,node_filesystem toneAmber
class node_zip,node_axml,node_signer toneMint
class node_dexfactory,node_baksmali toneRose
class node_result toneIndigo
```

## Components

### Android App

- [Main activity](https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/com/fixtorv/apksignkiller/activities/MainActivity.java): `app/src/main/java/com/fixtorv/apksignkiller/activities/MainActivity.java`
- [App state](https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/com/fixtorv/apksignkiller/App.java): `app/src/main/java/com/fixtorv/apksignkiller/App.java`
- **APK picker**
- [APK metadata](https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/com/fixtorv/apksignkiller/utils/MyAppInfo.java): `app/src/main/java/com/fixtorv/apksignkiller/utils/MyAppInfo.java`

### Patch Implementations

- [MT patcher](https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/com/fixtorv/apksignkiller/utils/MTSignKiller.java): `app/src/main/java/com/fixtorv/apksignkiller/utils/MTSignKiller.java`
- [Binary patcher](https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/com/fixtorv/apksignkiller/utils/BinSignKiller.java): `app/src/main/java/com/fixtorv/apksignkiller/utils/BinSignKiller.java`

### APK Processing

- [ZIP handling](https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/bin/zip/ZipManager.java): `app/src/main/java/bin/zip/ZipManager.java`
- [Binary XML](https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/bin/xml/decode/AXmlDecoder.java): `app/src/main/java/bin/xml/decode/AXmlDecoder.java`
- [APK signing](https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/bin/signer/ApkSigner.java): `app/src/main/java/bin/signer/ApkSigner.java`

### DEX Tooling

- [DEX loading](https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/org/jf/dexlib2/DexFileFactory.java): `app/src/main/java/org/jf/dexlib2/DexFileFactory.java`
- [Smali rendering](https://github.com/puruliaking007/apksignkiller/blob/main/app/src/main/java/org/jf/baksmali/Baksmali.java): `app/src/main/java/org/jf/baksmali/Baksmali.java`

### Other components

- **APK user**
- **Device files**
- **Patched APK**

## Connections

- APK user → Main activity: selects APK
- Main activity → APK picker: opens picker
- Main activity → APK metadata: reads metadata
- Main activity → App state: reads preference
- Main activity → MT patcher: dispatches MT
- Main activity → Binary patcher: dispatches binary
- APK user → Device files: provides APK
- Device files → Main activity: APK path
