보안 감시 Rsac : 5 분 안에 안드로이드 앱 리버스 엔지니어링

Rsac : 5 분 안에 안드로이드 앱 리버스 엔지니어링

비디오: Как остановить запотевание стёкол в автомобиле (십월 2024)

비디오: Как остановить запотевание стёкол в автомобиле (십월 2024)
Anonim

안드로이드에서 악성 코드를 퍼 뜨리기위한 가장 일반적인 방법 중 하나, 또는 심지어 나쁜 응용 프로그램은 앱을 리 패키징하는 것입니다. viaForensics의 Pau Oliva Fora는 RSA 컨퍼런스 프레젠테이션에서 Android 앱을 리버스 엔지니어링하는 데 몇 분 밖에 걸리지 않음을 보여주었습니다.

앱 받기

Fora는 앱을 리버스 엔지니어링하는 첫 번째 단계는 자신에게 앱을 얻는 것이라고 말했다. 휴대 전화에서 미끄러 져 보이지만 Android 앱 (또는 APK)은 실제로 새로운 확장명을 가진 ZIP 파일 일뿐입니다. 내부에는 코드에서 필요한 미디어에 이르기까지 앱을 실행하는 데 필요한 모든 것이 있습니다.

APK를 얻는 방법에는 여러 가지가 있습니다. Android에서 리버스 엔지니어링하려는 앱이있는 경우 ASTRO와 같은 파일 관리자를 사용하여 백업을 SD 카드에 저장할 수 있습니다. Android를 컴퓨터에 연결 한 다음 Android 디버깅 브리지를 사용하여 앱을 PC로 전송할 수도 있습니다. 온라인 도구를 사용하여 Google Play에서 APK를 빨아 들일 수도 있습니다.

그것을 멀리 당기기

작업 할 APK가 있으면보다 유용한 것으로 변환해야합니다. 이를 위해 Fora는 두 가지 옵션을 제시했습니다. APK의 컴파일 된 응용 프로그램 코드 파일 (Dalvik Executable 또는 DEX)을 Smali와 같은 어셈블리 언어로 변환하는 Apktool과 같은 도구를 사용하여 대상을 분해 할 수 있습니다. 또는 DEX를 Java Archive (JAR)로 변환 한 다음 Java로 변환하는 디 컴파일 할 수 있습니다.

Fora는 디 컴파일 프로세스에서 일부 데이터가 손실 될 수 있으므로 Android를 염두에두고 만든 디 컴파일러를 사용하는 것이 좋습니다. 이것은 JAR 단계를 건너 뛰고 DEX를 Java로 직접 변환합니다.

Fora는 모든 도구를 스스로 추적하는 데 관심이없는 사람들을 위해 Santoku를 제안했습니다. 이것은 안드로이드 응용 프로그램을 분리, 수정 및 재 포장하는 데 필요한 모든 도구가 사전 설치된 viaForensics의 Linux 배포판입니다. 과거에 작성했던 강력한 디지털 포렌식 도구입니다.

빠른 역전

마지막 몇 단락 동안 잠들었다면, 여기서 깨어납니다. Santoku를 사용하여 Fora는 자신이 만든 매우 기본적인 Android 앱을 사용하여 분리했습니다. 그런 다음 특정 줄의 코드를 찾아보고 코드를 수정 한 후 다시 포장하고 서명 한 다음 수정 된 앱을 Android에 다시 설치하고 시작했습니다. 전체 과정은 5 분도 걸리지 않았습니다.

Fora는 매우 간단한 예였습니다. 이 앱은 매우 기본적이고 난독 화 된 코드를 포함하지 않았습니다. 그러나 그의 시위는 강력한 영향을 미쳤다. Fora는 "이것은 모든 안드로이드 애플리케이션의 동작을 변경하기 위해 할 수있다"고 말했다.

더 무서운 예? 우리가 본 악의적 인 복제 앱으로 마음을 돌려주십시오. 스케치 FlappyBird 클론을 다운로드하기 전에 이것에 대해 생각하십시오.

Rsac : 5 분 안에 안드로이드 앱 리버스 엔지니어링