Quote:
Originally Posted by ImTweet™
Naja kann man leicht ändern z.B mit Hash Editor öffnen nach ip suchen&ändern ist nicht wirklich fest
|
Falsch.
Liebes kleines Example aus der Boost library:
Code:
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/seq/for_each_i.hpp>
#include <boost/preprocessor/seq/enum.hpp>
#define CRYPT_MACRO(r, d, i, elem) ( elem ^ ( d - i ) )
#define DEFINE_HIDDEN_STRING(NAME, SEED, SEQ)\
static const char* BOOST_PP_CAT(Get, NAME)()\
{\
static char data[] = {\
BOOST_PP_SEQ_ENUM(BOOST_PP_SEQ_FOR_EACH_I(CRYPT_MACRO, SEED, SEQ)),\
'\0'\
};\
\
static bool isEncrypted = true;\
if ( isEncrypted )\
{\
for (unsigned i = 0; i < ( sizeof(data) / sizeof(data[0]) ) - 1; ++i)\
{\
data[i] = CRYPT_MACRO(_, SEED, i, data[i]);\
}\
\
isEncrypted = false;\
}\
\
return data;\
}
dann einfach
DEFINE_HIDDEN_STRING(key, 0x99, ('T')('e')('s')('t'))
dann per Getkey() die variable auslesen...
den key wirst du nie in IDA etc finden.
genausowenig wie die pseudo function