hackcatml 2022. 2. 26. 22:02
반응형

◼︎Zygisk

Magisk v24.0 부터 MagiskHide, Magisk-Modules-Repo 기능이 사라지고, Zygisk 기능(Magisk in Zygote)이 도입되었습니다.
Zygisk 기능을 활성화하면, 매지스크는 zygisk 모듈이 앱 프로세스에 접근하여 작동하도록 합니다("When this feature is enabled, a part of Magisk will run in the Zygote daemon process, allowing module developers to run code directly in every Android apps' processes")
Zygisk는 Zygote에 inject하여 모듈이 앱 프로세스에 접근하여 작동하도록 한 Riru 프로젝트에 영향을 받았는데, 내부 구현 로직은 상당히 다르다고 합니다.

 

◼︎앱 진단 시의 활용방안

아직은 기존 Magisk v23.0을 쓰고 있지만, 결국에는 Zygisk로 넘어가야 할 텐데요.

그래서 Zygisk하에서 어떤 조합으로 앱 진단을 할지 간단히 생각해보았습니다.

(1) Zygisk DenyList + Frida
Zygisk에는 DenyList라는 기능이 있는데, DenyList에 등록된 프로세스에 대해 Magisk에 의한 변화를 모두 복구시킵니다.(Zygisk 모듈도 해당앱에 대하여 기능을 상실)
테스트 결과 금융권앱 제외하고는 DenyList를 적용하는 것만으로도 대부분 루팅탐지 우회가 가능한것으로 보입니다.
또한 DenyList를 적용한 상태에서 Frida spawn이 가능합니다.(MagiskHide의 경우 Frida spawn 불가)

 

 

(2) Zygisk + LSPosed-zygisk + Frida

DenyList에 굳이 의존할 필요가 없다면, frida와 함께 강력한 Xposed Api를 쓸 수 있는 Zygisk + LSPosed-zygisk + Frida의 조합이 괜찮은 옵션으로 생각됩니다.

 

 

※ 출처

https://github.com/topjohnwu/Magisk/releases

https://github.com/RikkaApps/Riru

https://github.com/LSPosed/LSPosed/discussions/1384

 

반응형