sweetchip's blog



안녕하세요.


오랜만의 포스팅이네요..


회사 인턴을 하면서 지내다가 얼마전 부터 조금 여유가 생기고.. 잠시 쉬려고 하는데 갑자기 이상하게도 매일 쓰는 카카오톡의 구조를 알고 싶어서 조금 까보게 되었습니다.


카톡은 예전부터 이미 다른 짱짱해커분들이 바이너리를 많이 까둔 상태인데.. (PC for MAC, PC for Windows, IOS, Android <- 이건 신나게 분석하는 도중.. 분석 막바지에 찾았네요.. OTL)


위는 구글링 하면 나오는 자료들이니 패스!


언어를 주로 제가 사용하는 파이썬으로 짜보려고 했는데 카톡의 독특한 암호알고리즘으로 암호화 되어있어서 파이썬으로 재현해보려고 별의 별 뻘짓의 결과 실패로 포기하고


자바 언어도 새로 배울겸(3년전에 만져본적은 있지만.. helloworld 조차 실패 ㅋㅋ) 하면서 주말동안 분석을 진행해봤습니다.


그나저나 기본적인 Proguard 같은 난독화 솔루션 이외에 다른 무언가가 적용되었는지 아니면 JD-GUI가 이상한건지


Internal Error 등 내부적인 디컴파일 오류를 내뿜어대고 심지어 함수가 몇단계를 계속 들어가야 하는 부분도 있어서 분석하느라 고생좀 했습니다 ㅋㅋ


* 이과정에서 IDA로 Jar 파일을 열수 있다는것과 smali code를 강제로 공부하게 되었네요 ㅋㅋ..



그러나.. 분석하면서 답답함을 느끼고 다른 운영체제의 카톡의 구조는 어떻게 만들어져 있는지 찾아보기 위해서 구글링을 해보다가


몇페이지 더 깊게 들어가보니 2년전에 어느분이 안드로이드용 카톡을 조금 분석해둔 분이 계셨네요.. OTL


APK 분석은 많은 경험이 없어서 삽질하면서 그냥 공부했다 생각하며.. ㅎ 나머지를 계속 진행했습니다 ㅋㅋ



결국엔 여러 삽질 끝에 주말을 빠이빠이하고 복호화에 성공했네요.. ㅎㅎ


현재 복호화가 되는걸로 확인한 것은 친구들 데이터와 대화 내용 데이터인데..


분석해본건 나중에 시간날때 정리해서 올려보도록 하겠습니다. :)





신고

'0x00 프로그래밍 > 0x02 android' 카테고리의 다른 글

KakaoTalk 안드로이드 DB 복호화 성공!  (11) 2015.02.16

Comment 11