Skip to content

Removing Pair IP Using Pairip.jar


Tools Needed

- Tool Updates

- Pair Ip Jar


Termux Setup - Add These In .ZSH

Null_Pairip
null_pairip() {
    local TARGET_DIR="/storage/emulated/0/MT2/apks/2-ModdingTools/pairip"
    local SOURCE_JAR="$TARGET_DIR/Files-Setup/NullRe/Pairip.jar"

    # 1. Silent force copy (using \cp to bypass aliases)
    if [ -f "$SOURCE_JAR" ]; then
        \cp -f "$SOURCE_JAR" "$TARGET_DIR/"
    else
        echo "Error: Pairip.jar not found at $SOURCE_JAR"
        return 1
    fi

    cd "$TARGET_DIR" || return 1

    # 2. Find files (Compatible with Zsh and Bash)
    local files=()
    if [ -n "$ZSH_VERSION" ]; then
        files=($TARGET_DIR/*.{xapk,apks}(N))
    else
        shopt -s nullglob
        files=($TARGET_DIR/*.xapk $TARGET_DIR/*.apks)
        shopt -u nullglob
    fi

    if [ ${#files[@]} -eq 0 ]; then
        echo "No .xapk or .apks files found in $TARGET_DIR"
        return 1
    fi

    # 3. Display list
    echo "------------------------------------------"
    echo "Select a file (Press the number):"
    local i=1
    for f in "${files[@]}"; do
        echo "$i) ${f##*/}"
        ((i++))
    done

    # 4. Immediate selection (No Enter required)
    local char
    if [ -n "$ZSH_VERSION" ]; then
        read -k 1 char
    else
        read -n 1 char
    fi
    echo "" # New line after keypress

    # 5. Correct indexing for the specific shell
    local selection=""
    if [[ "$char" =~ ^[1-9]$ ]]; then
        if [ -n "$ZSH_VERSION" ]; then
            selection="${files[$char]}"  # Zsh indexing starts at 1
        else
            selection="${files[$((char-1))]}" # Bash indexing starts at 0
        fi
    fi

    # 6. Execute if valid
    if [ -n "$selection" ] && [ -f "$selection" ]; then
        echo "Processing: ${selection##*/}"
        java -jar Pairip.jar -i "${selection##*/}"
    else
        echo "Invalid selection: $char"
    fi
}
Null PairIP 1
null_pairip1() {
    local TARGET_DIR="/storage/emulated/0/MT2/apks/2-ModdingTools/pairip"

    # 1. Enter directory
    cd "$TARGET_DIR" || { echo "Directory not found"; return 1; }

    # 2. Cleanup: Delete ONLY _pairip.apk files
    echo "Cleaning up old _pairip.apk files..."
    rm -f *_pairip.apk

    # 3. List only _merged.apk files (Zsh/Bash compatible)
    local files=()
    if [ -n "$ZSH_VERSION" ]; then
        files=(*_merged.apk(N))
    else
        shopt -s nullglob
        files=(*_merged.apk)
        shopt -u nullglob
    fi

    if [ ${#files[@]} -eq 0 ]; then
        echo "No _merged.apk files found in $TARGET_DIR"
        return 1
    fi

    # 4. Display list
    echo "------------------------------------------"
    echo "Select a merged APK to process (Press the number):"
    local i=1
    for f in "${files[@]}"; do
        echo "$i) ${f##*/}"
        ((i++))
    done

    # 5. Immediate selection (No Enter required)
    local char
    if [ -n "$ZSH_VERSION" ]; then
        read -k 1 char
    else
        read -n 1 char
    fi
    echo "" 

    # 6. Correct indexing for the specific shell
    local selection=""
    if [[ "$char" =~ ^[1-9]$ ]]; then
        if [ -n "$ZSH_VERSION" ]; then
            selection="${files[$char]}"
        else
            selection="${files[$((char-1))]}"
        fi
    fi

    # 7. Execute the command
    if [ -n "$selection" ] && [ -f "$selection" ]; then
        echo "Processing: ${selection##*/}"
        java -jar Pairip.jar -i "${selection##*/}" -t pairip.json
    else
        echo "Invalid selection: $char"
    fi
}

Steps :

Type Location
.xapk / .apks /storage/emulated/0/MT2/apks/2-ModdingTools/pairip/

After That :

  • run null_pairip in Termux

  • you get 2 files _pairip and _merged

  • install _pairip.apk BUT DNT RUN

    • Also Go to Apps Permissions And Grant All Also Search For Special Permission And Allow Access

Follow This Video To Replace base apk and grab json file

PairIP 1


then run null_pairip1 in termux on merged apk

Once done and Still Face Issue With App Closing Due To Pair Ip Core

Follow These Videos