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
|
||||
#include <theo/engine/engine.hpp>
|
||||
#include <theo/obf_pass/obf_pass_wrapper.hpp>
|
||||
#include <theo/symbol.hpp>
|
Loading…
Reference in new issue