
renef_server(Android 동적 계측)를 자동 패키징하는 Magisk 모듈
Android용 동적 계측 툴킷인 renef를 자동으로 패키징하고 실행하는 Magisk / KernelSU / APatch 모듈입니다.
magisk-frida에서 영감을 받았습니다.
MagiskRenef-{version}.zip을 다운로드하세요.재부팅 후, renef_server는 추상 소켓 @com.android.internal.os.RuntimeInit에서 UDS(Unix Domain Socket)를 사용하여 자동으로 시작됩니다.
호스트 머신에서 renef 클라이언트를 사용하여 연결하세요:
# 새 프로세스 스폰
renef -s com.example.app -l your-script.lua
# 실행 중인 프로세스에 어태치 (앱을 먼저 열어두세요)
adb shell su 0 sh -c "pidof com.example.app" # PID 확인
renef -a <PID> -l your-script.lua
재부팅 후, 루트 매니저의 모듈 목록을 확인하세요:
renef_server is running (UDS) — 정상renef_server failed to start — 문제 해결 참조서버 로그를 확인하세요:
adb shell su 0 cat /data/local/tmp/renef_server.log
Failed to find libc base가능한 원인:
SELinux 강제 모드(enforcing) — 커스텀 ROM/Samsung 기기에서 가장 흔한 원인:
adb shell su -c setenforce 0
그런 다음 재시도하세요. 작동한다면 SELinux가 renef의 프로세스 인젝션을 차단하고 있는 것입니다.
기기가 루팅되지 않음 — renef_server는 루트(uid 0)로 실행되어야 합니다
잘못된 아키텍처 — ARM64만 지원됩니다
일부 앱은 모든 활동에 android:exported="false"를 설정합니다. -s(스폰) 플래그는 monkey를 사용하며, 이로는 해당 앱을 실행할 수 없습니다. 대신 -a(어태치)를 사용하세요:
# 1. 기기에서 앱을 수동으로 엽니다.
# 2. PID를 확인합니다.
adb shell su 0 sh -c "pidof com.example.app"
# 3. 어태치합니다.
renef -a <PID> -l your-script.lua
GitHub Actions 워크플로우가 매일 실행됩니다. 새로운 renef 릴리스가 감지되면 다음을 수행합니다:
renef-v{VERSION}-android-arm64.tar.gz를 다운로드합니다.renef_server와 libagent.so를 추출합니다.# uv 설치 (https://docs.astral.sh/uv/)
uv run python3 main.py
# 강제 재빌드
FORCE_RELEASE=1 uv run python3 main.py