Skip to content

Commit 6c3e3d4

Browse files
committed
Add support for the XTAC file format ##bin
1 parent df15299 commit 6c3e3d4

File tree

7 files changed

+129
-1
lines changed

7 files changed

+129
-1
lines changed

dist/plugins-cfg/plugins.def.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ bin.xcoff64
138138
bin.xnu_kernelcache
139139
bin.z64
140140
bin.zimg
141+
bin.xtac
141142
bin_ldr.ldr_linux
142143
bin_xtr.xtr_dyldcache
143144
bin_xtr.xtr_fatmach0

libr/bin/meson.build

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ r_bin_sources = [
8585
'p/bin_xtr_xalz.c',
8686
'p/bin_z64.c',
8787
'p/bin_zimg.c',
88+
'p/bin_xtac.c',
8889
# implementation
8990
'format/bflt/bflt.c',
9091
'format/coff/coff.c',

libr/bin/p/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ FORMATS+=dex.mk fs.mk ningb.mk coff.mk xcoff64.mk ningba.mk xbe.mk zimg.mk
2323
FORMATS+=omf.mk cgc.mk dol.mk rel.mk nes.mk mbn.mk psxexe.mk
2424
FORMATS+=vsf.mk nin3ds.mk bflt.mk wasm.mk sfc.mk
2525
FORMATS+=mdmp.mk z64.mk qnx.mk prg.mk dmp64.mk
26+
FORMATS+=xtac.mk
2627

2728
FORMATS+=xtr_dyldcache.mk
2829
FORMATS+=xtr_fatmach0.mk

libr/include/r_bin.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -906,6 +906,7 @@ extern RBinPlugin r_bin_plugin_lua;
906906
extern RBinPlugin r_bin_plugin_hunk;
907907
extern RBinPlugin r_bin_plugin_xalz;
908908
extern RBinPlugin r_bin_plugin_lua;
909+
extern RBinPlugin r_bin_plugin_xtac;
909910

910911
#ifdef __cplusplus
911912
}

libr/meson.build

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,8 @@ bin_plugins += [
255255
'xcoff64',
256256
'xnu_kernelcache',
257257
'z64',
258-
'zimg'
258+
'zimg',
259+
'xtac'
259260
]
260261

