You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
549 B
24 lines
549 B
#pragma once
|
|
#include <coff/image.hpp>
|
|
#include <cstdint>
|
|
#include <linuxpe>
|
|
#include <vector>
|
|
|
|
#include <decomp/routine.hpp>
|
|
#include <comp/symbol_table.hpp>
|
|
|
|
namespace theo::decomp {
|
|
class decomp_t {
|
|
public:
|
|
explicit decomp_t(std::vector<std::uint8_t>& lib_data);
|
|
std::vector<routine>& rtns();
|
|
std::vector<std::uint8_t>& lib();
|
|
std::vector<coff::image_t>& objs();
|
|
|
|
private:
|
|
void decompose();
|
|
std::vector<std::uint8_t> m_lib_data;
|
|
std::vector<coff::image_t> m_obj_imgs;
|
|
std::vector<routine> m_rtns;
|
|
};
|
|
} // namespace theo::decomp
|