카톡 리밴스드 에 대한 저랑 관련된 오해 요소와 사과의 말씀 드리겠습니다

1. 디시에있는 하단에 게시글 작성자 Ample 과는 저와 다른사람입니다.
https://m.dcinside.com/board/vanced/14535

카카오톡 리밴스드 패치 만들어봄 - 리밴스드 (깃허브) 마이너 갤러리

최신 업데이트: 25.8.2평소에 유튜브 리밴스드 잘 쓰다가 이게 패치형식이라는걸 알고 시간 남는김에 공식 리밴스드 레포 문서를 보면서 카카오톡 버전 리밴스드 패치를 만들어봄카카오톡 쓰면

gall.dcinside.com

https://m.dcinside.com/board/vanced/16792

카카오톡 리밴스드 이전 친구탭 활성화 성공 - 리밴스드 (깃허브) 마이너 갤러리

리밴스드 개발자 본인입니다.카카오톡 25.8.2에서 리밴스드로 이전 친구탭 활성화 성공최신버전을 쓰고싶은데 친구탭 못쓰겠다 하는 사람은 이거 깔면됨.참여주소는 여기: https://t.me/+JyRqyGqfHc81MT

gall.dcinside.com

https://m.dcinside.com/board/vanced/17030

카카오톡 리밴스드 "등" 직접 빌드해보자 (ㄷㅅ) - 리밴스드 (깃허브) 마이너 갤러리

자꾸 APK 공유 방 링크를 올리니 짤려서 그냥 그 방 링크 대신 직접 패치할 수 있는 툴을 만들어 봤음사실 매니저로 되긴하지만, 매니저는 속도도 느리고, 메모리 사용량도 꽤나 빡빡해서 정신적

gall.dcinside.com


저는 디시에서 익명으로 하거나 댓글이나 글을 거의 작성 안합니다.
2. 저는 카톡 리밴스드를 개발하지 않았습니다.
3. 대신 리밴스드를 패치관련되어서 제스타일대로 apkm => apk후 패치 하는 파일을 제가 따로하나만든건있습니다.

코드는 증명하기위해서 여기에 오픈으로 올립니다.
이미 서버가 터저서 이 코드는 무용지물입니다. 그래서 올립니다.

오리지널 소스 코드입니다.

#!/bin/bash
#
# Simplified APKM Merger + Patcher
# Fixed version for Termux
#
set -e

# Color Codes
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'

# Configuration
PKG_NAME="com.kakao.talk"
BASE_DIR="/storage/emulated/0/Download"
PATCH_SCRIPT_DIR="$HOME/revanced-build-script"
MERGED_APK_PATH="$HOME/Downloads/KakaoTalk.apk"
EDITOR_JAR="$BASE_DIR/APKEditor-1.4.5.jar"

# Get device info
ARCH=$(getprop ro.product.cpu.abi)
[ "$ARCH" = "arm64-v8a" ] && ARCH_APK="arm64" || ARCH_APK="armeabi"
LOCALE=$(getprop persist.sys.locale | sed 's/-.*//g' | head -c 2)

# --- Dependency Check ---
check_dependencies() {
    echo -e "${BLUE}[INFO] Checking dependencies...${NC}"
    local MISSING=0
    
    for cmd in curl wget unzip java python git; do
        if ! command -v $cmd &> /dev/null; then
            echo -e "${RED}[ERROR] '$cmd' not found. Install with: pkg install $cmd${NC}"
            MISSING=1
        fi
    done
    
    if [ ! -d "$PATCH_SCRIPT_DIR" ]; then
        echo -e "${RED}[ERROR] Patch script directory not found: $PATCH_SCRIPT_DIR${NC}"
        echo -e "${YELLOW}Run: git clone https://git.naijun.dev/ReVanced/revanced-build-script.git ~${NC}"
        MISSING=1
    fi
    
    if [ ! -f "$EDITOR_JAR" ]; then
        echo -e "${YELLOW}[INFO] Downloading APKEditor...${NC}"
        wget --quiet --show-progress -O "$EDITOR_JAR" \
            "https://github.com/REAndroid/APKEditor/releases/download/V1.4.5/APKEditor-1.4.5.jar" || {
            echo -e "${RED}[ERROR] Failed to download APKEditor${NC}"
            MISSING=1
        }
    fi
    
    [ $MISSING -eq 1 ] && exit 1
    mkdir -p "$HOME/Downloads"
    echo -e "${GREEN}[OK] All dependencies satisfied${NC}"
}

