Self-Improvement

[DIVA] 10. Access Control Issues - Part 2 본문

AOS/DIVA

[DIVA] 10. Access Control Issues - Part 2

JoGeun 2021. 10. 31. 23:13

DIVA

diva의 10. Access Control Issues Part2를 확인해보면 두가지 선택지가 있다.

 

Register Now를 체크한 후 버튼을 누르면 아래와 같이 PIN을 입력하라는 화면으로 넘어가진다.

 

Already Registered를 체크한 후 버튼을 누르면 API 정보를 볼 수 있는 화면으로 넘어가진다.

 

디컴파일

AccessControl2Activity 클래스의 소스코드를 확인해보면 intent를 선언해주고 aci2rbregnow의 값이 체크되어 있으면 chk_pin 변수는 true를 가지게 된다.

그리고 jakhar.aseem.diva.action.VIEW_CREDS2 로 선언된 액티비티로 전환하고 있으며 chk_pin의 값을 함께 전달하고 있다.

 

activity_access_control2 레이아웃을 확인해보면 aci2rbregnow id로 된 것이 aci2_regnow string 값으로 되어있다.

 

strings.xml에서 확인해보면 "Register Now." 문자열을 가진 체크 버튼인 것을 알 수 있다.

 

그리고 AndroidMenifest.xml 파일의 내용에서는 jakhar.aseem.diva.APICreds2Activity 화면으로 전환된다는 것을 알 수 있고 intent-filter 내용에 exported 설정이 존재하지 않는다.

 

APICreds2Activity 클래스를 확인해보면 getIntent()로 가져온 chk_pin의 값이 false일 경우에 정보가 보여진다는 것을 알 수 있다.

 

결론적으로는 exported 설정이 존재하지 않는 APICreds2Activity 클래스를 호출하며 chk_pin의 실제 정보는 check_pin으로 am start -n <컴포넌트> --ez 옵션으로 false를 주어 실행하면 된다.

am start -n jakhar.aseem.diva/.APICreds2Activity --ez check_pin false