patch_solution_since_16.0.7.0.hpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include "patch_solution_since.hpp"
  3. #include "image_interpreter.hpp"
  4. #include <any>
  5. #include <string>
  6. #include <map>
  7. namespace nkg {
  8. template<>
  9. class patch_solution_since<16, 0, 7, 0> final : public patch_solution {
  10. private:
  11. static inline std::string_view official_encoded_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw1dqF3SkCaAAmMzs889IqdW9M2dIdh3jG9yPcmLnmJiGpBF4E9VHSMGe8oPAy2kJDmdNt4BcEygvssEfginva5t5jm352UAoDosUJkTXGQhpAWMF4fBmBpO3EedG62rOsqMBgmSdAyxCSPBRJIOFR0QgZFbRnU0frj34fiVmgYiLuZSAmIbs8ZxiHPdp1oD4tUpvsFci4QJtYNjNnGU2WPH6rvChGl1IRKrxMtqLielsvajUjyrgOC6NmymYMvZNER3htFEtL1eQbCyTfDmtYyQ1Wt4Ot12lxf0wVIR5mcGN7XCXJRHOFHSf1gzXWabRSvmt1nrl7sW6cjxljuuQawIDAQAB";
  12. image_interpreter& m_libcc_interpreter;
  13. image_interpreter::va_t m_va_CSRegistrationInfoFetcher_WIN_vtable;
  14. image_interpreter::va_t m_va_CSRegistrationInfoFetcher_WIN_GenerateRegistrationKey;
  15. image_interpreter::va_t m_va_iat_entry_malloc;
  16. std::string _build_encoded_key(const rsa_cipher& cipher);
  17. public:
  18. patch_solution_since(image_interpreter& libcc_interpreter);
  19. [[nodiscard]]
  20. virtual bool find_patch() override;
  21. [[nodiscard]]
  22. virtual bool check_rsa_privkey(const rsa_cipher& cipher) override;
  23. virtual void make_patch(const rsa_cipher& cipher) override;
  24. };
  25. }