retdec
|
#include <upx.h>
Public Member Functions | |
UpxPlugin () | |
virtual | ~UpxPlugin () |
virtual void | prepare () override |
virtual void | unpack () override |
virtual void | cleanup () override |
![]() | |
virtual | ~Plugin ()=default |
const Plugin::Info * | getInfo () const |
const Plugin::Arguments * | getStartupArguments () const |
PluginExitCode | run (const Plugin::Arguments &args) |
template<typename... Args> | |
void | log (const Args &... args) |
template<typename... Args> | |
void | error (const Args &... args) |
Private Attributes | |
std::unique_ptr< retdec::loader::Image > | _file |
Packed input file. More... | |
std::shared_ptr< UpxStub > | _stub |
Correct version of unpacking stub. More... | |
Additional Inherited Members | |
![]() | |
template<typename T > | |
static T * | instance () |
![]() | |
Plugin () | |
Plugin (const Plugin &) | |
Plugin & | operator= (const Plugin &) |
![]() | |
Plugin::Info | info |
The static info of the plugin. More... | |
Plugin::Arguments | startupArgs |
Startup arguments of the plugin. More... | |
UPX unpacking plugin.
This plugins starts in UpxPlugin::unpack method as every other unpacking plugin. It creates right version of UpxStub object (PeUpxStub or ElfUpxStub) Depending on the input file format. Virtual method UpxStub::detectVersion is called to check what version of unpacking stub is present in the file. In the end, UpxStub::run is called to perform unpacking.
If you want to add support for new versions of UPX, check file UpxStubSignatures.
retdec::unpackertool::upx::UpxPlugin::UpxPlugin | ( | ) |
Constructor.
|
virtual |
Destructor.
|
overridevirtual |
Performs freeing of all owned resources.
Implements retdec::unpackertool::Plugin.
|
overridevirtual |
Performs preparation of unpacking.
Implements retdec::unpackertool::Plugin.
|
overridevirtual |
Starts unpacking in the current plugin.
Implements retdec::unpackertool::Plugin.
|
private |
Packed input file.
|
private |
Correct version of unpacking stub.