fix: 修复一个解析dos_magic时只读取一个字节的bug
This commit is contained in:
parent
ba627058f0
commit
0bbe0c4210
@ -75,7 +75,9 @@ impl AsRef<[u8]> for MemoryPE{
|
||||
pub fn parse_pe_from_memory(buf: *const u8) -> Result<MemoryPE, PEParseError> {
|
||||
// 1. 检查是否为PE文件
|
||||
// 取出头两个字节
|
||||
let dos_magic = unsafe { *buf as u16 };
|
||||
let dos_magic = unsafe {
|
||||
*(buf as *const u16)
|
||||
};
|
||||
if dos_magic != 0x5A4D { // 小尾
|
||||
return Err(PEParseError::InvalidDOSMagic);
|
||||
}
|
||||
@ -103,7 +105,9 @@ pub fn parse_pe_from_memory(buf: *const u8) -> Result<MemoryPE, PEParseError> {
|
||||
pub fn parse_pe_from_memory_mut(buf: *mut u8) -> Result<MemoryPEMut, PEParseError> {
|
||||
// 1. 检查是否为PE文件
|
||||
// 取出头两个字节
|
||||
let dos_magic = unsafe { *buf as u16 };
|
||||
let dos_magic = unsafe {
|
||||
*(buf as *const u16)
|
||||
};
|
||||
if dos_magic != 0x5A4D { // 小尾
|
||||
return Err(PEParseError::InvalidDOSMagic);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user