작성
·
180
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
연우님 질문해주신 내용과 관련된 자료가 없어 정확한 답변을 드리지 못하는 점 양해 부탁드립니다.
프리다(Frida)를 사용할 때, Java.use
는 주로 정적 분석에서 사용되는 클래스에 접근할 때 사용합니다. 즉, 이미 알려진 클래스 이름으로 클래스를 직접 조작할 수 있을 때 유용합니다. 반면, Java.choose
는 특정 시점에 이미 메모리에 존재하는 객체의 인스턴스에 접근할 필요가 있을 때 사용합니다. findViewById
같은 메서드는 특정 액티비티 인스턴스에 바인딩되어 있으며, 이 인스턴스는 애플리케이션 실행 중에 동적으로 생성됩니다. 따라서, 메소드를 후킹하기 위해서는 그 메소드가 속한 인스턴스에 접근해야 하며, 이 경우 Java.choose
를 사용해서 이미 메모리에 생성된 특정 객체의 인스턴스를 찾아 후킹할 수 있습니다.
정확한 사용 사례나 더 깊은 이해를 위해서는 프리다 공식 문서나 관련 커뮤니티, 교육 자료를 참고하는 것도 좋은 방법입니다.