Documentation
¶
Overview ¶
plan9objパッケージは、Plan 9 a.outオブジェクトファイルへのアクセスを実装します。
セキュリティ ¶
このパッケージは、敵対的な入力に対して強化されるように設計されていませんし、 https://go.dev/security/policy の範囲外です。特に、オブジェクトファイルを解析する際には基本的な 検証のみが行われます。そのため、信頼できない入力を解析する際には注意が必要です。なぜなら、 不正なファイルを解析すると、大量のリソースを消費したり、パニックを引き起こす可能性があるからです。
Index ¶
Constants ¶
View Source
const ( Magic64 = 0x8000 Magic386 = (4*11+0)*11 + 7 MagicAMD64 = (4*26+0)*26 + 7 + Magic64 MagicARM = (4*20+0)*20 + 7 )
Variables ¶
View Source
var ErrNoSymbols = errors.New("no symbol section")
ErrNoSymbolsは、File内にそのようなセクションがない場合に、 File.Symbols によって返されるエラーです。
Functions ¶
This section is empty.
Types ¶
type File ¶
type File struct { FileHeader Sections []*Section // contains filtered or unexported fields }
Fileは、開いているPlan 9 a.outファイルを表します。
func NewFile ¶
NewFileは、基礎となるリーダーでPlan 9バイナリにアクセスするための新しい File を作成します。 Plan 9バイナリは、ReaderAtの位置0で開始することが期待されます。
type FileHeader ¶
type FileHeader struct { Magic uint32 Bss uint32 Entry uint64 PtrSize int LoadAddress uint64 HdrSize uint64 }
FileHeaderは、Plan 9 a.outファイルヘッダーを表します。
type Section ¶
type Section struct { SectionHeader // ReadAtメソッドのためにReaderAtを埋め込みます。 // ReadとSeekを持つことを避けるために、 // SectionReaderを直接埋め込むことはありません。 // クライアントがReadとSeekを使用したい場合は、 // 他のクライアントとのシークオフセットの競合を避けるために // Open()を使用する必要があります。 io.ReaderAt // contains filtered or unexported fields }
Sectionは、Plan 9 a.outファイルの単一のセクションを表します。
func (*Section) Open ¶
func (s *Section) Open() io.ReadSeeker
Openは、Plan 9 a.outセクションを読み取る新しいReadSeekerを返します。
type SectionHeader ¶
SectionHeaderは、単一のPlan 9 a.outセクションヘッダーを表します。 この構造体はディスク上には存在せず、オブジェクトファイルを通じた ナビゲーションを容易にします。
Click to show internal directories.
Click to hide internal directories.