Потребовалось мне по делу написать обфускатор (амплуа такое амплуа), пусть и чисто символический, некоего конкретного кода, который не просто заменяет переменные на vNNN, а сохраняет их длину. Ну, я по-быстрому пишу
Hint: Функцию пришлось переписывать.
std::string obfuscate(const std::string & s) {
static bool init = false;
static char shuffle[256];
if (!init) {
for (int i = 0; i < 256; i++) shuffle[i] = i;
std::random_shuffle(shuffle + 'a', shuffle + 'z' + 1);
std::random_shuffle(shuffle + 'A', shuffle + 'Z' + 1);
init = true;
}
std::string ret;
for (unsigned i = 0; i < s.size(); i++)
ret += shuffle[(unsigned char)s[i]];
return ret;
}Угадайте, что получилось, с моим-то еврейским счастьем.Hint: Функцию пришлось переписывать.
no subject
Date: 2011-07-19 12:18 am (UTC)no subject
Date: 2011-07-19 12:26 am (UTC)(Дал подсказку: функцию пришлось переписывать, хотя в ней нет ничего inherently неправильного.)
no subject
Date: 2011-07-19 12:49 am (UTC)no subject
Date: 2011-07-19 12:55 am (UTC)no subject
Date: 2011-07-19 12:59 am (UTC)no subject
Date: 2011-07-19 01:24 am (UTC)no subject
Date: 2011-07-19 12:33 am (UTC)Цифры на первых позициях?(foobar ==> 42fdq)?
Пробелы в именах? (foobar ==> "dq az")?
Сломаный UTF8?
no subject
Date: 2011-07-19 12:49 am (UTC)no subject
Date: 2011-07-19 12:58 am (UTC)no subject
Date: 2011-07-19 01:00 am (UTC)no subject
Date: 2011-07-19 12:46 am (UTC)no subject
Date: 2011-07-19 12:52 am (UTC)no subject
Date: 2011-07-19 12:52 am (UTC)no subject
Date: 2011-07-19 12:59 am (UTC)no subject
Date: 2011-07-19 01:36 am (UTC)А seed от time(0) для нормального параноика маловато будет…
no subject
Date: 2011-07-19 01:46 am (UTC)no subject
Date: 2011-07-19 02:42 am (UTC)no subject
Date: 2011-07-19 02:52 am (UTC)no subject
Date: 2011-07-19 03:46 pm (UTC)no subject
Date: 2011-07-19 03:56 pm (UTC)no subject
Date: 2011-07-19 03:58 pm (UTC)no subject
Date: 2011-07-19 01:42 am (UTC)no subject
Date: 2011-07-19 01:48 am (UTC)no subject
Date: 2011-07-19 01:54 am (UTC)no subject
Date: 2011-07-19 02:03 am (UTC)no subject
Date: 2011-07-19 02:11 am (UTC)no subject
Date: 2011-07-19 02:11 am (UTC)no subject
Date: 2011-07-19 01:50 am (UTC)no subject
Date: 2011-07-19 01:52 am (UTC)no subject
Date: 2011-07-19 02:02 am (UTC)no subject
Date: 2011-07-19 02:08 am (UTC)no subject
Date: 2011-07-19 02:35 am (UTC)no subject
Date: 2011-07-19 02:42 am (UTC)no subject
Date: 2011-07-19 03:44 am (UTC)no subject
Date: 2011-07-19 04:54 am (UTC)Просчитывать параллельно разные варианты оптимизации, где это оправдано - в перспективном плане.
no subject
Date: 2011-07-19 06:15 am (UTC)оффтопик
Date: 2011-07-19 02:12 am (UTC)не программируй - и непрограммируем будешь! )
Re: оффтопик
Date: 2011-07-19 02:24 am (UTC)