OS 보안 기능으로 인해 커널 메모리의 후킹이나 수정이 제한되므로, 해당 보안 기능을 비활성화한 OS를 직접 빌드하여 설치해야 한다.
이 가이드는 특정 단말기를 예시로 설명하고 있지만, 엑시노스 칩셋을 사용하는 다른 삼성 기기들도 얼마든지 적용이 가능하다. 리니지OS 홈페이지에서 본인의 모델을 검색해 ZIP 파일을 다운로드한 뒤, 아래와 같은 순서로 시도하면 된다.

준비물
OS : Ubuntu 24.03 LTS
단말기 : 갤럭시 S6 LITE (OEM 잠금 해제 된)

진행 순서
1. 태블릿에 공식 리니지 OS 설치
2. 리눅스에서 리니지 OS 빌드
- 커널 버전이 높을수록 적용된 보안 기능이 많아지므로, 가능한 한 낮은 커널 버전(필자가 설치한 롬은 4 버전 커널) 을 사용하여 진행한다.
3. 태블릿에 빌드한 리니지 OS 설치
4. 크로스 컴파일러로 커널 빌드
5. syscall 후킹 lkm 빌드

1. 태블릿에 공식 리니지 OS 설치

1. 드라이버 설치 후 재부팅 : https://github.com/daynix/usbdk/releases/latest
heimdall : https://blob.lineageos.org/downloads/heimdall/Heimdall-Windows-v2.2.2-120625.zip
2. 전원을 끈 후, 볼륨 상 + 볼륨 하를 동시에 누르면서, 1초후에 usb를 연결하고, 볼륩 상을 눌러 다운로드 모드에 진입한다.
3. https://b4.timschumi.net/lineage-archive/lineage-20.0-20240629-nightly-gta4xlwifi-signed.zip 다운로드
4. zip을 해제한 후, recovery.img 설치

heimdall flash --RECOVERY recovery.img

5. 위 명령어를 실행하면 바로 재부팅이 되는데, 볼륨 상 + 파워를 길게 눌러 리커버리 모드 진입  
6. Factory Reset -> 3개 전부 실행
7. 메인 메뉴로 이동 후 Apply update-> apply from adb 후 아래 명령어 실행

adb -d sideload lineage-20.0-20240629-nightly-gta4xlwifi-signed.zip

8. 재부팅 후, 개발자 옵션에서(설정 -> 시스템에 위치) adb 디버깅 enable 및 디버깅 시 루트 권한 사용 enable 

2. 리눅스에서 리니지 OS 빌드

$ sudo apt-get install python-is-python3 brotli repo adb bc bison build-essential ccache curl flex g++-multilib gcc-multilib git git-lfs gnupg gperf imagemagick protobuf-compiler python3-protobuf lib32readline-dev lib32z1-dev libdw-dev libelf-dev libgnutls28-dev lz4 libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
$ wget https://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2_amd64.deb && sudo dpkg -i libtinfo5_6.3-2_amd64.deb && rm -f libtinfo5_6.3-2_amd64.deb
$ wget https://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libncurses5_6.3-2_amd64.deb && sudo dpkg -i libncurses5_6.3-2_amd64.deb && rm -f libncurses5_6.3-2_amd64.deb
$ git config --global user.email "abc@lol.com"
$ git config --global user.name "kim kim"
$ mkdir -p ~/android/lineage
$ export USE_CCACHE=1
$ export CCACHE_EXEC=/usr/bin/ccache
$ echo 'ccache -M 50G' >> ~/.bashrc
$ source ~/.bashrc
$ cd ~/android/lineage
$ repo init -u https://github.com/LineageOS/android.git -b lineage-20.0 --git-lfs --no-clone-bundle
$ repo sync
$ source build/envsetup.sh
$ croot
$ breakfast gta4xlwifi # 빌드 중 오류 발생은 당연함. 무시하고 아래 명령어 실행
$ cd ~/android/lineage/device/samsung/gta4xlwifi
$ ./extract-files.sh
$ cd ~/android/lineage
$ breakfast gta4xlwifi # 여기서 빌드 오류가 발생하면 안됨
# 보안 기능 off
$ sed -i \
-e 's/CONFIG_EXYNOS_KERNEL_PROTECTION=y/CONFIG_EXYNOS_KERNEL_PROTECTION=n/' \
-e 's/CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y/CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=n/' \
-e 's/CONFIG_STRICT_KERNEL_RWX=y/CONFIG_STRICT_KERNEL_RWX=n/' \
-e 's/CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y/CONFIG_ARCH_HAS_STRICT_MODULE_RWX=n/' \
-e 's/CONFIG_STRICT_MODULE_RWX=y/CONFIG_STRICT_MODULE_RWX=n/' \
-e 's/CONFIG_EXYNOS_CONTENT_PATH_PROTECTION=y/CONFIG_EXYNOS_CONTENT_PATH_PROTECTION=n/' \
-e 's/CONFIG_HAVE_ARCH_SECCOMP_FILTER=y/CONFIG_HAVE_ARCH_SECCOMP_FILTER=n/' \
~/android/lineage/kernel/samsung/gta4xl/arch/arm64/configs/exynos9611-gta4xlwifi_defconfig
# 보안 기능 삭제 (https://codetronik.tistory.com/155)
$ sed -i -e '/struct vm_struct \*area;/ s/^/\/\//' \
-e '/area = find_vm_area/,/return -EINVAL;/ s/^/\/\//' \
~/android/lineage/kernel/samsung/gta4xl/arch/arm64/mm/pageattr.c
$ croot
$ brunch gta4xlwifi
$ cd $OUT # 출력 파일 확인


