ios 디컴파일 성능 비교 Ida, Hopper, Cutter(ghidra)
1. 대표적인 디스어셈블러인 IDA에는 Hexray라는 디컴파일러가 있다.
2. Hopper는 IDA에 비해 훨씬 저렴하며 mac과 ios에 초점이 맞춰져 있다.
3. Radare2에서 디스어셈블러로 Cutter를 만들고 있는데, 여기서 r2dec과 ghidra로 디컴파일 옵션을 제공한다.
3가지 툴의 디컴파일 성능을 비교해보자 (ios 기준)
DVIA JB 테스트 분석겸 개인적으로 주석을 달아놓았는데, 이걸 빼고 보더라도 다소 난해해 보이기는 하나, 런타임 라이브러리에 익숙하다면 어셈블리어로 보는 것보다야 훨씬 편하다. (x86부터 익숙해진 단축키도 한몫..)
ios와 mac에서는 확실히 hopper가 공을 들였다는 게 느껴진다.
실제 Objective-c의 메세징 문법과 유사하게 디컴파일 되어 훨씬 보기 편하게 읽힌다.
IDA로만 보다가 Hopper로 보니 분석 시간이 훨씬 줄어든다. (주석을 안달아도 그냥 해석되는 것 무엇..)
Cutter에서 Ghidra와 r2dec으로 디컴파일 기능을 제공하는데, r2dec은 훨씬 더 난해하게 보여 개인적으로 어셈블리어가 더 편했다.
반면 기드라는 간결해보이긴 하나, 옵션을 잘못준 것인지 문자열도 알아서 해석하지 못한다.. ㅜ
Cutter는 무료 툴임에도 기드라를 통해 디컴파일까지 해서 볼 수 있다는 점에서 확실히 장점이 있긴 하다.
Radare2와 마찬가지로 오픈소스툴로 발전속도가 어마어마하므로 계속해서 주시해 볼 필요는 있을 듯하다.
향후에는 베스트가 되지 않을까
(Radare2 ios 버전.. 레지스터 참조 이상한거 언제 수정하나요..)
결론 : 호퍼를 구매하였다고 한다.
'iOS 앱 점검(ObjC)' 카테고리의 다른 글
gdb-peda 설치 (0) | 2020.02.03 |
---|---|
기기에서 .ipa 파일 추출하는 방법 4가지 (3) | 2020.02.03 |
ios앱분석 툴 Clutch 설치 (ios13) (3) | 2020.02.03 |
ios앱분석 툴 Class-dump-z 설치 (ios 13) (1) | 2020.01.31 |
iOS 아키텍처 패턴 - VIPER (0) | 2019.05.20 |