#####주의 사항:기능 문자열은 매우 중요합니다. 그것은 경화 서비스의 진화와 함께 변경 될 수있다. 잘못된 경우 풀기 프로세스를 트리거할 수 없습니다. DexHunter 는”fwrite”및 기타 libc 기능을 활용하여 파일을 조작합니다. 그러나 이러한 기능은 프로세스의 충돌의 결과로 서비스를 강화에 의해 푹된다. 결과적으로 제공된 이미지를 활용하여 최신 hardedning 서비스를 풀 수 없습니다. 충돌을 피하기 위해 이러한 함수를 직접 시스템 호출로 대체하는 것이 더 좋았습니다.,
DexHunter 는 강화 된 dex 파일을 자동으로 풀기를 목표로합니다.
DexHunter 는 Android 런타임의 소스 코드를 기반으로합니다. 그것은 수정 된 예술과 DVM 런타임으로 구성되어 있습니다. 수정 된 런타임을 사용하여 android 소스 코드(Android4.4.3)의 원본 콘텐츠를 대체 할 수 있습니다. 수정은 주로”art/runtime/class_linker.cc”(ART)및”dalvik/vm/native/dalvik_system_DexFile 에 있습니다.cpp”(DVM).
###사용법:
앱을 풀고 싶다면 앱을 시작하기 전에 모바일에서”dexname”파일을”/data/”로 푸시해야합니다., “Dexname”의 첫 번째 줄은 기능 문자열입니다(“슬라이드 참조.pptx”). 두 번째 줄은 대상 앱의 데이터 경로입니다(예:”/data/data/com.테스트.테스트/”). 그 라인 결말은 유닉스/리눅스 스타일이어야한다. “Logcat”을 사용하여 로그를 관찰하여 풀기 절차가 완료되었는지 여부를 확인할 수 있습니다. 완료되면 생성 된”전체.덱스”파일은 앱의 데이터 디렉토리에있는 원하는 결과입니다.
###팁:
-
DexHunter 는 효율성을 위해 파싱하는 대신”class_def”섹션 앞에 내용을 재사용합니다., 몇 가지 문제가있는 경우 구문 분석하고 다시 조립하거나 정적으로 수정할 수 있습니다.
-
주목할 필요가 있는 어떤”annotation_off”또는”debug_info_off”필드를 잘못 되었을 수도 있습에서 결과입니다. 이러한 파일은 디 컴파일을 방해하기 위해 실행과 아무 관련이 없습니다. 우리는이 상황을 당분간 특별히 다루지 않습니다. 잘못된 파일을 0x00000000 으로 설정하도록 일부 스크립트를 프로그래밍 할 수 있습니다.,
-
로 알려져 있지만,일부 경화 서비스를 보호할 수 있는 여러 가지 방법에 덱스 파일을 복원하여 지기 전에 실행되는 닦고 그들을 그냥한 후에 완료됩니다. 따라서”DoInvoke”(ART)또는”dvmMterp_invokeMethod”(DVM)함수를 수정하여 실행되는 동안 보호 된 명령을 추출해야합니다.
4)기능 문자열은 경화 서비스의 진화와 함께 변경 될 수 있습니다.
5)”fwrite”및 기타 libc 함수가 실패하면 이러한 함수가 sevices 를 강화하여 연결될 수 있습니다., 결과적으로,당신은 그들을 통해 메모리를 덤프 할 수 없습니다. 관련 시스템 호출을 직접 호출하여이 제한을 우회 할 수 있습니다.
DexHunter 에는 자체 제한이 있습니다. 경화 서비스가 발전함에 따라 덱스 헌터는 장래에 효과가 없을 수 있습니다. 관심이 있으시면 DexHunter 를 수정하여 지속적으로 강화 서비스를 진행할 수 있습니다.
###파일 설명:
“demo.mp4″는 Ali 의 강화 된 앱 풀기의 데모 비디오입니다.테스트.apk”는 비디오에 사용 된 샘플입니다.
“dexname”은 비디오에서 사용되는 구성 파일입니다.,
“art”디렉토리는 ART 에 대한 수정 된 런타임입니다.
“dalvik”디렉토리는 DVM 에 대한 수정 된 런타임입니다.
“image”7z 파일에는 비디오에 사용 된 시스템 이미지 파일이 포함되어 있습니다.
어떤 질문이 있으시면,저에게 연락하십시오를 통해 이메일 [email protected].
이 코드를 사용하는 경우,인용하십시오 다음과 같은 종이입니다. 감사합니다!
Yueqian 장,ningde 의 샤푸 현 루오 및 Haoyang Yin,DexHunter:으로 추출하기 숨은 코드가 포장되는 안드로이드 프로그램,절차의 20 유럽에 대한 심포지엄은 연구에서는 컴퓨터보안(ESORICS),오스트리아 비엔나,월 2015.피>