mirror of
https://github.com/Lakr233/vphone-cli.git
synced 2026-09-02 02:34:29 +00:00
Add jailbreak extension patchers and targets: - kernel_jb.py: 22 dynamic kernel patches (trustcache, execve cs_flags, sandbox ops, task/VM, kcall10 syscall hook, ~160 total modifications) - txm_jb.py: 13 TXM patches (CS validation, get-task-allow, debugger entitlement, dev mode bypass) - iboot_jb.py: iBSS nonce generation skip - cfw.py: launchd jetsam patch, dylib injection commands - fw_patch_jb.py: orchestrator running base + JB extension patches - cfw_install_jb.sh: JB install phases (launchd jetsam fix, procursus bootstrap + Sileo deployment) 3 kernel patches still WIP (nvram_verify_permission, thid_should_crash, hook_cred_label_update_execve) — strategies documented in researchs/kernel_jb_remaining_patches.md. All base (non-JB) code paths verified unaffected — kernel.py produces identical 25 patches, cfw.py base commands unchanged. Add Linux venv setup script; tweak Makefile help Add scripts/setup_venv_linux.sh to create a Python virtualenv on Debian/Ubuntu (or dnf-based) systems, install system packages and Python requirements, and verify core imports (capstone, keystone, pyimg4). Also update Makefile help text to mark the fw_patch_jb target as WIP. This simplifies local development setup on Linux and clarifies that the JB extension patches are a work in progress. Update AGENTS.md: mark cfw_install_jb.sh as complete
59 lines
1.5 KiB
Bash
59 lines
1.5 KiB
Bash
#!/bin/bash
|
|
# setup_venv_linux.sh — Create Python venv on Linux (Debian/Ubuntu).
|
|
#
|
|
# On Linux, keystone-engine pip package ships prebuilt .so — no manual build needed.
|
|
#
|
|
# Usage:
|
|
# bash scripts/setup_venv_linux.sh
|
|
#
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
|
VENV_DIR="${PROJECT_ROOT}/.venv"
|
|
REQUIREMENTS="${PROJECT_ROOT}/requirements.txt"
|
|
|
|
echo "=== Installing system deps ==="
|
|
if command -v apt-get &>/dev/null; then
|
|
apt-get update -qq
|
|
apt-get install -y -qq python3 python3-venv python3-pip cmake gcc g++ pkg-config 2>/dev/null
|
|
elif command -v dnf &>/dev/null; then
|
|
dnf install -y python3 python3-pip cmake gcc gcc-c++ 2>/dev/null
|
|
fi
|
|
|
|
PYTHON="$(command -v python3)"
|
|
if [[ -z "${PYTHON}" ]]; then
|
|
echo "Error: python3 not found in PATH"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== Creating venv ==="
|
|
echo " Python: ${PYTHON} ($(${PYTHON} --version 2>&1))"
|
|
echo " venv: ${VENV_DIR}"
|
|
echo " deps: ${REQUIREMENTS}"
|
|
echo ""
|
|
|
|
"${PYTHON}" -m venv "${VENV_DIR}"
|
|
|
|
source "${VENV_DIR}/bin/activate"
|
|
pip install --upgrade pip > /dev/null
|
|
pip install -r "${REQUIREMENTS}"
|
|
|
|
# --- Verify ---
|
|
echo ""
|
|
echo "=== Verifying imports ==="
|
|
python3 -c "
|
|
from capstone import Cs, CS_ARCH_ARM64, CS_MODE_LITTLE_ENDIAN
|
|
from keystone import Ks, KS_ARCH_ARM64, KS_MODE_LITTLE_ENDIAN
|
|
from pyimg4 import IM4P
|
|
print(' capstone OK')
|
|
print(' keystone OK')
|
|
print(' pyimg4 OK')
|
|
"
|
|
|
|
echo ""
|
|
echo "=== venv ready ==="
|
|
echo " Activate: source ${VENV_DIR}/bin/activate"
|
|
echo " Deactivate: deactivate"
|