261262
bin_ldr_plugins += [

test/db/anal/v850

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,7 @@ EXPECT=<<EOF
327327
0x0011078e 6 152 fcn.0011078e
328328
0x001112e6 1 18 sym.__strtod_r
329329
0x0010fe46 27 548 sym.__strtod_l
330+
0x0010fda0 9 68 sym._strncmp
330331
0x001112f8 1 24 sym._strtod_l
331332
0x00111310 1 28 sym._strtod
332333
0x0011132c 10 222 sym._strtof_l

test/db/formats/xtac

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
NAME=xtac test
2+
FILE=bins/xta/user32.xta.jc
3+
CMDS=<<EOF
4+
ie
5+
?e --
6+
iS
7+
?e --
8+
is
9+
EOF
10+
EXPECT=<<EOF
11+
[Entrypoints]
12+
13+
0 entrypoints
14+
--
15+
[Sections]
16+
17+
nth paddr size vaddr vsize perm type name
18+
------------------------------------------------------
19+
0 0x00000000 0x0 0x00000000 0x50 -r-- ---- header
20+
1 0x00000060 0x0 0x00000060 0xa4b8 -r-x ---- blck_code_0
21+
2 0x0000a518 0x0 0x0000a518 0x1518 -r-x ---- trans_code_0
22+
23+
--
24+
[Symbols]
25+
26+
nth paddr vaddr bind type size lib name
27+
-------------------------------------------------
28+
0 0x0000a518 0x0000a518 NONE FUNC 0 x86.000011df
29+
1 0x0000a550 0x0000a550 NONE FUNC 0 x86.0000130f
30+
2 0x0000a588 0x0000a588 NONE FUNC 0 x86.0000131f
31+
3 0x0000a5c0 0x0000a5c0 NONE FUNC 0 x86.0000183f
32+
4 0x0000a5f8 0x0000a5f8 NONE FUNC 0 x86.00001c7f
33+
5 0x0000a630 0x0000a630 NONE FUNC 0 x86.000021ef
34+
6 0x0000a668 0x0000a668 NONE FUNC 0 x86.000022ef
35+
7 0x0000a6a0 0x0000a6a0 NONE FUNC 0 x86.000024af
36+
8 0x0000a6d8 0x0000a6d8 NONE FUNC 0 x86.0000256f
37+
9 0x0000a710 0x0000a710 NONE FUNC 0 x86.0000257f
38+
10 0x0000a748 0x0000a748 NONE FUNC 0 x86.0000259f
39+
11 0x0000a780 0x0000a780 NONE FUNC 0 x86.000025bf
40+
12 0x0000a7b8 0x0000a7b8 NONE FUNC 0 x86.000026df
41+
13 0x0000a7f0 0x0000a7f0 NONE FUNC 0 x86.000026ef
42+
14 0x0000a828 0x0000a828 NONE FUNC 0 x86.0000281f
43+
15 0x0000a860 0x0000a860 NONE FUNC 0 x86.0000285f
44+
16 0x0000a898 0x0000a898 NONE FUNC 0 x86.0000287f
45+
17 0x0000a8d0 0x0000a8d0 NONE FUNC 0 x86.0000292f
46+
18 0x0000a908 0x0000a908 NONE FUNC 0 x86.000029cf
47+
19 0x0000a940 0x0000a940 NONE FUNC 0 x86.00002a0f
48+
20 0x0000a978 0x0000a978 NONE FUNC 0 x86.00002e7f
49+
21 0x0000a9b0 0x0000a9b0 NONE FUNC 0 x86.00002e8f
50+
22 0x0000a9e8 0x0000a9e8 NONE FUNC 0 x86.00002ebf
51+
23 0x0000aa20 0x0000aa20 NONE FUNC 0 x86.00002ecf
52+
24 0x0000aa58 0x0000aa58 NONE FUNC 0 x86.0000304f
53+
25 0x0000aa90 0x0000aa90 NONE FUNC 0 x86.0000305f
54+
26 0x0000aac8 0x0000aac8 NONE FUNC 0 x86.0000309f
55+
27 0x0000ab00 0x0000ab00 NONE FUNC 0 x86.000030cf
56+
28 0x0000ab38 0x0000ab38 NONE FUNC 0 x86.0000317f
57+
29 0x0000ab70 0x0000ab70 NONE FUNC 0 x86.000031af
58+
30 0x0000aba8 0x0000aba8 NONE FUNC 0 x86.000031bf
59+
31 0x0000abe0 0x0000abe0 NONE FUNC 0 x86.000031cf
60+
32 0x0000ac18 0x0000ac18 NONE FUNC 0 x86.0000325f
61+
33 0x0000ac50 0x0000ac50 NONE FUNC 0 x86.0000327f
62+
34 0x0000ac88 0x0000ac88 NONE FUNC 0 x86.000032ef
63+
35 0x0000acc0 0x0000acc0 NONE FUNC 0 x86.0000330f
64+
36 0x0000acf8 0x0000acf8 NONE FUNC 0 x86.0000336f
65+
37 0x0000ad30 0x0000ad30 NONE FUNC 0 x86.000034af
66+
38 0x0000ad68 0x0000ad68 NONE FUNC 0 x86.000034bf
67+
39 0x0000ada0 0x0000ada0 NONE FUNC 0 x86.000034ff
68+
40 0x0000add8 0x0000add8 NONE FUNC 0 x86.000036cf
69+
41 0x0000ae10 0x0000ae10 NONE FUNC 0 x86.0000380f
70+
42 0x0000ae48 0x0000ae48 NONE FUNC 0 x86.0000382f
71+
43 0x0000ae80 0x0000ae80 NONE FUNC 0 x86.0000388f
72+
44 0x0000aeb8 0x0000aeb8 NONE FUNC 0 x86.000038af
73+
45 0x0000aef0 0x0000aef0 NONE FUNC 0 x86.000038cf
74+
46 0x0000af28 0x0000af28 NONE FUNC 0 x86.000038ff
75+
47 0x0000af60 0x0000af60 NONE FUNC 0 x86.0000392f
76+
48 0x0000af98 0x0000af98 NONE FUNC 0 x86.0000395f
77+
49 0x0000afd0 0x0000afd0 NONE FUNC 0 x86.0000399f
78+
50 0x0000b008 0x0000b008 NONE FUNC 0 x86.000039ff
79+
51 0x0000b040 0x0000b040 NONE FUNC 0 x86.00003a0f
80+
52 0x0000b078 0x0000b078 NONE FUNC 0 x86.00003a2f
81+
53 0x0000b0b0 0x0000b0b0 NONE FUNC 0 x86.00003a4f
82+
54 0x0000b0e8 0x0000b0e8 NONE FUNC 0 x86.00003a5f
83+
55 0x0000b120 0x0000b120 NONE FUNC 0 x86.00003aef
84+
56 0x0000b158 0x0000b158 NONE FUNC 0 x86.00003b0f
85+
57 0x0000b190 0x0000b190 NONE FUNC 0 x86.00003d5f
86+
58 0x0000b1c8 0x0000b1c8 NONE FUNC 0 x86.00003daf
87+
59 0x0000b200 0x0000b200 NONE FUNC 0 x86.00003ecf
88+
60 0x0000b238 0x0000b238 NONE FUNC 0 x86.00003f2f
89+
61 0x0000b270 0x0000b270 NONE FUNC 0 x86.0000401f
90+
62 0x0000b2a8 0x0000b2a8 NONE FUNC 0 x86.0000413f
91+
63 0x0000b2e0 0x0000b2e0 NONE FUNC 0 x86.0000432f
92+
64 0x0000b318 0x0000b318 NONE FUNC 0 x86.000043af
93+
65 0x0000b350 0x0000b350 NONE FUNC 0 x86.000043bf
94+
66 0x0000b388 0x0000b388 NONE FUNC 0 x86.000045cf
95+
67 0x0000b3c0 0x0000b3c0 NONE FUNC 0 x86.000045ef
96+
68 0x0000b3f8 0x0000b3f8 NONE FUNC 0 x86.0000464f
97+
69 0x0000b430 0x0000b430 NONE FUNC 0 x86.000046cf
98+
70 0x0000b468 0x0000b468 NONE FUNC 0 x86.000047cf
99+
71 0x0000b4a0 0x0000b4a0 NONE FUNC 0 x86.000047ef
100+
72 0x0000b4d8 0x0000b4d8 NONE FUNC 0 x86.000047ff
101+
73 0x0000b510 0x0000b510 NONE FUNC 0 x86.0000495f
102+
74 0x0000b548 0x0000b548 NONE FUNC 0 x86.00004b2f
103+
75 0x0000b580 0x0000b580 NONE FUNC 0 x86.00004dbf
104+
76 0x0000b5b8 0x0000b5b8 NONE FUNC 0 x86.00004dcf
105+
77 0x0000b5f0 0x0000b5f0 NONE FUNC 0 x86.00004f0f
106+
78 0x0000b628 0x0000b628 NONE FUNC 0 x86.00004f4f
107+
79 0x0000b660 0x0000b660 NONE FUNC 0 x86.00004f7f
108+
80 0x0000b698 0x0000b698 NONE FUNC 0 x86.00004fdf
109+
81 0x0000b6d0 0x0000b6d0 NONE FUNC 0 x86.00004fff
110+
82 0x0000b708 0x0000b708 NONE FUNC 0 x86.0000525f
111+
83 0x0000b740 0x0000b740 NONE FUNC 0 x86.000053bf
112+
84 0x0000b778 0x0000b778 NONE FUNC 0 x86.0000543f
113+
85 0x0000b7b0 0x0000b7b0 NONE FUNC 0 x86.0000556f
114+
86 0x0000b7e8 0x0000b7e8 NONE FUNC 0 x86.00135fff
115+
87 0x0000b898 0x0000b898 NONE FUNC 0 x86.00136028
116+
88 0x0000b8d0 0x0000b8d0 NONE FUNC 0 x86.0013602a
117+
89 0x0000b978 0x0000b978 NONE FUNC 0 x86.001362df
118+
90 0x0000b9a8 0x0000b9a8 NONE FUNC 0 x86.0013635f
119+
91 0x0000b9e8 0x0000b9e8 NONE FUNC 0 x86.0013636b
120+
92 0x0000ba18 0x0000ba18 NONE FUNC 0 x86.0013663f
121+
EOF
122+
RUN

0 commit comments

Comments
 (0)