pub trait PeWriter<W: Write + Seek> {
Show 13 methods
// Required method
fn get_writer(&mut self) -> &mut W;
// Provided methods
fn stream_position(&mut self) -> Result<u64, GaiaError> { ... }
fn write_program(&mut self, program: &PeProgram) -> Result<(), GaiaError> { ... }
fn write_import_table(
&mut self,
program: &PeProgram,
) -> Result<(), GaiaError> { ... }
fn write_dos_header(
&mut self,
dos_header: &DosHeader,
) -> Result<(), GaiaError> { ... }
fn write_dos_stub(&mut self) -> Result<(), GaiaError> { ... }
fn write_nt_header(&mut self, nt_header: &NtHeader) -> Result<(), GaiaError> { ... }
fn write_coff_header(
&mut self,
coff_header: &CoffHeader,
) -> Result<(), GaiaError> { ... }
fn write_optional_header(
&mut self,
optional_header: &OptionalHeader,
) -> Result<(), GaiaError> { ... }
fn write_data_directory(
&mut self,
data_dir: &DataDirectory,
) -> Result<(), GaiaError> { ... }
fn write_section_header(
&mut self,
section: &PeSection,
) -> Result<(), GaiaError> { ... }
fn pad_to_offset(&mut self, target_offset: u64) -> Result<(), GaiaError> { ... }
fn align_to_boundary(&mut self, alignment: u32) -> Result<(), GaiaError> { ... }
}Expand description
PE 文件写入器的通用 trait
Required Methods§
Sourcefn get_writer(&mut self) -> &mut W
fn get_writer(&mut self) -> &mut W
获取写入器的可变引用
Provided Methods§
Sourcefn stream_position(&mut self) -> Result<u64, GaiaError>
fn stream_position(&mut self) -> Result<u64, GaiaError>
获取当前流位置
Sourcefn write_dos_stub(&mut self) -> Result<(), GaiaError>
fn write_dos_stub(&mut self) -> Result<(), GaiaError>
写入 DOS stub(通用实现)
Sourcefn write_coff_header(
&mut self,
coff_header: &CoffHeader,
) -> Result<(), GaiaError>
fn write_coff_header( &mut self, coff_header: &CoffHeader, ) -> Result<(), GaiaError>
写入 COFF 头(通用实现)
Sourcefn write_optional_header(
&mut self,
optional_header: &OptionalHeader,
) -> Result<(), GaiaError>
fn write_optional_header( &mut self, optional_header: &OptionalHeader, ) -> Result<(), GaiaError>
写入可选头(通用实现)
Sourcefn write_data_directory(
&mut self,
data_dir: &DataDirectory,
) -> Result<(), GaiaError>
fn write_data_directory( &mut self, data_dir: &DataDirectory, ) -> Result<(), GaiaError>
写入数据目录(通用实现)