# --- Get APKM File Path ---
get_apkm_file() {
    echo ""
    echo -e "${YELLOW}==================================${NC}"
    echo -e "${GREEN}카카오톡 APKM 파일 선택${NC}"
    echo -e "${YELLOW}==================================${NC}"
    echo ""
    
    # 다운로드 폴더에서 .apkm 파일 찾기
    local APKM_FILES=()
    while IFS= read -r -d '' file; do
        APKM_FILES+=("$(basename "$file")")
    done < <(find "$BASE_DIR" -maxdepth 1 -name "*.apkm" -print0 2>/dev/null)
    
    if [ ${#APKM_FILES[@]} -gt 0 ]; then
        echo -e "${BLUE}다운로드 폴더에서 발견된 APKM 파일:${NC}"
        for i in "${!APKM_FILES[@]}"; do
            echo -e "  ${GREEN}$((i+1)).${NC} ${APKM_FILES[$i]}"
        done
        echo ""
        echo -e "${YELLOW}번호를 입력하거나, 직접 경로를 입력하세요:${NC}"
        read -r -p "> " selection
        
        # 숫자인 경우
        if [[ "$selection" =~ ^[0-9]+$ ]] && [ "$selection" -ge 1 ] && [ "$selection" -le ${#APKM_FILES[@]} ]; then
            APKM_FILE="$BASE_DIR/${APKM_FILES[$((selection-1))]}"
            echo -e "${GREEN}[선택됨] ${APKM_FILES[$((selection-1))]}${NC}"
            return 0
        fi
        
        # 경로인 경우
        if [ -n "$selection" ]; then
            APKM_FILE="$selection"
        fi
    else
        echo -e "${BLUE}APKM 파일의 전체 경로를 입력하세요:${NC}"
        echo -e "${YELLOW}(예: /storage/emulated/0/Download/com.kakao.talk.apkm)${NC}"
        echo ""
        read -r -p "> " APKM_FILE
    fi
    
    # 빈 입력 체크
    if [ -z "$APKM_FILE" ]; then
        echo -e "${RED}[ERROR] 경로가 입력되지 않았습니다.${NC}"
        return 1
    fi
    
    # 파일 존재 체크
    if [ ! -f "$APKM_FILE" ]; then
        echo -e "${RED}[ERROR] 파일을 찾을 수 없습니다: $APKM_FILE${NC}"
        return 1
    fi
    
    echo -e "${GREEN}[OK] 파일 확인됨${NC}"
    return 0
}

# --- Merge APKM ---
merge_apkm() {
    echo ""
    echo -e "${BLUE}[INFO] APKM 파일 병합 시작...${NC}"
    
    local TEMP_DIR="$BASE_DIR/kakao_temp_merge"
    rm -rf "$TEMP_DIR" && mkdir -p "$TEMP_DIR"
    
    # Extract APKM
    echo -e "${BLUE}[INFO] APKM 압축 해제 중...${NC}"
    unzip -qqo "$APKM_FILE" -d "$TEMP_DIR" 2>/dev/null || {
        echo -e "${RED}[ERROR] APKM 압축 해제 실패${NC}"
        rm -rf "$TEMP_DIR"
        return 1
    }
    
    # Check base.apk exists
    if [ ! -f "$TEMP_DIR/base.apk" ]; then
        echo -e "${RED}[ERROR] base.apk를 찾을 수 없습니다.${NC}"
        rm -rf "$TEMP_DIR"
        return 1
    fi
    
    # Merge with APKEditor
    echo -e "${BLUE}[INFO] APKEditor로 병합 중... (시간이 걸릴 수 있습니다)${NC}"
    rm -f "$MERGED_APK_PATH"
    
    java -jar "$EDITOR_JAR" m -i "$TEMP_DIR" -o "$MERGED_APK_PATH" || {
        echo -e "${RED}[ERROR] APKEditor 병합 실패${NC}"
        rm -rf "$TEMP_DIR"
        return 1
    }
    
    # Verify merged file
    if [ ! -f "$MERGED_APK_PATH" ]; then
        echo -e "${RED}[ERROR] 병합된 APK 파일이 생성되지 않았습니다.${NC}"
        rm -rf "$TEMP_DIR"
        return 1
    fi
    
    echo -e "${GREEN}[SUCCESS] 병합 완료: $MERGED_APK_PATH${NC}"
    rm -rf "$TEMP_DIR"
    return 0
}

# --- Run Patch ---
run_patch() {
    echo ""
    echo -e "${GREEN}========================================${NC}"
    echo -e "${GREEN}    패치 스크립트 실행 중...${NC}"
    echo -e "${GREEN}========================================${NC}"
    
    cd "$PATCH_SCRIPT_DIR"
    
    ./build.py \
        --apk "$MERGED_APK_PATH" \
        --package "$PKG_NAME" \
        --include-universal \
        --run || {
        echo -e "${RED}[ERROR] 패치 스크립트 실패${NC}"
        return 1
    }
    
    echo ""
    echo -e "${GREEN}========================================${NC}"
    echo -e "${GREEN}    패치 완료!${NC}"
    echo -e "${GREEN}========================================${NC}"
    echo ""
    echo -e "패치된 파일 위치:"
    echo -e "${YELLOW}$PATCH_SCRIPT_DIR/out/${NC}"
    echo ""
}

# --- Main ---
main() {
    clear
    echo -e "${GREEN}======================================${NC}"
    echo -e "${GREEN}  카카오톡 APKM 병합 & 패치 도구${NC}"
    echo -e "${GREEN}======================================${NC}"
    echo ""
    
    # 1. Check dependencies
    check_dependencies
    
    # 2. Get APKM file
    if ! get_apkm_file; then
        echo -e "${YELLOW}[INFO] 작업이 취소되었습니다.${NC}"
        exit 0
    fi
    
    # 3. Merge APKM
    if ! merge_apkm; then
        exit 1
    fi
    
    # 4. Run patch
    if ! run_patch; then
        exit 1
    fi
    
    echo -e "${GREEN}모든 작업이 완료되었습니다!${NC}"
}

# Run
main


4. 원래부터 저는 이상한거 찾거나 이상한 정보 찾으면 나름 해석 해서 올리는 사람이었습니다.

5. 리밴스드는 2023.09.15 부터, 기존에 리밴스드 꾸준히 올리는 분이 안올리시고나서 ,제가 따로 패치해서 파일을 주고 누군가 익명을 통해 업로드해주고 저는 url만 받아서 올렸을 뿐입니다. 파일변조와 해쉬값 변경은 없습니다. (저도 해쉬값 비교합니다)

6. 누군가는 저도 모릅니다.

7. 저도 이정도 파급력이 있을진 몰랐습니다.

8. 리밴스드 갤러리 (https://m.dcinside.com/board/vanced

리밴스드 (깃허브) 마이너 갤러리 - 커뮤니티 포털 디시인사이드

리밴스드 갤러리 입니다 | 질문하기전 공지 필독 | 완제품의 apk를 배포하는 피싱사이트 주의 - 리밴스드 (깃허브) 갤러리에 다양한 이야기를 남겨주세요.

gall.dcinside.com

)사용자 와 카톡 리밴스드 개발자분에게 이정도 파급력하고 나비효과가 이렇게 불러올줄 몰랐습니다.
죄송합니다.

다시한번 죄송합니다.



댓글