3. 태블릿에 빌드한 리니지 OS 설치

1. 드라이버 설치 후 재부팅 : https://github.com/daynix/usbdk/releases/latest
heimdall : https://blob.lineageos.org/downloads/heimdall/Heimdall-Windows-v2.2.2-120625.zip
2. 전원을 끈 후, 볼륨 상 + 볼륨 하를 동시에 누르면서, 1초후에 usb를 연결하고, 볼륩 상을 눌러 다운로드 모드에 진입한다.
3. 빌드 한 recovery.img 설치

heimdall flash --RECOVERY recovery.img --no-reboot

4. 재부팅을 위해  볼륨 하 + 파워를 8~10초간 누르고 있다가 손 뗌
5. 재부팅 되면 볼륨 상 + 파워를 길게 눌러 리커버리 모드 진입  
6. Factory Reset -> 3개 전부 실행
7. 메인 메뉴로 이동 후 Apply update-> apply from adb 후 아래 명령어 실행

 adb -d sideload lineage-20.0-20251230-UNOFFICIAL-gta4xlwifi.zip

8. gapps 다운로드 https://github.com/MindTheGapps/13.0.0-arm64/releases/download/MindTheGapps-13.0.0-arm64-20231025_200931/MindTheGapps-13.0.0-arm64-20231025_200931.zip

 adb -d sideload MindTheGapps-13.0.0-arm64-20231025_200931.zip

9. 재부팅

4. 크로스 컴파일러로 커널 빌드

cd ~
git clone https://github.com/Shubhamvis98/toolchains
export PATH="/home/code/toolchains/clang-r428724/bin:/home/code/toolchains/aarch64-linux-android-4.9/bin:$PATH"
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-android-
export CLANG_TRIPLE=aarch64-linux-gnu-
cd ~/android/lineage/kernel/samsung/gta4xl 
make clean
make mrproper
make exynos9611-gta4xlwifi_defconfig
make menuconfig  -> 실행 후 <Save> 클릭
make -j16 CC=clang

커널 소스 수정 (오류 발생 시)

# 파일 내 모든 "/drivers/misc/tzdev/"를 "drivers/misc/tzdev/"로 변경
sed -i 's|"/drivers/misc/tzdev/|"drivers/misc/tzdev/|g' drivers/misc/tzdev/tz_deploy_tzar.c

5. syscall 후킹 lkm 빌드

아래 2개의 파일을 작성한다.

// Makefile
hook-objs := main.o
obj-m += hook.o

KERNEL_PATH := ~/android/lineage/kernel/samsung/gta4xl
CCPATH := /home/code/toolchains/clang-r428724/bin:/home/code/toolchains/aarch64-linux-android-4.9/bin
ARCH=arm64

