IOS 소스 코드 난독화에 대한 질문


IOS는 앱을 빌드하고 앱스토어에 배포할때 코드 난독화가 필요 없다고 들었습니다. 궁금해서 구글링을 해봤더니 답변이 명확하게 나오는게 없네요. 좀 자세하게 설명해주시면 감사하겠습니다. 도와주세요.

  • 2016년 07월 05일에 작성됨

조회수 585


1 답변


좋아요
1
싫어요
채택취소하기

이미 보셨을지도 모르겠지만 https://realm.io/kr/news/conrad-kramer-reverse-engineering-ios-apps-lyft/ iOS 리버스 엔지니어링이지만 이 문서를 보시면 어느정도 해소가 되지 않을까 싶습니다.

앱에 코드를 넣기 - Cycript 데모 (7:44)

Q: Cycript를 사용하여 자신의 앱을 디버깅하는 경우에도 디바이스가 탈옥이 되어 있어야 하나요?

Conrad: 자신의 앱이면 탈옥할 필요는 없습니다. 이 도구를 자신의 앱에 포함하는 방법은 cycript.org에 
자세하게 나와 있고 지금 데모와 같이 연결하여 디버깅 할 수 있습니다.
실행파일 복호 - dumpdecrypted 데모 (11:28)"

다음 앱이 실행되고 있지 않을 때의 실제 코드를 살펴보도록 하겠습니다. 
이것은 조금 복잡한 탈옥을 필요로 하지만 조금만 연습하면 쉽게 할 수 있습니다.
 "우리가 디비아스의 앱들을 재인증 할 수 있기 때문에 
 애플은 암호화된 앱을 스토어에 올리고 다른 사람과 공유 할 수 없도록 하고 있습니다."

안드로이드에 비해 아이폰은 자유도가 많이 떨어지고 제약도 많습니다. apk 처럼 실행파일을 이용해서 재배포하는 것이 불가능하기 때문에 난독화를 하지 않는게 아닐까 라는 조심스럽게 추측 해보고, 그러다 보니 아무래도 난독화에 대한 정보가 안드로이드에 비해 적은게 아닌가 싶습니다.(단순히 제 생각입니다..) (물론 탈옥을 한다면 얘기는 달라 집니다.)

물론 정답은 아니겠지만 어느 정도까지는 도움이 되지 않을까 싶습니다.

잘못된 점이 있다면 언제든지 얘기 해주세요 :D

  • 2016년 07월 05일에 작성됨
    Swift로 iOS 개발을 하고 있습니다

  • '난독화 처리를 한 소스는 앱스토어에 등록 불가능하다' 라는 뜻인가요? 더 찾아보니 iOS의 패키징(빌드) 방식때문에 필요없다고 하는 분도 있던데 혹시 그부분에 대해서 아시나요?    LL   2016.7.6 15:33     
  • 난독화 처리를 한 소스를 앱스토어에 등록이 불가능한것 까지는 모르겠습니다. 제가 말한 것은 스토어에서 다운을 받아서 앱을 다른 방법(안드로이드에서는 apk파일 형식으로)으로 다른 사람에게 재가공 및 재배포를 못하기 때문에 필요가 없다라고 말씀드린겁니다. 패키징 방식까지는 잘 모르겠습니다.. ㅠㅠ    myoung   2016.7.6 15:57     
  • 그렇군요. 정말 감사합니다 :)    LL   2016.7.6 16:09     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close