본문 바로가기

해킹-보안/모바일

IDA 동적 디버깅 설정 - Uncrackable 2 동적 분석

반응형

ி IDA 동적 디버깅 환경 설정

 

단말기 아키텍쳐 확인

 
> adb shell getprop ro.product.cpu.abi
arm64-v8a


단말기로 IDA 서버 파일 복사

 
> cd IDA Pro 7.5\dbgsrv
> adb push android_server64 /data/local/tmp
> :/data/local/tmp # chmod 755 android_server64
> :/data/local/tmp # ./android_server64 &

동적 디버깅을 위한 포트 포워딩

 
> adb forward tcp:23946 tcp:23946

디버깅 실행

 
IDA에서 Attach할 디버거 선택 후 Hostname(127.0.0.1:23946) 입력
IDA Debugger > Attach > Debugger
휴대용 단말기는 ARM Linux Android Debugger, 애뮬레이터인 경우 Remote Linux Debugger


Attach할 프로세스 선택 후 Segment Table(ctrl + s)를 확인하여 원하는 so 파일에 BP를 걸고 분석 시작


ி Uncrackable 2 동적 디버깅

 
동적 디버깅 모드: f9
동적 디버깅 모드 종료: ctrl + f2
브레이크 포인트: f2 혹은 넘버라인 옆에 동그라미 클릭
모든 브레이크 포인트 보기: ctrl + alt + b


디버거 설정(F9)

원하는 코드 위치에 BP를 설정, Debugger > Process Options에서 Hostname 설정, frida에서 루팅 탐지 우회된 Uncrack 2 실행 후 해당 앱 Attach

IDA에서 프로세스 실행(F9) 후 앱에서 임의의 입력값을 작성하여 VERIFY 요청 시 17번 째 줄에서 BP가 걸린 것을 확인

Debugger windows > Locals에서 로컬 변수 값 확인이 가능

Value를 더블 클릭 시 값 수정이 가능하며 result 값을 변조 시 우회 가능 ( 0LL => 1LL )

값 변경이 안되는 변수의 경우 해당 위치로 Jump하여 Manual(Alt + f1)을 사용하여 값 패치






반응형