2012-11-20 8 views
7

각 코드 행의 의미를 분석하고 강조 표시 할 수있는 도구가 있습니까? 내가 헥스 - 레이 Decompiler 같은 decompiler 찾고 아니에요. 어셈블리 코드를 읽는 데 도움이 될 간단한 도구를 찾고 있습니다.ARM 분해 코드

답변

9

objdump을 사용하면 어떨까요?

$ cat add.c 
int add(int a, int b) { 
    return a + b; 
} 

$ arm-linux-gnueabihf-gcc -c -O2 add.c 

$ arm-linux-gnueabihf-objdump -d add.o 

add.o:  file format elf32-littlearm 


Disassembly of section .text: 

00000000 <add>: 
    0: 1840  adds r0, r0, r1 
    2: 4770  bx lr 

그것은뿐만 아니라 당신의 오브젝트 파일이 디버그 정보가 포함되어있는 경우 혼합 소스 코드를 제공 할 수있다 (GCC -g) 및 -S를 제공하는 경우 objdump를합니다. 이 무료 프로그램 ::에 대해 http://pel.hu/armu/

+3

팔 ARM (ARM 코어 텍스 ™ -A8 및 쿼드 코어 코어 텍스 A9 프로세서 아키텍처 참조 설명서)는 특정 아키텍처의 경우 (또는 아키텍처 차이를 지정하는 경우 더 새로운 아키텍처 얻기) 각 명령의 의미를 자세히 설명합니다. objdump + ARM ARM 만 있으면됩니다. –

+0

동의. 도구는 부족한 일정을 실행할 때 보물을 보충하고 소중한 몇 분을 절약하는 것입니다. – tecMav

+0

명령 세트가 복잡하지 않고 문서를 한눈에 볼 수 있으므로 일반적으로 돌아갈 필요가 없습니다. 찾아보고이 질문에 대한 답변을 기다리는 시간에 여러 번 지시 사항을 배울 수있었습니다. –

2

. 라이브 뷰에 바이너리 데이터를 입력하고 입력 할 때 디스 어셈블리가 표시되는 것을 보거나 디스 어셈블 할 파일을 업로드 할 수 있습니다. 이 사이트의 좋은 점은 해체에 대한 링크를 다른 사람들과 공유 할 수 있다는 것입니다.

http://www.onlinedisassembler.com

+0

Websense가 URL을 차단합니다. "- ( – tecMav

7

온라인 디스어셈블러 (ODA)는 ARM 및 기타 아키텍처의 무수를 지원하는

+0

"최대 업로드 크기는 256KB입니다. " – m0skit0

2

당신도, IDA Pro를 할 수있는 분해 ARM 질문에서 언급 한 바와 같이.
게다가 ARM DS-5 Development Studio을 사용해 보셨습니까?
일부 기능은 하드웨어와 관련이 있지만 IDE는 매우 좋습니다 (일식).

특징 : 베어 메탈 (bare-metal)에 대한

  • 디버그 지원, RTOS와 리눅스 및 안드로이드 플랫폼
  • SMP 시스템
  • 비 침해주기 정확한 ETM과 PTM 명령 추적
  • 원활한 지원
  • 빠른 디버그 사이클을위한 자동화 된 디버그 세션
  • ITM 및 STM 계측 추적
  • pre-con 패턴 및 사용자 정의 플랫폼
  • 설명서에

가 포함 된 말한다 :

  • DS-5 디버거, 제품 개발의 모든 단계를 포함하는
  • ARM 임베디드 및 베어 메탈 (bare-metal) 코드에 대한 컴파일러 5.04
  • Linux 응용 프로그램 및 Linux 커널 용 Linaro GCC Toolchain 2013.03
  • Linux, Android 및 RTX를 포함한 다양한 운영 체제 용 ARM Streamline ™ 성능 분석기
  • 이클립스 IDE, 소스 코드 편집기와 프로젝트 매니저
  • 고정 가상 플랫폼 (FVP)
  • 예 프로젝트 및 문서