Skip to content

Instantly share code, notes, and snippets.

@twitchyliquid64
Created September 29, 2022 21:46
Show Gist options
  • Save twitchyliquid64/aab4806d847919be47b107d6c3d6f03d to your computer and use it in GitHub Desktop.
Save twitchyliquid64/aab4806d847919be47b107d6c3d6f03d to your computer and use it in GitHub Desktop.
(venv) flipperzero-chrootenv:xxx@xxx:/tmp/flipperzero-firmware$ readelf -h dist/f7-D/apps/Games/snake_game.fap
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: REL (Relocatable file)
Machine: ARM
Version: 0x1
Entry point address: 0x4f5
Start of program headers: 0 (bytes into file)
Start of section headers: 4776 (bytes into file)
Flags: 0x5000000, Version5 EABI
Size of this header: 52 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 40 (bytes)
Number of section headers: 9
Section header string table index: 8
(venv) flipperzero-chrootenv:xxx@xxx:/tmp/flipperzero-firmware$ readelf -a dist/f7-D/apps/Games/snake_game.fap
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: REL (Relocatable file)
Machine: ARM
Version: 0x1
Entry point address: 0x4f5
Start of program headers: 0 (bytes into file)
Start of section headers: 4776 (bytes into file)
Flags: 0x5000000, Version5 EABI
Size of this header: 52 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 40 (bytes)
Number of section headers: 9
Section header string table index: 8
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .text PROGBITS 00000000 000034 0006d0 00 AX 0 0 4
[ 2] .rel.text REL 00000000 001080 0001e0 08 I 6 1 4
[ 3] .rodata PROGBITS 000006d0 000704 00006c 00 A 0 0 4
[ 4] .fapmeta PROGBITS 00000000 000770 000055 00 0 0 1
[ 5] .gnu_debuglink PROGBITS 00000000 0007c8 000018 00 0 0 4
[ 6] .symtab SYMTAB 00000000 0007e0 0004f0 10 7 41 4
[ 7] .strtab STRTAB 00000000 000cd0 0003b0 00 0 0 1
[ 8] .shstrtab STRTAB 00000000 001260 000045 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
L (link order), O (extra OS processing required), G (group), T (TLS),
C (compressed), x (unknown), o (OS specific), E (exclude),
D (mbind), y (purecode), p (processor specific)
There are no section groups in this file.
There are no program headers in this file.
There is no dynamic section in this file.
Relocation section '.rel.text' at offset 0x1080 contains 60 entries:
Offset Info Type Sym.Value Sym. Name
00000054 00000102 R_ARM_ABS32 00000000 .rodata
00000160 00003b02 R_ARM_ABS32 00000000 furi_message_queue_put
00000164 00000102 R_ARM_ABS32 00000000 .rodata
00000168 00004902 R_ARM_ABS32 00000000 furi_crash
0000019c 00003b02 R_ARM_ABS32 00000000 furi_message_queue_put
000001a0 00000102 R_ARM_ABS32 00000000 .rodata
000001a4 00004902 R_ARM_ABS32 00000000 furi_crash
000002cc 00002a02 R_ARM_ABS32 00000000 acquire_mutex
000002d0 00004402 R_ARM_ABS32 00000000 canvas_draw_frame
000002d4 00003402 R_ARM_ABS32 00000000 canvas_draw_rframe
000002d8 00004002 R_ARM_ABS32 00000000 release_mutex
000002dc 00003c02 R_ARM_ABS32 00000000 canvas_set_font
000002e0 00000102 R_ARM_ABS32 00000000 .rodata
000002e4 00000102 R_ARM_ABS32 00000000 .rodata
000002e8 00003902 R_ARM_ABS32 00000000 canvas_draw_str_a[...]
000002ec 00004a02 R_ARM_ABS32 00000000 canvas_draw_box
000002f0 00004802 R_ARM_ABS32 00000000 canvas_set_color
000002f4 00002b02 R_ARM_ABS32 00000000 canvas_draw_str
000002f8 00003502 R_ARM_ABS32 00000000 __wrap_snprintf
00000320 00002c02 R_ARM_ABS32 00000000 memmove
00000418 00003a02 R_ARM_ABS32 00000000 rand
000004dc 00000a02 R_ARM_ABS32 000000bd snake_game_get_tu[...]
000004e0 00000c02 R_ARM_ABS32 000000db snake_game_get_ne[...]
000004e4 00000602 R_ARM_ABS32 00000059 snake_game_collis[...]
000004e8 00000802 R_ARM_ABS32 0000007d snake_game_collis[...]
000004ec 00001b02 R_ARM_ABS32 000002fd snake_game_move_snake
000004f0 00001e02 R_ARM_ABS32 00000325 snake_game_get_ne[...]
0000064c 00003f02 R_ARM_ABS32 00000000 srand
00000650 00003302 R_ARM_ABS32 00000000 furi_message_queu[...]
00000654 00003102 R_ARM_ABS32 00000000 malloc
00000658 00000302 R_ARM_ABS32 00000001 snake_game_init_game
0000065c 00003e02 R_ARM_ABS32 00000000 init_mutex
00000660 00004b02 R_ARM_ABS32 00000000 view_port_alloc
00000664 00001802 R_ARM_ABS32 000001a9 snake_game_render[...]
00000668 00002d02 R_ARM_ABS32 00000000 view_port_draw_ca[...]
0000066c 00001402 R_ARM_ABS32 0000016d snake_game_input_[...]
00000670 00004702 R_ARM_ABS32 00000000 view_port_input_c[...]
00000674 00001102 R_ARM_ABS32 00000141 snake_game_update[...]
00000678 00004302 R_ARM_ABS32 00000000 furi_timer_alloc
0000067c 00003002 R_ARM_ABS32 00000000 furi_kernel_get_t[...]
00000680 00004102 R_ARM_ABS32 00000000 furi_timer_start
00000684 00000102 R_ARM_ABS32 00000000 .rodata
00000688 00004502 R_ARM_ABS32 00000000 furi_record_open
0000068c 00003702 R_ARM_ABS32 00000000 gui_add_view_port
00000690 00000102 R_ARM_ABS32 00000000 .rodata
00000694 00000102 R_ARM_ABS32 00000000 .rodata
00000698 00002e02 R_ARM_ABS32 00000000 furi_log_print_format
0000069c 00004e02 R_ARM_ABS32 00000000 free
000006a0 00004c02 R_ARM_ABS32 00000000 view_port_update
000006a4 00004002 R_ARM_ABS32 00000000 release_mutex
000006a8 00003202 R_ARM_ABS32 00000000 furi_message_queue_get
000006ac 00002a02 R_ARM_ABS32 00000000 acquire_mutex
000006b0 00002102 R_ARM_ABS32 0000041d snake_game_proces[...]
000006b4 00002902 R_ARM_ABS32 00000000 furi_timer_free
000006b8 00003802 R_ARM_ABS32 00000000 view_port_enabled_set
000006bc 00004202 R_ARM_ABS32 00000000 gui_remove_view_port
000006c0 00002f02 R_ARM_ABS32 00000000 furi_record_close
000006c4 00003602 R_ARM_ABS32 00000000 view_port_free
000006c8 00004602 R_ARM_ABS32 00000000 furi_message_queu[...]
000006cc 00004d02 R_ARM_ABS32 00000000 delete_mutex
There are no unwind sections in this file.
Symbol table '.symtab' contains 79 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 SECTION LOCAL DEFAULT 3 .rodata
2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t
3: 00000001 88 FUNC LOCAL DEFAULT 1 snake_game_init_game
4: 00000054 0 NOTYPE LOCAL DEFAULT 1 $d
5: 00000058 0 NOTYPE LOCAL DEFAULT 1 $t
6: 00000059 36 FUNC LOCAL DEFAULT 1 snake_game_colli[...]
7: 0000007c 0 NOTYPE LOCAL DEFAULT 1 $t
8: 0000007d 64 FUNC LOCAL DEFAULT 1 snake_game_colli[...]
9: 000000bc 0 NOTYPE LOCAL DEFAULT 1 $t
10: 000000bd 30 FUNC LOCAL DEFAULT 1 snake_game_get_t[...]
11: 000000da 0 NOTYPE LOCAL DEFAULT 1 $t
12: 000000db 100 FUNC LOCAL DEFAULT 1 snake_game_get_n[...]
13: 000000ee 0 NOTYPE LOCAL DEFAULT 1 $d
14: 000000f2 0 NOTYPE LOCAL DEFAULT 1 $t
15: 00000014 0 NOTYPE LOCAL DEFAULT 3 $d
16: 00000140 0 NOTYPE LOCAL DEFAULT 1 $t
17: 00000141 44 FUNC LOCAL DEFAULT 1 snake_game_updat[...]
18: 00000160 0 NOTYPE LOCAL DEFAULT 1 $d
19: 0000016c 0 NOTYPE LOCAL DEFAULT 1 $t
20: 0000016d 60 FUNC LOCAL DEFAULT 1 snake_game_input[...]
21: 0000019c 0 NOTYPE LOCAL DEFAULT 1 $d
22: 0000002c 0 NOTYPE LOCAL DEFAULT 3 $d
23: 000001a8 0 NOTYPE LOCAL DEFAULT 1 $t
24: 000001a9 340 FUNC LOCAL DEFAULT 1 snake_game_rende[...]
25: 000002cc 0 NOTYPE LOCAL DEFAULT 1 $d
26: 000002fc 0 NOTYPE LOCAL DEFAULT 1 $t
27: 000002fd 40 FUNC LOCAL DEFAULT 1 snake_game_move_snake
28: 00000320 0 NOTYPE LOCAL DEFAULT 1 $d
29: 00000324 0 NOTYPE LOCAL DEFAULT 1 $t
30: 00000325 248 FUNC LOCAL DEFAULT 1 snake_game_get_n[...]
31: 00000418 0 NOTYPE LOCAL DEFAULT 1 $d
32: 0000041c 0 NOTYPE LOCAL DEFAULT 1 $t
33: 0000041d 216 FUNC LOCAL DEFAULT 1 snake_game_proce[...]
34: 000004dc 0 NOTYPE LOCAL DEFAULT 1 $d
35: 00000044 0 NOTYPE LOCAL DEFAULT 3 $d
36: 000004f4 0 NOTYPE LOCAL DEFAULT 1 $t
37: 00000592 0 NOTYPE LOCAL DEFAULT 1 $d
38: 00000598 0 NOTYPE LOCAL DEFAULT 1 $t
39: 00000648 0 NOTYPE LOCAL DEFAULT 1 $d
40: 00000000 0 NOTYPE LOCAL DEFAULT 3 $d
41: 00000000 0 NOTYPE GLOBAL DEFAULT UND furi_timer_free
42: 00000000 0 NOTYPE GLOBAL DEFAULT UND acquire_mutex
43: 00000000 0 NOTYPE GLOBAL DEFAULT UND canvas_draw_str
44: 00000000 0 NOTYPE GLOBAL DEFAULT UND memmove
45: 00000000 0 NOTYPE GLOBAL DEFAULT UND view_port_draw_c[...]
46: 00000000 0 NOTYPE GLOBAL DEFAULT UND furi_log_print_format
47: 00000000 0 NOTYPE GLOBAL DEFAULT UND furi_record_close
48: 00000000 0 NOTYPE GLOBAL DEFAULT UND furi_kernel_get_[...]
49: 00000000 0 NOTYPE GLOBAL DEFAULT UND malloc
50: 00000000 0 NOTYPE GLOBAL DEFAULT UND furi_message_que[...]
51: 00000000 0 NOTYPE GLOBAL DEFAULT UND furi_message_que[...]
52: 00000000 0 NOTYPE GLOBAL DEFAULT UND canvas_draw_rframe
53: 00000000 0 NOTYPE GLOBAL DEFAULT UND __wrap_snprintf
54: 00000000 0 NOTYPE GLOBAL DEFAULT UND view_port_free
55: 00000000 0 NOTYPE GLOBAL DEFAULT UND gui_add_view_port
56: 00000000 0 NOTYPE GLOBAL DEFAULT UND view_port_enabled_set
57: 00000000 0 NOTYPE GLOBAL DEFAULT UND canvas_draw_str_[...]
58: 00000000 0 NOTYPE GLOBAL DEFAULT UND rand
59: 00000000 0 NOTYPE GLOBAL DEFAULT UND furi_message_que[...]
60: 00000000 0 NOTYPE GLOBAL DEFAULT UND canvas_set_font
61: 000004f5 476 FUNC GLOBAL HIDDEN 1 snake_game_app
62: 00000000 0 NOTYPE GLOBAL DEFAULT UND init_mutex
63: 00000000 0 NOTYPE GLOBAL DEFAULT UND srand
64: 00000000 0 NOTYPE GLOBAL DEFAULT UND release_mutex
65: 00000000 0 NOTYPE GLOBAL DEFAULT UND furi_timer_start
66: 00000000 0 NOTYPE GLOBAL DEFAULT UND gui_remove_view_port
67: 00000000 0 NOTYPE GLOBAL DEFAULT UND furi_timer_alloc
68: 00000000 0 NOTYPE GLOBAL DEFAULT UND canvas_draw_frame
69: 00000000 0 NOTYPE GLOBAL DEFAULT UND furi_record_open
70: 00000000 0 NOTYPE GLOBAL DEFAULT UND furi_message_que[...]
71: 00000000 0 NOTYPE GLOBAL DEFAULT UND view_port_input_[...]
72: 00000000 0 NOTYPE GLOBAL DEFAULT UND canvas_set_color
73: 00000000 0 NOTYPE GLOBAL DEFAULT UND furi_crash
74: 00000000 0 NOTYPE GLOBAL DEFAULT UND canvas_draw_box
75: 00000000 0 NOTYPE GLOBAL DEFAULT UND view_port_alloc
76: 00000000 0 NOTYPE GLOBAL DEFAULT UND view_port_update
77: 00000000 0 NOTYPE GLOBAL DEFAULT UND delete_mutex
78: 00000000 0 NOTYPE GLOBAL DEFAULT UND free
No version information found in this file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment