2022-05-09 23:13:43 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
2023-06-09 20:23:37 +02:00
|
|
|
class decrypt_binaries_t
|
|
|
|
|
{
|
2025-04-05 21:50:45 +02:00
|
|
|
std::vector<u128> m_klics;
|
|
|
|
|
std::vector<std::string> m_modules;
|
|
|
|
|
usz m_index = 0;
|
2023-06-09 20:23:37 +02:00
|
|
|
|
|
|
|
|
public:
|
2025-04-05 21:50:45 +02:00
|
|
|
decrypt_binaries_t(std::vector<std::string> modules) noexcept
|
|
|
|
|
: m_modules(std::move(modules))
|
|
|
|
|
{
|
|
|
|
|
}
|
2023-06-09 20:23:37 +02:00
|
|
|
|
2025-04-05 21:50:45 +02:00
|
|
|
usz decrypt(std::string_view klic_input = {});
|
2023-06-09 20:23:37 +02:00
|
|
|
|
2025-04-05 21:50:45 +02:00
|
|
|
bool done() const
|
|
|
|
|
{
|
|
|
|
|
return m_index >= m_modules.size();
|
|
|
|
|
}
|
2023-06-09 20:23:37 +02:00
|
|
|
|
2025-04-05 21:50:45 +02:00
|
|
|
const std::string& operator[](usz index) const
|
|
|
|
|
{
|
|
|
|
|
return ::at32(m_modules, index);
|
|
|
|
|
}
|
2023-06-09 20:23:37 +02:00
|
|
|
};
|