Update README.md

This commit is contained in:
isPointer
2026-06-14 00:21:33 +06:00
committed by GitHub
parent 0de666f273
commit 2cc06244a7
+10 -235
View File
@@ -26,242 +26,17 @@ RePairip is a command-line tool that works with PairIP-protected Android package
| ![App UI](preview/a1.jpg) | ![Dump Style](preview/a2.jpg) |
### Full Pipeline
### tutorial
## Project Previews
```text
// RePairip high-level flow
//
// input
// |
// +----------+----------+
// | |
// .apk .apks
// | |
// | +------v------+
// | | Extract |
// | | Splits |
// | +------+------+
// | |
// | +------v------+
// +------------->| Merge APK |
// +------+------+
// |
// +---------v----------+
// | Patch Manifest |
// | - split metadata |
// | - license entries |
// +---------+----------+
// |
// +-----------v------------+
// | Translation provided? |
// +-----------+------------+
// yes | no
// |
// +---------------------+--------------------+
// | |
// +------v------+ +-------v-------+
// | Rewrite | | Logging Patch |
// | PairIP dex | | + Dex Patch |
// +------+------+ +-------+-------+
// | |
// +------v------+ +-------v-------+
// | Add restore | | Patch CRC32 |
// | dex/assets | | if available |
// +------+------+ +-------+-------+
// | |
// +---------------------+--------------------+
// |
// +------v------+
// | Build APK |
// +------+------+
// |
// output
```
### Dynamic Dump / Logging Patch
```text
// Before
//
// app start
// |
// +-------v--------+
// | StartupLauncher |
// | launch() |
// +-------+--------+
// |
// +-------v--------+
// | VMRunner.invoke |
// +-------+--------+
// |
// return
//
//
// After
//
// app start
// |
// +-------v--------+
// | StartupLauncher |
// | launch() |
// +-------+--------+
// |
// +-------v--------+
// | VMRunner.invoke |
// +-------+--------+
// |
// +-------v--------+
// | pairip() |
// | dump/log values |
// +-------+--------+
// |
// return
```
### Static Translation Patch
```text
// Before
//
// PairIP classes
// |
// +---------v----------+
// | Obfuscated fields |
// | VM/runtime restore |
// +---------+----------+
// |
// runtime lookup
// |
// return
//
//
// After
//
// pairip.json
// |
// +---------v----------+
// | TranslationData |
// | class -> fields |
// +---------+----------+
// |
// +---------v----------+
// | TranslationRewriter|
// | restore statically |
// +---------+----------+
// |
// +---------v----------+
// | Clean PairIP flow |
// | remove runtime lib |
// +---------+----------+
// |
// translated APK
```
### Manifest Patch
```text
// AndroidManifest.xml cleanup
//
// manifest/application
// |
// +----------v-----------+
// | Remove split flags |
// | requiredSplitTypes |
// | splitTypes |
// | isSplitRequired |
// | isFeatureSplit |
// +----------+-----------+
// |
// +----------v-----------+
// | Remove Play metadata |
// | vending splits |
// | stamp source/type |
// +----------+-----------+
// |
// +----------v-----------+
// | Remove PairIP license|
// | activity/provider |
// | CHECK_LICENSE perm |
// +----------+-----------+
// |
// patched manifest
```
### Signature / Integrity Patch
```text
// Target methods
//
// verifySignatureMatches()
// verifyIntegrity()
//
//
// Before:
//
// entry
// |
// +-----v------+
// | original |
// | validation |
// +-----+------+
// |
// result
//
//
// After:
//
// entry
// |
// +-----v------+
// | fixed safe |
// | return |
// +-----+------+
// |
// true / void / null
```
## Project Structure
```text
RePairip/
├── antik/
│ ├── build.gradle.kts
│ └── src/main/
│ ├── java/com/antik/
│ │ ├── Main.java
│ │ ├── AntikUtils.java
│ │ ├── DexPatcher/
│ │ │ ├── DexPatcher.java
│ │ │ ├── MethodT/
│ │ │ ├── PairipMethodMake/
│ │ │ └── Translation/
│ │ ├── crc32/
│ │ ├── manifest/
│ │ ├── ui/
│ │ └── utils/
│ └── resources/
│ ├── log.dex
│ ├── restoreMethod.dex
│ └── info.txt
├── gradle/
├── preview/
├── build.gradle.kts
├── settings.gradle.kts
└── README.md
```
---
## Dependencies
| Dependency | Use |
| --- | --- |
| `org.smali:dexlib2` | Read and write dex classes/methods/instructions |
| `com.github.REAndroid:ARSCLib` | Load, merge, patch, and write APK/APKS modules |
| `com.google.guava:guava` | Utility dependency |
| `com.gradleup.shadow` | Build the runnable fat jar |
---
<table align="center">
<tr>
<td align="center" width="300">
<b>TreeView</b><br>
<video src="https://github.com/user-attachments/assets/140ecd9d-91b6-40ac-a707-708bbfa5a3e8" width="100%" height="600" style="width: 100%; height: 600px;" controls></video>
</td>
</tr>
</table>
## License