public function __construct(OLEFile $oleFile) { $oleStream = $oleFile->Get_OLE_Stream(); fseek($oleStream, 0); $this->oleHeaderSignature = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 8)))); $this->oleHeaderCLSID = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 16)))); $this->oleMinorVersion = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 2)))); $this->oleMajorVersion = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 2)))); $this->oleByteOrder = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 2)))); $this->oleSectorShift = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 2)))); $this->oleMiniSectorShift = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 2)))); $this->oleReserved = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 6)))); $this->numDirSectors = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4)))); $this->numFATSectors = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4)))); $this->firstDirSectorLoc = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4)))); $this->transactionSigNum = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4)))); $this->miniStreamCutoffSize = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4)))); $this->firstMiniFATSectorLoc = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4)))); $this->numMiniFATSectors = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4)))); $this->firstDIFATSectorLoc = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4)))); $this->numDIFATSectors = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4)))); $this->difat = Helpers::Hex_Str_To_Array(Helpers::Fix_Hex(bin2hex(fread($oleStream, 436)), 8), 8); $this->oleStream = $oleStream; fseek($this->oleStream, 0); }
public function __construct(OLEFile $oleFile) { $oleStream = $oleFile->Get_OLE_Stream(); $seekPos = ftell($oleStream); $this->sectorSize = $oleFile->Get_Sector_Size(); fseek($oleStream, 0); $difatArray = $oleFile->Get_DIFAT(); foreach ($difatArray as $secID) { if ($secID != FAT::FREESECT && $secID != FAT::ENDOFCHAIN) { fseek($oleStream, $secID * $this->sectorSize + 512); $readBuf = Helpers::Hex_Str_To_Array(Helpers::Fix_Hex(bin2hex(fread($oleStream, $this->sectorSize)), 8), 8); for ($i = 0; $i < count($readBuf); $i++) { $this->fatArray[] = $readBuf[$i]; } } } }