Files
revsic-cpp-obfuscator/sample/string_obfs.cpp
T
2019-02-18 05:24:56 +09:00

31 lines
749 B
C++

#include "../obfuscator.hpp"
#include <iostream>
template <char key>
constexpr char xor_(char c) {
return c ^ key;
}
template <char Key>
constexpr char add(char c) {
return c + Key;
}
template <char(*f)(char), char(*g)(char)>
constexpr char comp(char c) {
return f(g(c));
}
int main() {
using table = obfs::make_table<
obfs::encoder_seq<xor_<0x50>, add<10>, comp<xor_<0x50>, add<10>>>,
obfs::decoder_seq<xor_<0x50>, add<-10>, comp<add<-10>, xor_<0x50>>>>;
std::cout << __TIME__ << std::endl;
std::cout << obfs::SEED << std::endl;
std::cout << obfs::RAND_VAL<__LINE__, 3> << std::endl;
constexpr auto str = obfs::make_string<table>("Hello World !");
std::cout << str.decode() << std::endl;
}