export PATH := ${CCPATH}:${PATH}
export CLANG_TRIPLE = aarch64-linux-gnu-
export CROSS_COMPILE = aarch64-linux-android-

all:
	make CC=clang ARCH=$(ARCH) CFLAGS=$(CFLAGS) -C $(KERNEL_PATH) M=$(PWD) modules -j$(nproc --all)

clean:
	make -C $(KERNEL_PATH) M=$(PWD) clean
// main.c
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/ftrace.h> // kallsyms_lookup_name()
#include <linux/uaccess.h> // copy_to_user()
#include <linux/slab.h>
#include <asm/set_memory.h>
#include <linux/nls.h>
#include "util.h"

MODULE_AUTHOR("codetronik");
MODULE_LICENSE("GPL");
MODULE_VERSION("1.0");
MODULE_DESCRIPTION("Anti Android Root Detector");

u64 *sys_call_table;

typedef asmlinkage int (*_original_faccessat)(int dfd, const char __user *filename, int mode);
_original_faccessat org_faccessat;

static int (*p_set_memory_rw)(unsigned long, int);

asmlinkage int hook_faccessat(int dfd, const char __user *filename, int mode)
{
	pr_info("[CODETRONIK] hello");
	return org_faccessat(dfd, filename, mode);
}

int init_module(void)
{
	sys_call_table = (u64*)kallsyms_lookup_name("sys_call_table");	
	pr_info("[CODETRONIK] syscall table %016lx", sys_call_table);
	p_set_memory_rw = (void*)kallsyms_lookup_name("set_memory_rw");
	p_set_memory_rw((unsigned long)sys_call_table, 1);
		
	org_faccessat = (_original_faccessat)sys_call_table[__NR_faccessat];
	sys_call_table[__NR_faccessat] = (u64)hook_faccessat;
	return 0;
}

void cleanup_module(void)
{
	sys_call_table[__NR_faccessat] = (u64)org_faccessat;
}

빌드 및 모듈 설치 방법

$ make
$ adb root
$ adb push hook.ko /data/local/tmp
gta4xlwifi:/ $ adb shell
gta4xlwifi:/ $ insmod /data/local/tmp/hook.ko

정상적으로 모듈이 설치되었으면, dmesg로 로그를 확인할 수 있다.

https://download.lineageos.org/gta4xlwifi에서 recovery.img  및 lineage-23.0-20251213-nightly-gta4xlwifi-signed.zip 다운로드

이미 oem언락 된 상태라면 1~3 과정은 생략

1. adb 디버그 허용, oem 언락 허용(빌드버전 연타하면 나옴)

2. 파워 off 후 볼륨 상 + 볼륨 하(One UI 3.0이상,보통 안드로이드11버전)를 동시에 누르면서, 1초후에 usb를 연결한다. (연결되어있는 상태면 안되고 타이밍 맞게 연결해줘야됨) 잠시 후 다운로드 모드로 진입하게 된다.

볼륨상을 길게 눌러 부트로더 언락을 진행한다.

3. 초기화 완료되면 다시 빌드버전 연타한 후 oem이 언락되어 있는지 확인

4. 2번처럼 한 후에 언락이 아닌 볼륨 업을 한번만 누른 후 다운로드 모드로 진입. 

5. odin 3.14.1 다운로드 및 실행

6. AP에 recovery.tar 지정 (7zip으로 recovery.tar로 압축) 및 start

7. 기존 설치된 OS로 재부팅되면, 다운로드 모드로 재 진입

8. 볼륨 하 + 전원 7초간 눌러 강제 재부팅 -> 화면 꺼지자마자 볼륨 상 + 전원으로 바꿔 누르기 -> 삼성 로고 나오면 전원 키 떼고 볼륨 상 유지.

9. Factory Reset -> 3개 전부 실행

10. 메인 메뉴로 이동 후 Apply update-> apply from adb 선택 후 cmd 실행

adb sideload lineage-23.0-20251213-nightly-gta4xlwifi-signed.zip

