retdec
|
#include <decompressor_scrambler.h>
Public Member Functions | |
virtual void | setupPackingMethod (ElfUpxStub< 32 > *stub, std::uint8_t packingMethod) override |
virtual void | decompress (ElfUpxStub< 32 > *stub, DynamicBuffer &packedData, DynamicBuffer &unpackedData) override |
virtual void | setupPackingMethod (ElfUpxStub< 64 > *stub, std::uint8_t packingMethod) override |
virtual void | decompress (ElfUpxStub< 64 > *stub, DynamicBuffer &packedData, DynamicBuffer &unpackedData) override |
virtual void | setupPackingMethod (MachOUpxStub< 32 > *stub, std::uint8_t packingMethod) override |
virtual void | decompress (MachOUpxStub< 32 > *stub, DynamicBuffer &packedData, DynamicBuffer &unpackedData) override |
virtual void | setupPackingMethod (MachOUpxStub< 64 > *stub, std::uint8_t packingMethod) override |
virtual void | decompress (MachOUpxStub< 64 > *stub, DynamicBuffer &packedData, DynamicBuffer &unpackedData) override |
virtual void | setupPackingMethod (PeUpxStub< 32 > *stub, std::uint8_t packingMethod) override |
virtual void | readPackedData (PeUpxStub< 32 > *stub, DynamicBuffer &packedData, bool trustMetadata) override |
virtual void | decompress (PeUpxStub< 32 > *stub, DynamicBuffer &packedData, DynamicBuffer &unpackedData, bool trustMetadata) override |
virtual void | setupPackingMethod (PeUpxStub< 64 > *stub, std::uint8_t packingMethod) override |
virtual void | readPackedData (PeUpxStub< 64 > *stub, DynamicBuffer &packedData, bool trustMetadata) override |
virtual void | decompress (PeUpxStub< 64 > *stub, DynamicBuffer &packedData, DynamicBuffer &unpackedData, bool trustMetadata) override |
![]() | |
virtual | ~Decompressor ()=default |
virtual void | readUnpackingStub (PeUpxStub< 32 > *stub, retdec::utils::DynamicBuffer &unpackingStub)=0 |
virtual void | readUnpackingStub (PeUpxStub< 64 > *stub, retdec::utils::DynamicBuffer &unpackingStub)=0 |
Protected Attributes | |
std::shared_ptr< UpxStub > | _scrambledStub |
The unpacking stub packed by this scrambler. More... | |
Additional Inherited Members | |
![]() | |
void | performDecompression (const std::weak_ptr< retdec::unpacker::CompressedData > &compressedDataWptr, retdec::utils::DynamicBuffer &unpackedData) |
Visitor-like decompressor for UPX scramblers decompression.
|
overridevirtual |
Performs decompression of packed data and place it into another buffer.
stub | The ELF32 UPX unpacking stub object. |
packedData | The compressed packed data. |
unpackedData | The buffer where to decompress data. |
Implements retdec::unpackertool::upx::Decompressor.
|
overridevirtual |
Performs decompression of packed data and place it into another buffer.
stub | The ELF64 UPX unpacking stub object. |
packedData | The compressed packed data. |
unpackedData | The buffer where to decompress data. |
Implements retdec::unpackertool::upx::Decompressor.
|
overridevirtual |
Performs decompression of packed data and place it into another buffer.
stub | The Mach-O 32-bit UPX unpacking stub object. |
packedData | The compressed packed data. |
unpackedData | The buffer where to decompress data. |
Implements retdec::unpackertool::upx::Decompressor.
|
overridevirtual |
Performs decompression of packed data and place it into another buffer.
stub | The Mach-O 64-bit UPX unpacking stub object. |
packedData | The compressed packed data. |
unpackedData | The buffer where to decompress data. |
Implements retdec::unpackertool::upx::Decompressor.
|
overridevirtual |
Performs decompression of packed data and place it into another buffer.
stub | The PE32 UPX unpacking stub object. |
packedData | The compressed packed data. |
unpackedData | The buffer where to decompress data. |
trustMetadata | True if UPX metadata are trusted, otherwise false. |
Implements retdec::unpackertool::upx::Decompressor.
|
overridevirtual |
Performs decompression of packed data and place it into another buffer.
stub | The PE64 UPX unpacking stub object. |
packedData | The compressed packed data. |
unpackedData | The buffer where to decompress data. |
trustMetadata | True if UPX metadata are trusted, otherwise false. |
Implements retdec::unpackertool::upx::Decompressor.
|
overridevirtual |
Reads the packed data from the input file.
stub | The PE32 UPX unpacking stub object. |
packedData | Buffer where to read packed data. |
trustMetadata | True if UPX metadata are trusted, otherwise false. |
Implements retdec::unpackertool::upx::Decompressor.
|
overridevirtual |
Reads the packed data from the input file.
stub | The PE64 UPX unpacking stub object. |
packedData | Buffer where to read packed data. |
trustMetadata | True if UPX metadata are trusted, otherwise false. |
Implements retdec::unpackertool::upx::Decompressor.
|
overridevirtual |
Checks whether the provided packing method is valid.
stub | The ELF32 UPX unpacking stub object. |
packingMethod | The packing method to setup. |
Implements retdec::unpackertool::upx::Decompressor.
|
overridevirtual |
Checks whether the provided packing method is valid.
stub | The ELF64 UPX unpacking stub object. |
packingMethod | The packing method to setup. |
Implements retdec::unpackertool::upx::Decompressor.
|
overridevirtual |
Checks whether the provided packing method is valid.
stub | The Mach-O 32-bit UPX unpacking stub object. |
packingMethod | The packing method to setup. |
Implements retdec::unpackertool::upx::Decompressor.
|
overridevirtual |
Checks whether the provided packing method is valid.
stub | The Mach-O 64-bit UPX unpacking stub object. |
packingMethod | The packing method to setup. |
Implements retdec::unpackertool::upx::Decompressor.
|
overridevirtual |
Checks whether the provided packing method is valid.
stub | The PE32 UPX unpacking stub object. |
packingMethod | The packing method to setup. |
Implements retdec::unpackertool::upx::Decompressor.
|
overridevirtual |
Checks whether the provided packing method is valid.
stub | The PE64 UPX unpacking stub object. |
packingMethod | The packing method to setup. |
Implements retdec::unpackertool::upx::Decompressor.
|
protected |
The unpacking stub packed by this scrambler.