「arm-none-eabi-gdb」の版間の差分
提供: FreeBSD入門
(ページの作成:「arm-none-eabi-gdb とは、ARMアーキテクチャ用のバイナリツールのGDBです。 '''読み方''' ;arm-none-eabi-gdb:あーむ のん いー えー...」) |
(相違点なし)
|
2015年12月13日 (日) 14:49時点における最新版
arm-none-eabi-gdb とは、ARMアーキテクチャ用のバイナリツールのGDBです。
読み方
- arm-none-eabi-gdb
- あーむ のん いー えーびーあい じーでぃーびー
概要
arm-none-eabi-gdb は、 ARM 用の GDB です。
arm-none-eabi-gdb-7.10_4 Name : arm-none-eabi-gdb Version : 7.10_4 Installed on : Sun Dec 13 14:34:20 2015 JST Origin : devel/arm-none-eabi-gdb Architecture : freebsd:10:x86:64 Prefix : /usr/local Categories : devel Licenses : Maintainer : imp@FreeBSD.org WWW : http://www.gnu.org/software/gdb/ Comment : GNU GDB for the arm bare metal target Shared Libs required: libexpat.so.1 Annotations : repo_type : binary repository : FreeBSD Flat size : 4.77MiB Description : This is the GNU Debugger GDB, configured for the AVR microcontroller target. This debugger cannot really be used standalone, but is useful in connection with either AVaRICE (http://avarice.sourceforge.net/) or simulavr (http://www.freesoftware.fsf.org/simulavr/). WWW: http://www.gnu.org/software/gdb/
インストール
pkgコマンドでインストールする場合
sudo pkg install arm-none-eabi-gdb
ファイル
$ pkg info -l arm-none-eabi-gdb arm-none-eabi-gdb-7.10_4: /usr/local/bin/arm-none-eabi-gdb
使い方
簡単に説明すると以下のコマンドで実行できます。
$ arm-none-eabi-gdb target.bin (gdb) target sim (gdb) load (gdb) run
arm-none-eabi-gdb を利用して、FreeBSDの amd64 (AMD 64bit)な環境で ARM用の32ビットELFを動かすことができます。 以下の例は、 SECCON 2015 Oneline CTF の問題のバイナリの例です。
$ uname -a FreeBSD a1.local 10.0-RELEASE-p7 FreeBSD 10.0-RELEASE-p7 #0: Tue Jul 8 06:37:44 UTC 2014 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 $ file 10.bin 10.bin: ELF 32-bit LSB executable, ARM, version 1, statically linked, stripped $ arm-none-eabi-gdb 10.bin GNU gdb (GDB) 7.10 Copyright (C) 2015 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "--host=amd64-portbld-freebsd10.1 --target=arm-none-eabi". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from 10.bin...(no debugging symbols found)...done. (gdb) target sim Connected to the simulator. (gdb) load Loading section .text, size 0x848 vma 0x1400 Loading section .rodata, size 0xe4 vma 0x1c48 Loading section .data, size 0x4 vma 0x2000 Start address 0x1400 Transfer rate: 18816 bits in <1 sec. (gdb) run Starting program: /tmp/seccon201512/200_individual_elebin/Individual_Elebin/10.bin 8a0d28f[Inferior 1 (process 42000) exited normally] (gdb) quit