retdec
decompressor_lzma.h
Go to the documentation of this file.
1 
6 #ifndef UNPACKERTOOL_PLUGINS_UPX_DECOMPRESSORS_DECOMPRESSOR_LZMA_H
7 #define UNPACKERTOOL_PLUGINS_UPX_DECOMPRESSORS_DECOMPRESSOR_LZMA_H
8 
10 
11 namespace retdec {
12 namespace unpackertool {
13 namespace upx {
14 
19 {
20 public:
21  virtual void setupPackingMethod(ElfUpxStub<32>* stub, std::uint8_t packingMethod) override;
22  virtual void decompress(ElfUpxStub<32>* stub, retdec::utils::DynamicBuffer& packedData,
23  retdec::utils::DynamicBuffer& unpackedData) override;
24 
25  virtual void setupPackingMethod(ElfUpxStub<64>* stub, std::uint8_t packingMethod) override;
26  virtual void decompress(ElfUpxStub<64>* stub, retdec::utils::DynamicBuffer& packedData,
27  retdec::utils::DynamicBuffer& unpackedData) override;
28 
29  virtual void setupPackingMethod(MachOUpxStub<32>* stub, std::uint8_t packingMethod) override;
30  virtual void decompress(MachOUpxStub<32>* stub, retdec::utils::DynamicBuffer& packedData,
31  retdec::utils::DynamicBuffer& unpackedData) override;
32 
33  virtual void setupPackingMethod(MachOUpxStub<64>* stub, std::uint8_t packingMethod) override;
34  virtual void decompress(MachOUpxStub<64>* stub, retdec::utils::DynamicBuffer& packedData,
35  retdec::utils::DynamicBuffer& unpackedData) override;
36 
37  virtual void setupPackingMethod(PeUpxStub<32>* stub, std::uint8_t packingMethod) override;
38  virtual void readUnpackingStub(PeUpxStub<32>* stub, retdec::utils::DynamicBuffer& unpackingStub) override;
39  virtual void readPackedData(PeUpxStub<32>* stub, retdec::utils::DynamicBuffer& packedData, bool trustMetadata) override;
40  virtual void decompress(PeUpxStub<32>* stub, retdec::utils::DynamicBuffer& packedData,
41  retdec::utils::DynamicBuffer& unpackedData, bool trustMetadata) override;
42 
43  virtual void setupPackingMethod(PeUpxStub<64>* stub, std::uint8_t packingMethod) override;
44  virtual void readUnpackingStub(PeUpxStub<64>* stub, retdec::utils::DynamicBuffer& unpackingStub) override;
45  virtual void readPackedData(PeUpxStub<64>* stub, retdec::utils::DynamicBuffer& packedData, bool trustMetadata) override;
46  virtual void decompress(PeUpxStub<64>* stub, retdec::utils::DynamicBuffer& packedData,
47  retdec::utils::DynamicBuffer& unpackedData, bool trustMetadata) override;
48 };
49 
50 } // namespace upx
51 } // namespace unpackertool
52 } // namespace retdec
53 
54 #endif
Definition: decompressor_lzma.h:19
virtual void setupPackingMethod(ElfUpxStub< 32 > *stub, std::uint8_t packingMethod) override
Definition: decompressor_lzma.cpp:30
virtual void decompress(ElfUpxStub< 32 > *stub, retdec::utils::DynamicBuffer &packedData, retdec::utils::DynamicBuffer &unpackedData) override
Definition: decompressor_lzma.cpp:43
virtual void readPackedData(PeUpxStub< 32 > *stub, retdec::utils::DynamicBuffer &packedData, bool trustMetadata) override
Definition: decompressor_lzma.cpp:199
virtual void readUnpackingStub(PeUpxStub< 32 > *stub, retdec::utils::DynamicBuffer &unpackingStub) override
Definition: decompressor_lzma.cpp:182
Definition: decompressor.h:28
Definition: elf_upx_stub.h:99
Definition: macho_upx_stub.h:66
Definition: pe_upx_stub.h:65
The class for dynamic buffered data manipulation taking the endianness of the data in account.
Definition: dynamic_buffer.h:36
Declaration of base decompressor visitor for unpacking packed data.
Definition: archive_wrapper.h:19