mirror of
https://github.com/Obfuscator-Collections/VMProtect.git
synced 2026-08-31 15:04:43 +03:00
first commit
Version 3.x.x
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
#ifndef PACKER_H
|
||||
#define PACKER_H
|
||||
|
||||
#include "../third-party/lzma/LzmaEnc.h"
|
||||
|
||||
class IArchitecture;
|
||||
|
||||
struct PackerInputStream
|
||||
{
|
||||
ISeqInStream p;
|
||||
IArchitecture *file;
|
||||
Data *data;
|
||||
size_t size;
|
||||
size_t pos;
|
||||
PackerInputStream(IArchitecture *file_, size_t size_);
|
||||
PackerInputStream(Data *data_);
|
||||
};
|
||||
|
||||
struct PackerOutputStream
|
||||
{
|
||||
ISeqOutStream p;
|
||||
Data *data;
|
||||
PackerOutputStream(Data *data_);
|
||||
};
|
||||
|
||||
struct PackerProgress
|
||||
{
|
||||
ICompressProgress p;
|
||||
IArchitecture *file;
|
||||
uint64_t last_pos;
|
||||
PackerProgress(IArchitecture *file_);
|
||||
};
|
||||
|
||||
class Packer
|
||||
{
|
||||
public:
|
||||
Packer();
|
||||
~Packer();
|
||||
bool Code(IArchitecture *file, size_t size, Data *data);
|
||||
bool Code(IArchitecture *file, Data *in_data, Data *out_data);
|
||||
bool WriteProps(Data *data);
|
||||
private:
|
||||
bool Code(IArchitecture *file, PackerInputStream &in, PackerOutputStream &out);
|
||||
|
||||
CLzmaEncHandle encoder_;
|
||||
CLzmaEncProps props_;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user