adb sideload MindTheGapps-16.0.0-arm64-20250812_214353.zip (https://wiki.lineageos.org/gapps/ 에서 다운로드)

adb sidelaod Magisk-v30.6.zip (https://github.com/topjohnwu/Magisk/releases 에서 최신 버전 apk 다운로드 후, 확장자를 zip으로 변경)

adb shell에서만 su가 필요하다면, Magisk를 설치하지 말고 개발자 옵션에서 "디버깅 시 루트 권한 사용" 체크 후 adb root -> adb shell로 접속

11. 재부팅

원문 : https://wiki.lineageos.org/devices/gta4xlwifi/install

롬을 빌드하거나 https://download.lineageos.org/gta4xlwifi에서 두 개 다운로드

이미 oem언락 된 상태라면 1~3 과정은 생략

1. adb 디버그 허용, oem 언락 허용(빌드버전 연타하면 나옴)

2. 파워 off 후 볼륨 상 + 볼륨 하(One UI 3.0이상,보통 안드로이드11버전)를 동시에 누르면서, 1초후에 usb를 연결한다. (연결되어있는 상태면 안되고 타이밍 맞게 연결해줘야됨) 잠시 후 다운로드 모드로 진입하게 된다.

볼륨상을 길게 눌러 부트로더 언락을 진행한다.

3. 초기화 완료되면 다시 빌드버전 연타한 후 oem이 언락되어 있는지 확인

4. https://androidfilehost.com/?w=files&flid=304516 heimdall 다운로드

5. 2번처럼 한 후에 언락이 아닌 볼륨 업을 한번만 누른 후 다운로드 모드로 진입. 이후 Zadig를 실행 (https://github.com/pbatard/libwdi/releases)

Options->List All Devices 클릭

반드시 다운로드 모두 진입 후 실행해야 목록에 Samsung USB Composite Device or Gadget Serial이 보임

보이는 것중에 하나 선택하고 Replace Driver를 클릭

만약 Gadget Serial이 두 개 보인다면 둘다 해보는 수 밖에 없음

6. cmd 실행

heimdall print-pit

장치가 재부팅 되는지 확인

7. usb 연결 상태에서 다운로드 모드 진입 후(5번 참고) cmd 실행

heimdall flash --RECOVERY lineage-18.1-20220413-recovery-gta4xlwifi.img --no-reboot

8.  볼륨 다운 + 파워를 8~10초간 누르고 있다가 손 뗌

9. 재부팅 되면 usb연결 후 볼륨 업 + 파워로 리커버리 모드 진입  

(녹스 워런티 깨졌다고 경고 창 뜨면 그 상태에서 볼륨 업 + 파워 길게 눌러주면 됨)

10. Factory Reset -> 3개 전부 실행

11. 메인 메뉴로 이동 후 Apply update-> apply from adb 선택 후 cmd 실행

adb sideload lineage-18.1-20220413-nightly-gta4xlwifi-signed.zip

adb sideload open_gapps-arm64-11.0-pico-20220215.zip (https://opengapps.org/ 에서 다운로드)

adb sidelaod Magisk-v21.4.zip (https://github.com/topjohnwu/Magisk/releases/download/v21.4/Magisk-v21.4.zip 다른 버전 받으면 안돼서 고생 좀 할것임)

adb shell에서만 su가 필요하다면, Magisk를 설치하지 말고 개발자 옵션에서 "디버깅 시 루트 권한 사용" 체크 후 adb root -> adb shell로 접속

12. 재부팅

이 방식을 사용하면 바로 태블릿에 설치 가능한 형태로 빌드된다.

커널 소스 혹은 defconfig를 수정한 후 사용하고자 할 때 유용하다

빌드 방법 원문 : https://wiki.lineageos.org/devices/gta4xlwifi/build

0. vm에 ubuntu 18.04.6 설치 (하드 용량은 넉넉히 500기가 정도)

200기가로 빌드 불가능했음

램은 20기가 정도 설정

1. 의존 패키지 설치

sudo apt-get install openssh-server libwxgtk3.0-dev bc bison build-essential ccache curl python flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev vim

2. adb 설치

https://dl.google.com/android/repository/platform-tools-latest-linux.zip

unzip platform-tools-latest-linux.zip -d ~

~/.profile에 아래 추가

# add Android SDK platform tools to path
if [ -d "$HOME/platform-tools" ] ; then
    PATH="$HOME/platform-tools:$PATH"
fi

3. 디렉토리 생성

mkdir -p ~/bin
mkdir -p ~/android/lineage

4. repo 설치

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
git config --global user.email "abc@lol.com"
git config --global user.name "kim kim"

5.

export USE_CCACHE=1
export CCACHE_EXEC=/usr/bin/ccache

6. ~/.bashrc 에 아래 추가 

ccache -M 50G

source ~/.profile 실행

7. 리니지OS 소스 전체 다운로드 (OS+소스 =  기가)

cd ~/android/lineage
repo init -u https://github.com/LineageOS/android.git -b lineage-18.1
repo sync

8. 갤럭시 탭 S6용 커널 다운로드

source build/envsetup.sh
breakfast gta4xlwifi

중간에 vendor 어쩌고 Makefile에러가 발생하면 9번 항목 실행후 breakfast 재시도

(대부분의 makefile에러는 make clean과 breakfast반복으로 해결 가능)

9. ubuntu vm에 태블릿 연결 후 태블릿에서 충전이 아닌 PTP로 설정

주의 : adb shell에 su권한이 없으면 파일 복사를 실패함 -> 개발자 옵션에서 디버깅 시 루트 권한 사용 반드시 체크

cd ~/android/lineage/device/samsung/gta4xlwifi
./extract-files.sh

10. 커널 보호 기능 해제

~/android/lineage/kernel/samsung/gta4xl/arch/arm64/configs​/exynos9611-gta4xlwifi_defconfig 편집

아래의 각 라인을 찾아 y를 n으로 수정

(그외 참조 : https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings)

CONFIG_EXYNOS_KERNEL_PROTECTION=y  
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_EXYNOS_CONTENT_PATH_PROTECTION=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y

https://codetronik.tistory.com/155 참조하여 소스도 수정하여야 한다.

11. 빌드

cd ~/android/lineage
source build/envsetup.sh (커널소스 재빌드 시)

brunch gta4xlwifi

12. 출력 파일 확인

cd $OUT

존재 여부 확인 : recovery.img / lineage-18.1-20220418-UNOFFICIAL-gta4xlwifi.zip 

13. 태블릿에 롬 설치 후 adb shell 접속 후 dmesg > grep exynos로 아래의 로그가 뜨는지 확인 (뜨면 defconfig 수정 실패한 것임)

[    0.371387] exynos_protect_kernel_text: Kernel text start VA(0xffffff8008188000), PA(0x80188000)
[    0.371398] exynos_protect_kernel_text: Kernel text end VA(0xffffff8008e28000), PA(0x80e28000)

0. 준비물 : ubuntu 24.03.3 LTS 및 lineage 20이 설치된 S6 Lite

1. 의존 패키지 설치 (defconfig 및 menuconfig 빌드를 위함)

sudo apt-get install build-essential python
wget https://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2_amd64.deb && sudo dpkg -i libtinfo5_6.3-2_amd64.deb && rm -f libtinfo5_6.3-2_amd64.deb
wget https://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libncurses5_6.3-2_amd64.deb && sudo dpkg -i libncurses5_6.3-2_amd64.deb && rm -f libncurses5_6.3-2_amd64.deb
sudo apt-get install python-is-python3

2. 커널 소스 다운로드

cd ~
git clone https://github.com/LineageOS/android_kernel_samsung_gta4xl -b lineage-20

3. 크로스 컴파일러 다운로드 후 경로 설정 

git clone https://github.com/Shubhamvis98/toolchains
export PATH="/home/code/toolchains/clang-r428724/bin:/home/code/toolchains/aarch64-linux-android-4.9/bin:$PATH"
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-android-
export CLANG_TRIPLE=aarch64-linux-gnu-

4. 컴파일 설정

cd android_kernel_samsung_gta4xl
make clean
make mrproper
make exynos9611-gta4xlwifi_defconfig
make menuconfig  -> 실행 후 <Save> 클릭

5. 컴파일

make -j16 CC=clang

6. 커널 소스 수정 (오류 발생 시)

$ nano drivers/misc/tzdev/tz_deploy_tzar.c

__asm__ (
  ".section .init.data,\"aw\"\n"
  "tzdev_tzar_begin:\n"
  ".incbin \"" KBUILD_SRC "/drivers/misc/tzdev/startup.tzar\"\n" <--- /drivers에서 / 제거
  "tzdev_tzar_end:\n"
  ".previous\n"
);
extern char tzdev_tzar_begin[], tzdev_tzar_end[];

__asm__ (
  ".section .init.data,\"aw\"\n"
  "tzdev_old_tzar_begin:\n"
  ".incbin \"" KBUILD_SRC "/drivers/misc/tzdev/startup_old.tzar\"\n" <--- /drivers에서 / 제거
  "tzdev_old_tzar_end:\n"
  ".previous\n"
);


 

 

1. 옵션->빌드 버전에서 현재버전 확인 후 각 버전에 맞는 펌웨어 다운로드

(13버전의 2024.10 펌웨어 P610KOO6FXJ1 에서 루팅 확인)

samfw.com/firmware/SM-P610/KOO

https://samfrew.com/model/SM-P610/

2. adb 디버그 허용, oem 언락 허용(빌드버전 연타하면 나옴)

3. 파워 off 후 볼륨 상 + 볼륨 하(One UI 3.0이상,보통 안드로이드11버전)를 동시에 누르면서, 1초후에 usb를 연결한다. (연결되어있는 상태면 안되고 타이밍 맞게 연결해줘야됨) 잠시 후 다운로드 모드로 진입하게 된다.

볼륨상을 길게 눌러 부트로더 언락을 진행한다.

4. 초기화 완료되면 다시 빌드버전 연타한 후 oem이 언락되어 있는지 확인

5. ap.tar에서 boot.img.lz4만 추출후 압축해제 (wsl에서 실행)

$ sudo apt-get install lz4
$ lz4 -d boot.img.lz4

6. magisk manager설치 후 boot.img만 패치

그 후 아래의 명령어로 다시 압축 

lz4 -B6 --content-size boot.img boot.img.lz4

boot.img.lz4를 원본 ap의 boot.img.lz4에 덮어쓰고 다시 tar로 압축

tar -cvf ap.tar *

7. 파워 off후 다시 다운로드 모드에 진입한다. odin 실행 후 패치한 ap선택 후 tar파일을 선택하여 start를 누른다.

bl, csc(home_csc 아님) 도 같이 설정해줘야 한다.

반드시 oem lock이 off 상태인지 확인한다. on이면 2부터 다시 반복한다.

Odin3-v3.14.4.zip
4.20MB

8. odin이 성공하면 몇번 재부팅되면서 실행되는데, 만약 try again, reset 하는 화면이 뜨면 reset한다.

이 과정을 거치고 화면이 보여진다면 다시 태블릿을 종료하고, 파워+볼륨상을 길게 눌러 리커버리 모드로 진입한 후에

wipe data/factory reset  과 wipte cache partition을 실행한다.

(안하면 내장 메모리 용량이 16기가로 인식됨)

아래 항목은 실패 시 참조

만약 에러가 발생하면 파워 + 볼륨하 버튼을 누르고 있는다.

태블릿 초록색 화면에 "An error has occurred while updating the device software. Use the Emergency recovery function in the Smart Switch PC software." 에러가 발생하면 아래의 프로그램을 설치한다.

Frp Hijacke rV1.0 setup.rar
1.12MB

설치 패스워드 : www.gsmhagard.com

위처럼 입력후 HIJACK IT!을 누르면 재부팅이 된다.

태블릿이 공장 초기화 상태로 되는데, 더이상 oem잠금해제가 보이지 않게 된다. 설정->일반 에서 "날짜 및 시간 자동 설정"을 비활성화 후 날짜를 현재 날짜에서 1달전 쯤으로 설정한다. 그다음 소프트웨어 업데이트를 시도하면 oem 잠금해제가 보이게 된다.

만약 다른 에러로 무한 다운로드 모드 상태가 지속된다면, 패치하지 않은 순정 ap, bl, csc펌웨어를 odin으로 올린다.

 

레퍼런스

forum.xda-developers.com/t/sm-p610-flash-only-official-released-binaries-are-allowed-to-be-flashed-recovery.4214009/

forum.xda-developers.com/t/howto-unlock-and-root-the-galaxy-tab-s6-lite.4132289/

+ Recent posts