2012-12-06 5 views
4

Google Play에서 몇 가지 Android 애플리케이션을 다운로드했습니다. 리버스 엔지니어링 툴 apktool을 통해 Smali 코드를 얻었습니다.이 응용 프로그램에 대한 호출 그래프를 생성하고 싶습니다. 스택 오버플로 및 Google에서 많은 링크를 보았습니다. 제안 된 도구의 대부분은 c/c++이거나 Java 인 경우에는 소스 코드가 필요합니다.android APK에서 콜 그래프를 생성하는 방법은 무엇입니까?

자동으로 콜 그래프를 생성 할 수있는 방법이 있습니까? 감사.

+0

에서 찾을 수 있습니다 루비 사용하여 내 자신의 도구를 작성하려고? – Simon

+0

저는 Android 보안에 익숙하지 않고 앱 테스트 도구를 개발하려고합니다. 나는 그들을 다시 포장하지 않을 것이다. 면허가 허용하는지 여부를 확인하는 방법이 있습니까? 그리고 모두가 그것을 다운로드 할 수 있기 때문에 허용하지 않으면 어떻게 적용 할 수 있습니까? – Junaid

+0

"어떻게 시행 할 수 있습니까?"는 적법성 테스트는 아니며 재 포장은 별개의 문제입니다. 대부분의 라이센스는 리버스 엔지니어링을 명시 적으로 금지합니다. – Simon

답변

4

this과 같은 서비스가 있으며 콜 그래프 옆에 많은 기능이 있습니다. 당신은 온라인 서비스에없는 경우, 당신은 당신의 smali 코드의 그래프를 생성하는 smali-cfgs 도구를 사용할 수 있습니다

..

+0

나는 Dexter에 대해 간략히 살펴 보았습니다. 그 이름처럼 굉장합니다. =) – Junaid

1

apkinspector - http://code.google.com/p/apkinspector/

이 프로젝트의 목표는 보좌관 분석가와 반대이다 엔지니어는 컴파일 된 Android 패키지와 해당 DEX 코드를 시각화합니다. APKInspector는 사용자가 악성 앱에 대한 깊은 통찰력을 얻기위한 분석 기능과 그래픽 기능을 모두 제공합니다

  • CFG
  • 호출 그래프
  • 정적 계측
  • 권한 분석
  • 달빅 코드를
  • Smali 코드
  • Java 코드
  • APK 정보

는 내 컴퓨터 (데비안 6.0)에 apkinspector를 설치하려고했습니다

sudo aptitude install libxext-dev 
source compile python-qt and python-sip 

http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.9.4/ 

sudo aptitude install python-tk 

easy_install ipython 
(sudo aptitude install python-pip & sudo pip install ipython) 

vi androguard/androlyze.py 
change "import IPython.ipapi" to "import IPython.core.ipapi" 
change "from IPython import IPShellEmbed" to "import IPython" 
change "IPShellEmbed" to "IPython.embed" 

그러나 불행히도 사용할 수 없습니다!

따라서 나는 그 응용 프로그램에 대한 라이센스는 리버스 엔지니어링을 허용합니까 here

+0

불행히도 좋은 도구이지만, 성공적으로 설치되지 않았습니다. 해당 페이지는 존재하지 않는 "./install.sh"파일을 실행하도록 요청합니다. "StartQT.py"가 실행되면 다른 패키지 파일이 누락됩니다. :( – Junaid