[TBD] 코드푸시 번들 리버싱

 

번들 다운로드

notion image
코드푸시에서 번들을 다운로드 했다.
번들 파일에 코드푸시로 올린 자바스크립트 코드들이 왕창 있을 것이다.
리버싱 해서 어디까지 볼 수 있는지 확인해보자

ZIP

notion image
다운로드한 번들 파일에 확장자는 붙어있지 않지만, hex editor로 보면 PK가 보인다.
504B0304ZIP 파일 magic number로 널리 알려져 있다.
확장자를 .zip을 붙여서 압축을 풀어보자.
notion image
CodePush 라는 폴더로 압축이 풀리는 것을 볼 수 있다.
notion image
안드로이드 이미지 파일들이 담긴 해상도별 이미지 폴더들과, 하나의 자바스크립트 번들 파일이 있다.
notion image
이미지 폴더는 별로 볼 게 없으니 확인만 하고 넘기자.

번들 파일

notion image
번들파일을 hex editor로 열어보면 ascii로 해석된 우측 창을 보면 난독화된 자바스크립트 코드들을 볼 수 있다.

graphql 요청문

notion image

쿼리문

.graphql 에 정의된 구문 그대로 노출됨.
어떤 쿼리를 호출해서 어떤 필드들을 참조해서 가져오는지 바로 알 수 있게 된다.
notion image

스타일 코드

notion image
notion image

컴포넌트 관련 코드

notion image
notion image
notion image
notion image

__DEV__

notion image
번들 다운로드 직후 BP를 건 후에, __DEV__ 값을 true로 바꾼다면?
개발용 코드도 다 돌릴 수 있을까?
개발용 코드도 전부 번들에 포함되어 있을까?