parent
062fdd49bd
commit
41bd01e155
@ -1,35 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
#include <theo/symbol.hpp>
|
|
||||||
#include <xtils.hpp>
|
|
||||||
|
|
||||||
namespace theo
|
|
||||||
{
|
|
||||||
enum class lvl_t
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// callback gets passed entire IFF structures...
|
|
||||||
/// </summary>
|
|
||||||
l_iff,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// callback gets passed entire IFF section structures...
|
|
||||||
/// </summary>
|
|
||||||
l_section,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// callback gets passed entire IFF symbols...
|
|
||||||
/// </summary>
|
|
||||||
l_symbol
|
|
||||||
};
|
|
||||||
|
|
||||||
class obf_pass_t
|
|
||||||
{
|
|
||||||
friend class engine_t;
|
|
||||||
virtual void obfuscate( const theo::iff_t & ) = 0;
|
|
||||||
lvl_t lvl;
|
|
||||||
|
|
||||||
public:
|
|
||||||
explicit obf_pass_t( const lvl_t &pass_lvl );
|
|
||||||
lvl_t get_lvl() const;
|
|
||||||
};
|
|
||||||
} // namespace theo
|
|
@ -1,46 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
#include <theo/engine/engine.hpp>
|
|
||||||
#include <theo/obf_pass/obf_pass.hpp>
|
|
||||||
#include <theo/symbol.hpp>
|
|
||||||
|
|
||||||
namespace theo
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// obfuscation pass at the IFF level...
|
|
||||||
/// </summary>
|
|
||||||
class obf_pass_iff_t : public obf_pass_t
|
|
||||||
{
|
|
||||||
void obfuscate( const theo::iff_t & ) override;
|
|
||||||
|
|
||||||
public:
|
|
||||||
obf_pass_iff_t() : obf_pass_t( lvl_t::l_iff )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// obfuscation pass at the IFF section level...
|
|
||||||
/// </summary>
|
|
||||||
class obf_pass_section_t : public obf_pass_t
|
|
||||||
{
|
|
||||||
void obfuscate( const theo::iff_t & ) override;
|
|
||||||
|
|
||||||
public:
|
|
||||||
obf_pass_section_t() : obf_pass_t( lvl_t::l_section )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// obfuscation pass at the IFF symbol level..
|
|
||||||
/// </summary>
|
|
||||||
class obf_pass_symbol_t : public obf_pass_t
|
|
||||||
{
|
|
||||||
void obfuscate( const theo::iff_t & ) override;
|
|
||||||
|
|
||||||
public:
|
|
||||||
obf_pass_symbol_t() : obf_pass_t( lvl_t::l_symbol )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
};
|
|
||||||
} // namespace theo
|
|
@ -1,27 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
#include <coff/image.hpp>
|
|
||||||
#include <xtils.hpp>
|
|
||||||
|
|
||||||
#define XED_DECODER
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#include <xed-decode.h>
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace theo
|
|
||||||
{
|
|
||||||
class symbol_t
|
|
||||||
{
|
|
||||||
std::uint32_t symbol_table_idx;
|
|
||||||
coff::symbol_t coff_symbol;
|
|
||||||
|
|
||||||
std::vector< symbol_t * > deps;
|
|
||||||
std::vector< xed_decoded_inst_t > instrs;
|
|
||||||
|
|
||||||
void on_update();
|
|
||||||
|
|
||||||
public:
|
|
||||||
symbol_t();
|
|
||||||
void add_dep( const symbol_t &dep );
|
|
||||||
};
|
|
||||||
} // namespace theo
|
|
@ -1,4 +1,2 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <theo/engine/engine.hpp>
|
#include <theo/engine/engine.hpp>
|
||||||
#include <theo/obf_pass/obf_pass_wrapper.hpp>
|
|
||||||
#include <theo/symbol.hpp>
|
|
Loading…
Reference in new issue