์ด๊ฒ์ Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ์ ๊ณต์ ์ฒด์์ ์คํํ ์ ์๋ mips-linux-gnu-objdump ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
objdump - ๊ฐ์ฒด ํ์ผ์ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค.
๊ฐ์
๊ฐ์ฒด ๋คํ [-a|--์์นด์ด๋ธ ํค๋]
[-b bfd ์ด๋ฆ|--๋์=bfd ์ด๋ฆ]
[-C|--demangle[=์คํ์ผ] ]
[-d|--๋ถํด]
[-D|--๋ชจ๋ ๋ถํด]
[-z|--๋ถํด-์ ๋ก]
[-EB|-์์|--์๋์={ํฐ | ์์ }]
[-f|--ํ์ผ ํค๋]
[-F|--ํ์ผ ์คํ์ ]
[--ํ์ผ ์์ ์ปจํ ์คํธ]
[-g|--๋๋ฒ๊น ]
[-e|--๋๋ฒ๊น ํ๊ทธ]
[-h|--์น์ ํค๋|--ํค๋]
[-i|--์ ๋ณด]
[-j ์น์ ์ ์์ด์ผ ํฉ๋๋ค.|--์น์ =์น์ ์ ์์ด์ผ ํฉ๋๋ค.]
[-l|--์ค ๋ฒํธ]
[-S|--์์ฒ]
[-m ๊ธฐ๊ณ|--์ํคํ ์ฒ=๊ธฐ๊ณ]
[-M ์ต์ |--๋์ค์ด์ ๋ธ๋ฌ ์ต์ =์ต์ ]
[-p|--๊ฐ์ธ ํค๋]
[-P ์ต์ |--๋น๊ณต๊ฐ=์ต์ ]
[-r|--์ฌ์กฐ์ ]
[-R|--๋์ ์ฌ๋ฐฐ์น]
[-s|--์ ์ฒด ๋ด์ฉ]
[-W[lLiaprmfFsoRt]|
--๋์์ด[=rawline,=decodedline,=์ ๋ณด,=abbrev,=pubnames]
[=๋ฒ์,=๋งคํฌ๋ก,=ํ๋ ์,=ํ๋ ์-interp,=str,=loc]
[=๋ฒ์,=pubtypes,=trace_info,=trace_abbrev]
[=์ถ์ _๋ฒ์,=gdb_index]
[-G|--์ฐ๋ฆผ]
[-t|--syms]
[-T|--๋์ ์ฌ]
[-x|--๋ชจ๋ ํค๋]
[-w|--๋์]
[--์์ ์ฃผ์=์ฃผ์]
[--์ ์ง ์ฃผ์=์ฃผ์]
[--์ ๋์ฌ ์ฃผ์]
[--[no-]show-raw-insn]
[--์กฐ์ -vma=์คํ์ ]
[--ํน์ ๊ธฐํธ]
[--์ ๋์ฌ=์ ๋์ฌ]
[--์ ๋์ฌ ์คํธ๋ฆฝ=์ํ]
[--insn-๋๋น=ํญ]
[-V|--๋ฒ์ญ]
[-H|--๋์]
๊ฐ์ฒด ํ์ผ...
๊ธฐ์
๊ฐ์ฒด ๋คํ ํ๋ ์ด์์ ๊ฐ์ฒด ํ์ผ์ ๋ํ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค. ์ต์ ์ ๋ฌด์์ ์ ์ด
ํ์ํ ํน์ ์ ๋ณด. ์ด ์ ๋ณด๋ ์ฃผ๋ก ๋ค์์ ์ํํ๋ ํ๋ก๊ทธ๋๋จธ์๊ฒ ์ ์ฉํฉ๋๋ค.
์ํ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์๋๋ผ ์ปดํ์ผ ๋๊ตฌ์ ๋ํด ์์ ํ๊ณ ์์ต๋๋ค.
์ปดํ์ผํ๊ณ ์์ ํ๋ ํ๋ก๊ทธ๋จ.
๊ฐ์ฒด ํ์ผ... ๊ฒ์ฌํ ๊ฐ์ฒด ํ์ผ์ ๋๋ค. ์์นด์ด๋ธ๋ฅผ ์ง์ ํ๋ฉด ๊ฐ์ฒด ๋คํ ์ผ
๊ฐ ๊ตฌ์ฑ์ ๊ฐ์ฒด ํ์ผ์ ๋ํ ์ ๋ณด์ ๋๋ค.
์ต์
์ฌ๊ธฐ์ ๋์์ผ๋ก ํ์๋ ๊ธธ๊ณ ์งง์ ํํ์ ์ต์ ์ ๋์ผํฉ๋๋ค. ์ ์ด๋
๋ชฉ๋ก์์ ํ๋์ ์ต์ -a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T ,-V,-x ํด์ผํฉ๋๋ค
์ฃผ์ด์ง.
-a
--์์นด์ด๋ธ ํค๋
๋ค์ ์ค ํ๋๋ผ๋ ๊ฐ์ฒด ํ์ผ ํ์ผ์ด ์์นด์ด๋ธ์ธ ๊ฒฝ์ฐ ์์นด์ด๋ธ ํค๋ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค(
์ ์ ์ฌํ ํ์ ls -l). ๋ชฉ๋ก์ ์ถ๊ฐํ ์ ์๋ ์ ๋ณด ์ธ์ ar tv, ๊ฐ์ฒด ๋คํ
-a ๊ฐ ์์นด์ด๋ธ ๋ฉค๋ฒ์ ์ค๋ธ์ ํธ ํ์ผ ํ์์ ๋ณด์ฌ์ค๋๋ค.
--์กฐ์ -vma=์คํ์
์ ๋ณด๋ฅผ ๋คํํ ๋ ๋จผ์ ์ถ๊ฐ ์คํ์ ๋ชจ๋ ์น์ ์ฃผ์์. ์ด๊ฒ์
์น์ ์ฃผ์๊ฐ ๊ธฐํธ ํ ์ด๋ธ๊ณผ ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ ์ ์ฉํฉ๋๋ค.
ํ ์ ์๋ ํ์์ ์ฌ์ฉํ ๋ ํน์ ์ฃผ์์ ์น์ ์ ๋ฃ์ ๋ ๋ฐ์
.out๊ณผ ๊ฐ์ ์น์ ์ฃผ์๋ฅผ ๋ํ๋ ๋๋ค.
-b bfd ์ด๋ฆ
--๋์=bfd ์ด๋ฆ
๊ฐ์ฒด ํ์ผ์ ๊ฐ์ฒด ์ฝ๋ ํ์์ ๋ค์๊ณผ ๊ฐ์ด ์ง์ ํฉ๋๋ค. bfd ์ด๋ฆ. ์ด ์ต์ ์
ํ์ํ์ง ์๋ค; ๊ฐ์ฒด ๋คํ ์๋์ผ๋ก ๋ง์ ํ์์ ์ธ์ํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด,
objdump -b oasys -m vax -h fu.o
์น์ ํค๋์ ์์ฝ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค(-h) ์ ํธ.์ค์ด๋์ ๋๋ค
๋ช ์์ ์ผ๋ก ์๋ณ(-m) Oasys์์ ์์ฑํ ํ์์ VAX ์ค๋ธ์ ํธ ํ์ผ๋ก
์ปดํ์ผ๋ฌ. ์ฌ์ฉ ๊ฐ๋ฅํ ํ์์ ๋์ดํ ์ ์์ต๋๋ค. -i ์ต์ ์ ์ ํํฉ๋๋ค.
-C
--๋์ต๊ธ[=์คํ์ผ]
๋์ฝ๋ฉ(์ํด) ์ ์์ค ๊ธฐํธ ์ด๋ฆ์ ์ฌ์ฉ์ ์์ค ์ด๋ฆ์ผ๋ก ๋ณํํฉ๋๋ค. ์ ๊ฑฐํ๋ ๊ฒ ์ธ์๋
์์คํ ์์ ๋ฐ์ค์ด ์ถ๊ฐ๋์ด C++ ํจ์ ์ด๋ฆ์ ์ฝ์ ์ ์์ต๋๋ค.
์ปดํ์ผ๋ฌ๋ง๋ค ๋งน๊ธ๋ง ์คํ์ผ์ด ๋ค๋ฆ ๋๋ค. ์ ํ์ ๋๋ง๊ธ๋ง ์คํ์ผ
์ธ์๋ฅผ ์ฌ์ฉํ์ฌ ์ปดํ์ผ๋ฌ์ ์ ํฉํ ๋๋งน๊ธ๋ง ์คํ์ผ์ ์ ํํ ์ ์์ต๋๋ค.
-g
--๋๋ฒ๊น
๋๋ฒ๊น ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค. ์ด๊ฒ์ STABS ๋ฐ IEEE ๋๋ฒ๊น ํ์์ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ค๊ณ ์๋ํฉ๋๋ค.
ํ์ผ์ ์ ์ฅ๋ ์ ๋ณด๋ฅผ C์ ๊ฐ์ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ์ธ์ํฉ๋๋ค. ์ด๋ ์ชฝ๋ ์๋ ๊ฒฝ์ฐ
์ด๋ฌํ ํ์์ด ๋ฐ๊ฒฌ๋๋ฉด ์ด ์ต์ ์ -W ๋ชจ๋ DWARF๋ฅผ ์ธ์ํ๋ ์ต์
ํ์ผ์ ์๋ ์ ๋ณด.
-e
--๋๋ฒ๊น ํ๊ทธ
์ฒ๋ผ -g, ๊ทธ๋ฌ๋ ์ ๋ณด๋ ctags ๋๊ตฌ์ ํธํ๋๋ ํ์์ผ๋ก ์์ฑ๋ฉ๋๋ค.
-d
--๋ถํด
์ ๊ธฐ๊ณ ๋ช ๋ น์ด์ ๋ํ ์ด์ ๋ธ๋ฌ ๋๋ชจ๋์ ํ์ํฉ๋๋ค. ๊ฐ์ฒด ํ์ผ. ์ด
์ต์ ์ ์ง์นจ์ ํฌํจํ ๊ฒ์ผ๋ก ์์๋๋ ์น์ ๋ง ๋์ค์ด์ ๋ธํฉ๋๋ค.
-D
--๋ชจ๋ ๋ถํด
์ฒ๋ผ -d, ๊ทธ๋ฌ๋ ์์๋๋ ๋ถ๋ถ๋ฟ๋ง ์๋๋ผ ๋ชจ๋ ์น์ ์ ๋ด์ฉ์ ๋ถํดํฉ๋๋ค.
์ง์นจ์ ํฌํจํฉ๋๋ค.
์ด ์ต์ ์ ๋ํ ์ฝ๋์ ๋ช ๋ น์ด ๋์ค์ด์ ๋ธ๋ฆฌ์ ๋ฏธ๋ฌํ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
์น์ . ์ธ์ ์ต์ -d ์ค์ ๋ก objdump๋ ์ ์กด์ฌํ๋ ๋ชจ๋ ๊ธฐํธ๋ฅผ ๊ฐ์ ํฉ๋๋ค.
์ฝ๋ ์น์ ์ ๋ช ๋ น์ด ์ฌ์ด์ ๊ฒฝ๊ณ์์ ๋ฐ์ํ๋ฉฐ ๊ฑฐ๋ถํฉ๋๋ค.
๊ทธ๋ฌํ ๊ฒฝ๊ณ๋ฅผ ๋์ด ๋ถํดํ์ญ์์ค. ์ธ์ ์ต์ -D ์ ํจํ์ง๋ง ์ด๊ฒ์
๊ฐ์ ์ด ์ต์ ๋ฉ๋๋ค. ์ ์ถ๋ ฅ์ด ๊ฐ๋ฅํ๋ค๋ ์๋ฏธ์ ๋๋ค. -d and -D
์๋ฅผ ๋ค์ด ๋ฐ์ดํฐ๊ฐ ์ฝ๋ ์น์ ์ ์ ์ฅ๋์ด ์๋ ๊ฒฝ์ฐ ๋ค๋ฆ ๋๋ค.
ํ๊ฒ์ด ARM ์ํคํ ์ฒ์ธ ๊ฒฝ์ฐ ์ด ์ค์์น๋
์ฝ๋ ์น์ ์์ ๋ฐ๊ฒฌ๋ ๋ฐ์ดํฐ ์กฐ๊ฐ์ ๋์ฝ๋ฉํ๋ ๋์ค์ด์ ๋ธ๋ฌ
๋์๋ง์ ์ฐธ์กฐํ์ญ์์ค.
--์ ๋์ฌ ์ฃผ์
๋ถํดํ ๋ ๊ฐ ์ค์ ์ ์ฒด ์ฃผ์๋ฅผ ์ธ์ํ์ญ์์ค. ์ด๊ฒ์ ๋ ์ค๋๋
๋ถํด ํ์.
-EB
-์์
--endian={ํฐ|์์}
๊ฐ์ฒด ํ์ผ์ ์๋์์ ์ง์ ํฉ๋๋ค. ์ด๊ฒ์ ๋ถํด์๋ง ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ด๊ฒ์ ํ ์ ์์ต๋๋ค
์๋์์ ์ค๋ช ํ์ง ์๋ ํ์ผ ํ์์ ๋ถํดํ ๋ ์ ์ฉํฉ๋๋ค.
S-๋ ์ฝ๋์ ๊ฐ์ ์ ๋ณด.
-f
--ํ์ผ ํค๋
๊ฐ ํญ๋ชฉ์ ์ ์ฒด ํค๋์์ ์์ฝ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค. ๊ฐ์ฒด ํ์ผ ํ์ผ.
-F
--ํ์ผ ์คํ์
์น์ ์ ๋ถํดํ ๋ ๊ธฐํธ๊ฐ ํ์๋ ๋๋ง๋ค ํ์ผ๋ ํ์
๋คํ๋ ๋ฐ์ดํฐ ์์ญ์ ์คํ์ ์ ๋๋ค. XNUMX์ ๊ฑด๋๋ฐ๋ ๊ฒฝ์ฐ
๊ทธ๋ฐ ๋ค์ ๋์ค์ด์ ๋ธ๋ฆฌ๊ฐ ๋ค์ ์์๋๋ฉด ์ฌ์ฉ์์๊ฒ ๊ฑด๋๋ด XNUMX์ ์์ ํ์ผ
๋ถํด๊ฐ ์ฌ๊ฐ๋๋ ์์น์ ์คํ์ ์ ๋๋ค. ์น์ ์ ๋คํํ ๋,
๋คํ๊ฐ ์์๋๋ ์์น์ ํ์ผ ์คํ์ ์ ํ์ํฉ๋๋ค.
--ํ์ผ ์์ ์ปจํ ์คํธ
์ฝ์ ๋ ์์ค ์ฝ๋/๋์ค์ด์ ๋ธ๋ฆฌ๋ฅผ ํ์ํ ๋ ์ง์ (๊ฐ์ -S)์์
์์ง ํ์๋์ง ์์ ํ์ผ์ ๊ฒฝ์ฐ ์ปจํ ์คํธ๋ฅผ ํ์ผ์ ์์ ๋ถ๋ถ์ผ๋ก ํ์ฅํฉ๋๋ค.
-h
--์น์ ํค๋
--ํค๋
๊ฐ์ฒด ํ์ผ์ ์น์ ํค๋์์ ์์ฝ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์์ ์ฌ์ฉํ์ฌ ํ์ผ ์ธ๊ทธ๋จผํธ๋ฅผ ๋นํ์ค ์ฃผ์๋ก ์ฌ๋ฐฐ์นํ ์ ์์ต๋๋ค.
-๋ฌธ์, -ํฐ๋ฐ์ดํฐ๋ฐ -Tbss ์ต์ ld. ๊ทธ๋ฌ๋ ๋ค์๊ณผ ๊ฐ์ ์ผ๋ถ ๊ฐ์ฒด ํ์ผ ํ์
.out, ํ์ผ ์ธ๊ทธ๋จผํธ์ ์์ ์ฃผ์๋ฅผ ์ ์ฅํ์ง ๋ง์ญ์์ค. ๊ทธ๋ฌํ ์ํฉ์์,
์ด๊ธฐ๋ํ์ง๋ง ld ๋ค์์ ์ฌ์ฉํ์ฌ ์น์ ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ๋ฐฐ์นํฉ๋๋ค. ๊ฐ์ฒด ๋คํ -h ํ์ผ์ ๋์ดํ๋ ค๋ฉด
์น์ ํค๋๋ ์ฌ๋ฐ๋ฅธ ์ฃผ์๋ฅผ ํ์ํ ์ ์์ต๋๋ค. ๋์ ํ์์ ๋ชจ์ต์ ๋ณด์ฌ์ค๋๋ค.
๋์์ ๋ํด ์์์ ์ธ ์ฃผ์์ ๋๋ค.
-H
--๋์
์ต์ ์์ฝ ์ธ์ ๊ฐ์ฒด ๋คํ ์ข ๋ฃํ์ญ์์ค.
-i
--์ ๋ณด
์ฌ์ฉํ ์ ์๋ ๋ชจ๋ ์ํคํ ์ฒ ๋ฐ ๊ฐ์ฒด ํ์์ ๋ณด์ฌ์ฃผ๋ ๋ชฉ๋ก ํ์
์ฌ์ -b or -m.
-j name
--์น์ =name
์น์ ์ ๋ํ ์ ๋ณด๋ง ํ์ name.
-l
--์ค ๋ฒํธ
ํ์ผ ์ด๋ฆ๊ณผ ์์ค ํ์ผ๋ก ๋์คํ๋ ์ด์ ๋ ์ด๋ธ ์ง์ (๋๋ฒ๊น ์ ๋ณด ์ฌ์ฉ)
ํ์๋ ๊ฐ์ฒด ์ฝ๋ ๋๋ ์ฌ๋ฐฐ์น์ ํด๋นํ๋ ๋ฒํธ์ ๋๋ค. ์๋ง ์ ์ฉ -d, -D๋ฐ
-r.
-m ๊ธฐ๊ณ
--์ํคํ ์ฒ=๊ธฐ๊ณ
์ค๋ธ์ ํธ ํ์ผ์ ๋์ค์ด์ ๋ธํ ๋ ์ฌ์ฉํ ์ํคํ ์ฒ๋ฅผ ์ง์ ํฉ๋๋ค. ์ด๊ฒ์ ์ ์ฉํ ์ ์์ต๋๋ค
์ํคํ ์ฒ ์ ๋ณด๋ฅผ ์ค๋ช ํ์ง ์๋ ์ค๋ธ์ ํธ ํ์ผ์ ๋์ค์ด์ ๋ธํ ๋
S-๋ ์ฝ๋๋ก. ๋ค์์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ์ํคํ ์ฒ๋ฅผ ๋์ดํ ์ ์์ต๋๋ค. -i ์ต์ ์ ์ ํํฉ๋๋ค.
๋์์ด ARM ์ํคํ ์ฒ์ธ ๊ฒฝ์ฐ ์ด ์ค์์น๋ ์ถ๊ฐ ํจ๊ณผ๊ฐ ์์ต๋๋ค. ๊ทธ๊ฒ
์ํคํ ์ฒ์์ ์ง์ํ๋ ๋ช ๋ น์ด๋ก๋ง ๋์ค์ด์ ๋ธ๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค.
์ ์ํด ์ง์ ๋ ๊ธฐ๊ณ. ์ ๋ ฅ ํ์ผ ๋๋ฌธ์ ์ด ์ค์์น๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ
์ํคํ ์ฒ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ง ์์ง๋ง ๋์ค์ด์ ๋ธํ๊ธฐ๋ ํฉ๋๋ค.
๋ชจ๋ ์ง์นจ ์ฌ์ฉ -๋ง๋ฆ.
-M ์ต์
--๋์ค์ด์ ๋ธ๋ฌ ์ต์ =์ต์
๋์ ํน์ ์ ๋ณด๋ฅผ ๋์ค์ด์ ๋ธ๋ฌ์ ์ ๋ฌํฉ๋๋ค. ์ผ๋ถ ๋์์์๋ง ์ง์๋ฉ๋๋ค.
๋ ์ด์์ ๋์ค์ด์ ๋ธ๋ฌ ์ต์ ์ ์ง์ ํด์ผ ํ๋ ๊ฒฝ์ฐ ์ฌ๋ฌ -M
์ต์ ์ ์ฌ์ฉํ๊ฑฐ๋ ์ผํ๋ก ๊ตฌ๋ถ๋ ๋ชฉ๋ก์ ํจ๊ป ๋ฐฐ์นํ ์ ์์ต๋๋ค.
ํ๊ฒ์ด ARM ์ํคํ ์ฒ์ธ ๊ฒฝ์ฐ ์ด ์ค์์น๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์์ ์ ํํ ์ ์์ต๋๋ค.
๋ ์ง์คํฐ ์ด๋ฆ ์ธํธ๋ ๋์ค์ด์ ๋ธ๋ฌ ์ค์ ์ฌ์ฉ๋ฉ๋๋ค. ์ง์ -M ๋ฑ๋ก ์ด๋ฆ ํ์ค (
๊ธฐ๋ณธ๊ฐ) ARM์ ๋ช ๋ น์ด ์ธํธ์ ์ฌ์ฉ๋ ๋ ์ง์คํฐ ์ด๋ฆ์ ์ ํํฉ๋๋ค.
๋ฌธ์, ๊ทธ๋ฌ๋ 'sp'๋ผ๋ ๋ ์ง์คํฐ 13, 'lr'์ด๋ผ๋ ๋ ์ง์คํฐ 14 ๋ฐ ๋ ์ง์คํฐ
15 'pc'๋ผ๊ณ ํฉ๋๋ค. ์ง์ -M ๋ฑ๋ก ์ด๋ฆ-apcs ARM์์ ์ฌ์ฉํ๋ ์ด๋ฆ ์ธํธ๋ฅผ ์ ํํฉ๋๋ค.
์ ์ฐจ ํธ์ถ ํ์ค, ์ง์ ํ๋ ๋์ -M ๋ฑ๋ก ์ด๋ฆ-์์ ๊ทธ๋ฅ ์ฌ์ฉํ ๊ฒ์ ๋๋ค r ๋ค์์
๋ ์ง์คํฐ ๋ฒํธ๋ก.
APCS ๋ ์ง์คํฐ ๋ช ๋ช ์ฒด๊ณ์๋ ๋ ๊ฐ์ง ๋ณํ์ด ์์ต๋๋ค. -M ๋ฑ๋ก
์ด๋ฆ-atpcs and -M ๋ฑ๋ก ์ด๋ฆ-ํน์-atpcs ARM/Thumb ํ๋ก์์ ํธ์ถ์ ์ฌ์ฉํ๋
ํ์ค ๋ช ๋ช ๊ท์น. (์ผ๋ฐ ๋ ์ง์คํฐ ์ด๋ฆ ๋๋ ํน์ ๋ ์ง์คํฐ ์ด๋ฆ
๋ ์ง์คํฐ ์ด๋ฆ).
์ด ์ต์ ์ ARM ์ํคํ ์ฒ์์ ๋์ค์ด์ ๋ธ๋ฌ๋ฅผ ๊ฐ์ ์คํํ๋ ๋ฐ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
์ค์์น๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๋ช ๋ น์ด๋ฅผ Thumb ๋ช ๋ น์ด๋ก ํด์
--disassembler-options=ํฌ์ค ์์ง ์๊ฐ๋ฝ. ์ด๊ฒ์ ๋ถํด๋ฅผ ์๋ํ ๋ ์ ์ฉํ ์ ์์ต๋๋ค.
๋ค๋ฅธ ์ปดํ์ผ๋ฌ์ ์ํด ์์ฑ๋ ์ธ ์ฝ๋.
x86์ ๊ฒฝ์ฐ ์ผ๋ถ ์ต์ ์ -m ์ ํํ์ง๋ง ๋ ์ธ๋ฐํ๊ฒ ํ์ฉ
์ธ๋ถํ ๋ ์ ์ด. ๋ค์ ์ค ์ฌ๋ฌ ํญ๋ชฉ์ ์ผํ๋ก ์ง์ ํ ์ ์์ต๋๋ค.
๋ถ๋ฆฌ๋ ๋ฌธ์์ด.
"x86-64"
"i386"
"i8086"
์ฃผ์ด์ง ์ํคํ ์ฒ์ ๋ํ ๋์ค์ด์ ๋ธ๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค.
"์ธํ "
"์"
์ธํ ๊ตฌ๋ฌธ ๋ชจ๋์ AT&T ๊ตฌ๋ฌธ ๋ชจ๋ ์ค์์ ์ ํํฉ๋๋ค.
"์๋64"
"์ธํ 64"
AMD64 ISA์ Intel64 ISA ์ค์์ ์ ํํ์ญ์์ค.
"์ธํ ๋๋ชจ๋"
"att-๋๋ชจ๋"
์ธํ ๋๋ชจ๋ ๋ชจ๋์ AT&T ๋๋ชจ๋ ๋ชจ๋ ์ค์์ ์ ํํฉ๋๋ค. ์ฐธ๊ณ : "์ธํ ๋๋ชจ๋"
"intel"์ ์๋ฏธํ๊ณ "att-mnemonic"์ "att"๋ฅผ ์๋ฏธํฉ๋๋ค.
"addr64"
"addr32"
"addr16"
"๋ฐ์ดํฐ32"
"๋ฐ์ดํฐ16"
๊ธฐ๋ณธ ์ฃผ์ ํฌ๊ธฐ์ ํผ์ฐ์ฐ์ ํฌ๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค. ์ด ๋ค ๊ฐ์ง ์ต์ ์
"x86-64", "i386" ๋๋ "i8086"์ด ์ต์ ๋ฌธ์์ด์ ๋ท๋ถ๋ถ์ ๋ํ๋๋ฉด ์ฌ์ ์๋ฉ๋๋ค.
"์ ๋ฏธ์ฌ"
AT&T ๋ชจ๋์ ์์ ๋,
์ ๋ฏธ์ฌ๋ ํผ์ฐ์ฐ์์ ์ํด ์ ์ถ๋ ์ ์์ต๋๋ค.
ํ์PC์ ๊ฒฝ์ฐ, ๋ถ์ผ BookE ์ง์นจ์ ๋ถํด๋ฅผ ์ ์ดํฉ๋๋ค. 32 and 64 ๊ณ ๋ฅด๋ค
๊ฐ๊ฐ PowerPC ๋ฐ PowerPC64 ๋ถํด. e300 ๋ถํด๋ฅผ ์ ํํฉ๋๋ค.
e300 ํจ๋ฐ๋ฆฌ. 440 PowerPC 440์ ๋ถํด๋ฅผ ์ ํํฉ๋๋ค. pcpps ๋ถํด ์ ํ
PPC750CL์ ์ง์ง์ด์ง ๋จ์ผ ๋ช ๋ น์ด์ฉ.
MIPS์ ๊ฒฝ์ฐ ์ด ์ต์ ์ ๋ช ๋ น์ด ๋๋ชจ๋ ์ด๋ฆ ๋ฐ ๋ ์ง์คํฐ ์ธ์๋ฅผ ์ ์ดํฉ๋๋ค.
๋์ค์ด์ ๋ธ๋ ๋ช ๋ น์ด์ ์ด๋ฆ. ๋ค์ ์ค ์ฌ๋ฌ ํญ๋ชฉ์ ์ ํํ ์ ์์ต๋๋ค.
์ผํ๋ก ๊ตฌ๋ถ๋ ๋ฌธ์์ด๋ก ์ง์ ๋๋ฉฐ ์๋ชป๋ ์ต์ ์ ๋ฌด์๋ฉ๋๋ค.
"๋ณ๋ช ์์"
์ผ๋ถ ์์ฌ ๋ช ๋ น์ด ๋๋ชจ๋ ๋์ '์์' ๋ช ๋ น์ด ๋๋ชจ๋์ ์ธ์ํฉ๋๋ค.
์ฆ, 'move' ๋์ 'daddu' ๋๋ 'or'๋ฅผ, 'nop' ๋์ 'sll'์ ์ธ์ํ๋ ๋ฑ
"์ ์ฌ"
MSA ์ง์นจ์ ๋ถํดํฉ๋๋ค.
"๊ฐ์"
๊ฐ์ํ ASE ๋ช ๋ น์ด๋ฅผ ๋ถํดํฉ๋๋ค.
"์์คํ"
XPA(eXtended Physical Address) ASE ๋ช ๋ น์ด๋ฅผ ๋ถํดํฉ๋๋ค.
"gpr ์ด๋ฆ =์๋น"
์ง์ ๋ ABI์ ๋ง๊ฒ GPR(๋ฒ์ฉ ๋ ์ง์คํฐ) ์ด๋ฆ์ ์ธ์ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก GPR ์ด๋ฆ์ ์คํ ์ค์ธ ๋ฐ์ด๋๋ฆฌ์ ABI์ ๋ฐ๋ผ ์ ํ๋ฉ๋๋ค.
๋ถํด.
"fpr ์ด๋ฆ =์๋น"
์ง์ ๋ ABI์ ๋ง๊ฒ FPR(๋ถ๋ ์์์ ๋ ์ง์คํฐ) ์ด๋ฆ์ ์ธ์ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฆ ๋์ FPR ๋ฒํธ๊ฐ ์ธ์๋ฉ๋๋ค.
"cp0-์ด๋ฆ=์์น"
CP0(์์คํ ์ ์ด ๋ณด์กฐ ํ๋ก์ธ์, ๋ณด์กฐ ํ๋ก์ธ์ 0) ๋ ์ง์คํฐ ์ด๋ฆ์ ๋ค์๊ณผ ๊ฐ์ด ์ธ์ํฉ๋๋ค.
์ ์ํด ์ง์ ๋ CPU ๋๋ ์ํคํ ์ฒ์ ์ ํฉ ์์น. ๊ธฐ๋ณธ์ ์ผ๋ก CP0
๋ ์ง์คํฐ ์ด๋ฆ์ ๋ฐ์ด๋๋ฆฌ์ ์ํคํ ์ฒ์ CPU์ ๋ฐ๋ผ ์ ํ๋ฉ๋๋ค.
๋ถํด์ค.
"hwr ์ด๋ฆ =์์น"
HWR(ํ๋์จ์ด ๋ ์ง์คํฐ, "rdhwr" ๋ช ๋ น์ด์์ ์ฌ์ฉ) ์ด๋ฆ์ ๋ค์๊ณผ ๊ฐ์ด ์ธ์ํฉ๋๋ค.
์ ์ํด ์ง์ ๋ CPU ๋๋ ์ํคํ ์ฒ์ ์ ํฉ ์์น. ๊ธฐ๋ณธ์ ์ผ๋ก HWR ์ด๋ฆ์
๋ฐ์ด๋๋ฆฌ์ ์ํคํ ์ฒ์ CPU์ ๋ฐ๋ผ ์ ํ๋ฉ๋๋ค.
๋ถํด.
"๋ฑ๋ก ์ด๋ฆ=์๋น"
์ ํํ ABI์ ๋ง๊ฒ GPR ๋ฐ FPR ์ด๋ฆ์ ์ธ์ํฉ๋๋ค.
"๋ฑ๋ก ์ด๋ฆ=์์น"
CPU ๊ณ ์ ์ ๋ ์ง์คํฐ ์ด๋ฆ(CP0 ๋ ์ง์คํฐ ๋ฐ HWR ์ด๋ฆ)์
์ ํํ CPU ๋๋ ์ํคํ ์ฒ.
์์ ๋์ด๋ ์ต์ ์ค ํ๋์ ๋ํด ABI or ์์น ๋ค์๊ณผ ๊ฐ์ด ์ง์ ํ ์ ์์ต๋๋ค. ์ซ์ ๊ฐ์ง๊ณ ์๋ค
์ ํํ ๋ ์ง์คํฐ ์ ํ์ ๋ํด ์ด๋ฆ์ด ์๋ ์ธ์๋ ์ซ์. ๋น์ ์ ๋์ด ํ ์ ์์ต๋๋ค
์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ ABI and ์์น ๋ฅผ ์ฌ์ฉํ์ฌ --๋์ ์ต์ ์ ์ ํํฉ๋๋ค.
VAX์ ๊ฒฝ์ฐ ๋ค์์ ์ฌ์ฉํ์ฌ ํจ์ ํญ๋ชฉ ์ฃผ์๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. -M ํญ๋ชฉ:0xf00ba. ๋น์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค
๊ธฐํธ๊ฐ ํฌํจ๋์ง ์์ VAX ๋ฐ์ด๋๋ฆฌ ํ์ผ์ ์ ์ ํ๊ฒ ๋ถํดํ๊ธฐ ์ํด ์ด ์์ ์ ์ฌ๋ฌ ๋ฒ ์ํํฉ๋๋ค.
ํ ์ด๋ธ(์: ROM ๋คํ). ์ด ๊ฒฝ์ฐ ํจ์ ์ ๋ ฅ ๋ง์คํฌ๋ ๊ทธ๋ ์ง ์์ผ๋ฉด
VAX ๋ช ๋ น์ด๋ก ๋์ฝ๋ฉ๋์ด ๋๋จธ์ง ๊ธฐ๋ฅ์ด
์๋ชป ๋ถํดํ์ต๋๋ค.
-p
--๊ฐ์ธ ํค๋
๊ฐ์ฒด ํ์ผ ํ์์ ํน์ ํ ์ ๋ณด๋ฅผ ์ธ์ํฉ๋๋ค. ์ ํํ ์ ๋ณด
์ธ์๋ ๋ชฉ์ ํ์ผ ํ์์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ์ผ๋ถ ๊ฐ์ฒด ํ์ผ ํ์์ ๊ฒฝ์ฐ
์ถ๊ฐ ์ ๋ณด๊ฐ ์ธ์๋ฉ๋๋ค.
-P ์ต์
--๋น๊ณต๊ฐ=์ต์
๊ฐ์ฒด ํ์ผ ํ์์ ํน์ ํ ์ ๋ณด๋ฅผ ์ธ์ํฉ๋๋ค. ๋ ผ์ ๊ฑฐ๋ฆฌ ์ต์ is
ํ์์ ๋ฐ๋ผ ์ผํ๋ก ๊ตฌ๋ถ๋ ๋ชฉ๋ก(์ต์ ๋ชฉ๋ก์ด ํ์๋จ
๋์์ผ๋ก).
XCOFF์ ๊ฒฝ์ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
"ํค๋"
"๋ฐ์ผ๋ก"
"์น์ "
"์ฌ์ฆ"
"๋ฆฌ๋ก์ค"
"๋ฆฌ๋ ธ"
"์ง์ ์ฃ๋ ์ฌ๋"
"์ ์ธํ๊ณ "
"typchk"
"์ญ ์ถ์ "
"ํก"
"ldinfo"
๋ชจ๋ ๊ฐ์ฒด ํ์์ด ์ด ์ต์ ์ ์ง์ํ๋ ๊ฒ์ ์๋๋๋ค. ํนํ ELF ํ์์
๊ทธ๊ฒ.
-r
--์ฌ์กฐ์
ํ์ผ์ ์ฌ๋ฐฐ์น ํญ๋ชฉ์ ์ธ์ํฉ๋๋ค. ์ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒฝ์ฐ -d or -D, ์ฌ๋ฐฐ์น๋
๋ถํด์ ํจ๊ป ์ฐ์ฌ ์ธ์.
-R
--๋์ ์ฌ๋ฐฐ์น
ํ์ผ์ ๋์ ์ฌ๋ฐฐ์น ํญ๋ชฉ์ ์ธ์ํฉ๋๋ค. ์ด๊ฒ์ ๋์ ์ ๋ํด์๋ง ์๋ฏธ๊ฐ ์์ต๋๋ค.
ํน์ ์ ํ์ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฐ์ ๊ฐ์ฒด. ์ ๊ดํด์๋ -r, ์ ํจ๊ป ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ -d or -D,
์ฌ๋ฐฐ์น๋ ๋ถํด์ ํจ๊ป ์ฐ์ฌ๋์ด ์ธ์๋ฉ๋๋ค.
-s
--์ ์ฒด ๋ด์ฉ
์์ฒญ๋ ์น์ ์ ์ ์ฒด ๋ด์ฉ์ ํ์ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋น์ด ์์ง ์์ ๋ชจ๋
์น์ ์ด ํ์๋ฉ๋๋ค.
-S
--์์ฒ
๊ฐ๋ฅํ๋ฉด ๋์ค์ด์ ๋ธ๋ฆฌ์ ํผํฉ๋ ์์ค ์ฝ๋๋ฅผ ํ์ํฉ๋๋ค. ์์ -d.
--์ ๋์ฌ=์ ๋์ฌ
์ง์ ์ ๋์ฌ ์ ํจ๊ป ์ฌ์ฉํ ๋ ์ ๋ ๊ฒฝ๋ก์ ์ถ๊ฐํ๋ ค๋ฉด -S.
--์ ๋์ฌ ์คํธ๋ฆฝ=์ํ
ํ๋์์ด์ด๋ ์ ๋ ๊ฒฝ๋ก๋ฅผ ์ ๊ฑฐํ ์ด๊ธฐ ๋๋ ํ ๋ฆฌ ์ด๋ฆ ์๋ฅผ ๋ํ๋ ๋๋ค.
์์ด๋ ์๋ฌด๋ฐ ํจ๊ณผ๊ฐ ์์ต๋๋ค. --์ ๋์ฌ=์ ๋์ฌ.
--show-raw-insn
๋ช ๋ น์ ๋ถํดํ ๋ ๋ช ๋ น์ XNUMX์ง์์ ๊ธฐํธ๋ก ์ธ์ํ์ญ์์ค.
ํํ. ๋ค์์ ์ ์ธํ๊ณ ๊ธฐ๋ณธ๊ฐ์ ๋๋ค. --์ ๋์ฌ ์ฃผ์ ์ฌ์ฉ.
--no-show-raw-insn
๋ช ๋ น์ด๋ฅผ ๋ถํดํ ๋ ๋ช ๋ น์ด ๋ฐ์ดํธ๋ฅผ ์ธ์ํ์ง ๋ง์ญ์์ค. ์ด๊ฒ์ด
๊ธฐ๋ณธ๊ฐ --์ ๋์ฌ ์ฃผ์ ์ฌ์ฉ.
--insn-๋๋น=ํญ
๋์คํ๋ ์ด ํญ ๋ช ๋ น์ด๋ฅผ ๋์ค์ด์ ๋ธํ ๋ ํ ์ค์ ๋ฐ์ดํธ๋ฅผ ํ์ํฉ๋๋ค.
-W[lLiaprmfFsoRt]
--dwarf[=rawline,=decodedline,=์ ๋ณด,=abbrev,=pubnames]
--dwarf[=arranges,=macro,=frames,=frames-interp,=str,=loc]
--dwarf[=๋ฒ์,=pubtypes,=trace_info,=trace_abbrev]
--dwarf[=trace_aranges,=gdb_index]
์๋ ๊ฒฝ์ฐ ํ์ผ์ ๋๋ฒ๊ทธ ์น์ ์ ๋ด์ฉ์ ํ์ํฉ๋๋ค. ํ๋๋ผ๋ฉด
์ ํ์ ์ธ ๋ฌธ์ ๋๋ ๋จ์ด ์ค ์ค์์น ๋ค์ ์ค๋ ๊ฒฝ์ฐ ํด๋น ํญ๋ชฉ์์ ์ฐพ์ ๋ฐ์ดํฐ๋ง
ํน์ ์น์ ์ด ๋คํ๋ฉ๋๋ค.
์ถ์ ์น์ ์ ๋ด์ฉ์ ํ์ํ๋ ๋จ์ผ ๋ฌธ์ ์ต์ ์ด ์์ต๋๋ค.
.gdb_index.
์ฐธ๊ณ : ์ถ๋ ฅ =์ ๋ณด ์ต์ ์ ์ต์ ์ ์ํฅ์ ๋ฐ์ ์๋ ์์ต๋๋ค.
--์์ฑ ๊น์ดWalk Through California ํ๋ก๊ทธ๋จ, -- ์์ํ ์์ ๊ทธ๋ฆฌ๊ณ --์์ฑ ๊ฒ์ฌ.
--์์ฑ ๊น์ด=n
".debug_info" ์น์ ์ ๋คํ๋ฅผ ๋ค์์ผ๋ก ์ ํํฉ๋๋ค. n ์ด๋ฆฐ์ด๋ค. ์ด๊ฒ์ ๋ค์๊ณผ ํจ๊ป๋ง ์ ์ฉํฉ๋๋ค.
--dwarf=์ ๋ณด. ๊ธฐ๋ณธ๊ฐ์ ๋ชจ๋ DIE๋ฅผ ์ธ์ํ๋ ๊ฒ์ ๋๋ค. ํน๋ณํ ๊ฐ 0 n ๋๋ฉ๋๋ค
์ด ํจ๊ณผ๊ฐ ์์ต๋๋ค.
XNUMX์ด ์๋ ๊ฐ์ผ๋ก n, DIEs ๋๋ ๊ทธ ์ด์ n ๋ ๋ฒจ์ด ์ธ์๋์ง ์์ต๋๋ค. NS
๋ฒ์ n ์ ๋ก ๊ธฐ๋ฐ์ ๋๋ค.
-- ์์ํ ์์ =n
๋ฒํธ๊ฐ ๋งค๊ฒจ์ง DIE๋ก ์์ํ๋ DIE๋ง ์ธ์ n. ์ด๊ฒ์ ๋ค์๊ณผ ํจ๊ป๋ง ์ ์ฉํฉ๋๋ค.
--dwarf=์ ๋ณด.
์ง์ ๋ ๊ฒฝ์ฐ ์ด ์ต์ ์ ํค๋ ์ ๋ณด์ ๋ชจ๋ ํค๋ ์ ๋ณด์ ์ธ์๋ฅผ ์ต์ ํฉ๋๋ค.
๋ฒํธ๊ฐ ๋งค๊ฒจ์ง DIE ์์ DIE n. ์ง์ ๋ DIE์ ํ์ ์ ์์๋ง
์ธ์๋ฉ๋๋ค.
์ด๊ฒ์ ๋ค์๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค. --์์ฑ ๊น์ด.
--์์ฑ ๊ฒ์ฌ
๋์ํ ์ ๋ณด์ ์ผ๊ด์ฑ์ ๋ํ ์ถ๊ฐ ๊ฒ์ฌ๋ฅผ ํ์ฑํํฉ๋๋ค.
-G
--์ฐ๋ฆผ
์์ฒญ๋ ์น์ ์ ์ ์ฒด ๋ด์ฉ์ ํ์ํฉ๋๋ค. ์ ๋ด์ฉ์ ํ์
ELF ํ์ผ์ .stab ๋ฐ .stab.index ๋ฐ .stab.excl ์น์ . ์ด๊ฒ์ ์ ์ฉํ ๋ฟ์ ๋๋ค
".stab" ๋๋ฒ๊น ๊ธฐํธ ํ ์ด๋ธ ํญ๋ชฉ์ด ์๋ ์์คํ (์: Solaris 2.0)์์
ELF ์น์ ์์ ์ํ๋ฉ๋๋ค. ๋๋ถ๋ถ์ ๋ค๋ฅธ ํ์ผ ํ์์์ ๊ธฐํธ ํ ์ด๋ธ ํญ๋ชฉ ๋๋ฒ๊น
์ฐ๊ฒฐ ๊ธฐํธ๋ก ์ธํฐ๋ฆฌ๋ธ๋์ด ํ์๋๋ฉฐ --syms ์ถ๋ ฅ.
--์์ ์ฃผ์=์ฃผ์
์ง์ ๋ ์ฃผ์์์ ๋ฐ์ดํฐ ํ์๋ฅผ ์์ํฉ๋๋ค. ์ด๊ฒ์ ์ถ๋ ฅ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. -d, -r
and -s ์ต์ ์ ์ ๊ณตํฉ๋๋ค.
--์ ์ง ์ฃผ์=์ฃผ์
์ง์ ๋ ์ฃผ์์์ ๋ฐ์ดํฐ ํ์๋ฅผ ์ค์งํฉ๋๋ค. ์ด๊ฒ์ ์ถ๋ ฅ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. -d, -r
and -s ์ต์ ์ ์ ๊ณตํฉ๋๋ค.
-t
--syms
ํ์ผ์ ๊ธฐํธ ํ ์ด๋ธ ํญ๋ชฉ์ ์ธ์ํฉ๋๋ค. ์ด๊ฒ์ ์ ๋ณด์ ์ ์ฌํฉ๋๋ค.
์ ๊ณต ํ nm ํ์ ํ์์ ๋ค๋ฅด์ง๋ง ํ๋ก๊ทธ๋จ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ํ์
์ถ๋ ฅ์ ๋คํ๋๋ ํ์ผ์ ํ์์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง ๋ ๊ฐ์ง ์ฃผ์
์ ํ. ํ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
[ 4](์ด 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss
[ 6](์ด 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred
์ฌ๊ธฐ์ ๋๊ดํธ ์์ ์ซ์๋ ๊ธฐํธ์ ํญ๋ชฉ ๋ฒํธ์ ๋๋ค.
ํ ์ด๋ธ, ์ด number๋ ์น์ ๋ฒํธ์ด๊ณ , fl ๊ฐ์ ๊ธฐํธ์ ํ๋๊ทธ ๋นํธ์ด๊ณ ,
์ ์, ty ์ซ์๋ ๊ธฐํธ์ ์ ํ์ด๊ณ , scl number๋ ์ฌ๋ณผ์ ์คํ ๋ฆฌ์ง ํด๋์ค์ด๊ณ
์ ์, nx ๊ฐ์ ๊ธฐํธ์ ๊ด๋ จ๋ ๋ณด์กฐ ํญ๋ชฉ์ ์์ ๋๋ค. ๋ง์ง๋ง
๋ ํ๋๋ ๊ธฐํธ์ ๊ฐ๊ณผ ์ด๋ฆ์ ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ELF ๊ธฐ๋ฐ ํ์ผ์์ ๋ณผ ์ ์๋ ๋ค๋ฅธ ์ผ๋ฐ์ ์ธ ์ถ๋ ฅ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
00000000 ld .bss 00000000 .bss
00000000 g .text 00000000 ํ๋ ๋
์ฌ๊ธฐ์ ์ฒซ ๋ฒ์งธ ์ซ์๋ ๊ธฐํธ์ ๊ฐ์ ๋๋ค(๋๋ก๋ ์ฃผ์๋ผ๊ณ ๋ ํจ).
๋ค์ ํ๋๋ ์ค์ ๋ก ํ๋๊ทธ ๋นํธ๋ฅผ ๋ํ๋ด๋ ๋ฌธ์ ๋ฐ ๊ณต๋ฐฑ ์ธํธ์ ๋๋ค.
๊ธฐํธ์ ์ค์ ๋์ด ์์ต๋๋ค. ์ด๋ฌํ ๋ฌธ์๋ ์๋์ ์ค๋ช ๋์ด ์์ต๋๋ค. ๋ค์์
๊ธฐํธ๊ฐ ์ฐ๊ฒฐ๋ ์น์ ๋๋ *๋ณต๊ทผ* ์น์ ์ด ์ ๋์ ์ธ ๊ฒฝ์ฐ(์ฆ,
์ด๋ค ์น์ ๊ณผ๋ ์ฐ๊ฒฐ๋์ง ์์), ๋๋ *๊ทธ๋ฆฌ๊ณ * ์น์ ์ด ํ์ผ์์ ์ฐธ์กฐ๋๋ ๊ฒฝ์ฐ
๋คํ๋์ง๋ง ๊ฑฐ๊ธฐ์ ์ ์๋์ด ์์ง ์์ต๋๋ค.
์น์ ์ด๋ฆ ๋ค์ ๋ค๋ฅธ ํ๋์ธ ์ซ์๊ฐ ์ต๋๋ค. ์ด ์ซ์๋ ๊ณตํต ๊ธฐํธ์ ๊ฒฝ์ฐ
์ ๋ ฌ ๋ฐ ๊ธฐํ ๊ธฐํธ๋ ํฌ๊ธฐ์ ๋๋ค. ๋ง์ง๋ง์ผ๋ก ๊ธฐํธ์ ์ด๋ฆ์ด ํ์๋ฉ๋๋ค.
ํ๋๊ทธ ๋ฌธ์๋ ๋ค์๊ณผ ๊ฐ์ด 7๊ฐ ๊ทธ๋ฃน์ผ๋ก ๋๋ฉ๋๋ค.
"์"
"NS"
"์ "
"!" ๊ธฐํธ๋ ๋ก์ปฌ(l), ๊ธ๋ก๋ฒ(g), ๊ณ ์ ๊ธ๋ก๋ฒ(u)์ด๋ฉฐ ๊ธ๋ก๋ฒ๋ ๋ก์ปฌ๋ ์๋๋๋ค.
(๊ณต๋ฐฑ) ๋๋ ์ ์ญ ๋ฐ ์ง์ญ(!). ์ฌ๋ณผ์ ์ง์ญ์ ์ด๊ฑฐ๋ ์ ์ญ์ ์ผ ์ ์์ต๋๋ค.
๋ค์ํ ์ด์ ๋ก, ์๋ฅผ ๋ค์ด ๋๋ฒ๊น ์ ์ฌ์ฉ๋์ง๋ง
์ง์ญ ๋ฐ ์ ์ญ ๋ชจ๋์ ํด๋นํ๋ ๊ฒฝ์ฐ ๋ฒ๊ทธ์ ํ์์ผ ์ ์์ต๋๋ค. ๊ณ ์ ํ
์ ์ญ ๊ธฐํธ๋ ELF ๊ธฐํธ ๋ฐ์ธ๋ฉ์ ํ์ค ์ธํธ์ ๋ํ GNU ํ์ฅ์ ๋๋ค.
์ด๋ฌํ ๊ธฐํธ์ ๋ํด ๋์ ๋ง์ปค๋ ์ ์ฒด ํ๋ก์ธ์ค์์ ๋ค์์ ํ์ธํฉ๋๋ค.
์ด ์ด๋ฆ๊ณผ ์ ํ์ ์ฌ์ฉํ๋ ๊ธฐํธ๋ ํ๋๋ง ์์ต๋๋ค.
"w" ๊ธฐํธ๋ ์ฝํจ(w) ๋๋ ๊ฐํจ(๊ณต๋ฐฑ)์ ๋๋ค.
"C" ๊ธฐํธ๋ ์์ฑ์(C) ๋๋ ์ผ๋ฐ ๊ธฐํธ(๊ณต๋ฐฑ)๋ฅผ ๋ํ๋ ๋๋ค.
"W" ๊ธฐํธ๋ ๊ฒฝ๊ณ (W) ๋๋ ์ผ๋ฐ ๊ธฐํธ(๊ณต๋ฐฑ)์ ๋๋ค. ๊ฒฝ๊ณ ๊ธฐํธ์ ์ด๋ฆ
๊ฒฝ๊ณ ๊ธฐํธ ๋ค์ ์ค๋ ๊ธฐํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ํ์๋๋ ๋ฉ์์ง์ ๋๋ค.
์ฐธ์กฐ.
"๋๋"
"i" ๊ธฐํธ๋ ๋ค๋ฅธ ๊ธฐํธ(I)์ ๋ํ ๊ฐ์ ์ฐธ์กฐ์ด๋ฉฐ,
์ฌ๋ฐฐ์น ์ฒ๋ฆฌ(i) ๋๋ ์ผ๋ฐ ๊ธฐํธ(๊ณต๋ฐฑ) ๋์ ํ๊ฐ๋ฉ๋๋ค.
"๋"
"D" ๊ธฐํธ๋ ๋๋ฒ๊น ๊ธฐํธ(d) ๋๋ ๋์ ๊ธฐํธ(D) ๋๋ ์ผ๋ฐ ๊ธฐํธ(a
์ฐ์ฃผ).
"F"
"NS"
"O" ๊ธฐํธ๋ ๊ธฐ๋ฅ(F) ๋๋ ํ์ผ(f) ๋๋ ๊ฐ์ฒด(O)์ ์ด๋ฆ ๋๋
์ผ๋ฐ ๊ธฐํธ(๊ณต๋ฐฑ).
-T
--๋์ ์ฌ
ํ์ผ์ ๋์ ๊ธฐํธ ํ ์ด๋ธ ํญ๋ชฉ์ ์ธ์ํฉ๋๋ค. ์ด๊ฒ์ ์๊ฒ๋ง ์๋ฏธ๊ฐ ์์ต๋๋ค.
ํน์ ์ ํ์ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฐ์ ๋์ ๊ฐ์ฒด. ์ด๋ ๋ค์๊ณผ ์ ์ฌํ๋ค.
์์ ์ ๊ณตํ๋ ์ ๋ณด nm ํ๋ก๊ทธ๋จ์ด ์ฃผ์ด์ก์ ๋ -D (--๋์ ) ์ต์ .
--ํน์ ๊ธฐํธ
๊ธฐํธ๋ฅผ ํ์ํ ๋ ๋์์ด ์ผ๋ถ์์ ํน๋ณํ๋ค๊ณ ์๊ฐํ๋ ๊ธฐํธ๋ฅผ ํฌํจํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์๊ฐ ๊ด์ฌ์ ๊ฐ์ง ์๋ ๋ฐฉ์์ ๋๋ค.
-V
--๋ฒ์ญ
์ ๋ฒ์ ๋ฒํธ๋ฅผ ์ธ์ํ์ญ์์ค. ๊ฐ์ฒด ๋คํ ์ข ๋ฃํ์ญ์์ค.
-x
--๋ชจ๋ ํค๋
๊ธฐํธ ํ ์ด๋ธ ๋ฐ ์ฌ๋ฐฐ์น๋ฅผ ํฌํจํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ํค๋ ์ ๋ณด ํ์
ํญ๋ชฉ. ์ฌ์ฉ -x ๋ชจ๋ ์ง์ ํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. -a -f -h -p -r -t.
-w
--๋์
80๊ฐ ์ด์์ ์ด์ด ์๋ ์ถ๋ ฅ ์ฅ์น์ ๋ํด ์ผ๋ถ ํ์ ํ์์ ์ง์ ํฉ๋๋ค. ๋ํํ์ง ๋ง์ญ์์ค
ํ์๋ ๋ ๊ธฐํธ ์ด๋ฆ์ ์๋ฆ ๋๋ค.
-z
--๋ถํด-์ ๋ก
์ผ๋ฐ์ ์ผ๋ก ๋์ค์ด์ ๋ธ๋ฆฌ ์ถ๋ ฅ์ XNUMX ๋ธ๋ก์ ๊ฑด๋๋๋๋ค. ์ด ์ต์ ์
๋ค๋ฅธ ๋ฐ์ดํฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก ํด๋น ๋ธ๋ก์ ๋ถํดํ๋ ๋์ค์ด์ ๋ธ๋ฌ.
@ํ์ผ
๋ค์์์ ๋ช ๋ น์ค ์ต์ ์ฝ๊ธฐ ํ์ผ. ์ฝ์ ์ต์ ์ ๋ค์ ์์น์ ์ฝ์ ๋ฉ๋๋ค.
์๋์ @ํ์ผ ์ต์ . ๋ง์ฝ์ ํ์ผ ์กด์ฌํ์ง ์๊ฑฐ๋ ์ฝ์ ์ ์๋ ๊ฒฝ์ฐ ์ต์
๋ฌธ์ ๊ทธ๋๋ก ์ฒ๋ฆฌ๋๋ฉฐ ์ ๊ฑฐ๋์ง ์์ต๋๋ค.
์ต์ ํ์ผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. ๊ณต๋ฐฑ ๋ฌธ์๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.
์ต์ ์์ ์ ์ฒด ์ต์ ์ ์์๋ฐ์ดํ๋ ํฐ๋ฐ์ดํ๋ก ๋ฌถ์ต๋๋ค. ์ด๋
๋ฌธ์(๋ฐฑ์ฌ๋์ ํฌํจ)๋
๋ฐฑ์ฌ๋์์ ํจ๊ป ํฌํจ๋ฉ๋๋ค. NS ํ์ผ ์์ฒด์ ์ถ๊ฐ @๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.ํ์ผ ์ต์ ; ์ด๋
์ด๋ฌํ ์ต์ ์ ์ฌ๊ท์ ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ mips-linux-gnu-objdump ์จ๋ผ์ธ ์ฌ์ฉ