#pupupupu
https://alpacahack.com/ctfs/seccon-13-finals-booth/challenges/slow-flag-printer
フラグの出力がだんだん遅くなる
デバッガでsleepを飛ばすとフラグが崩れる
公式writeupでは気合で静的解析しろとのこと
個人的に面白かったのは÷1000を高速化するために掛け算を使っているところ

https://gist.github.com/shuax/14819c243c9df152569b8553b9f44f53
srand(0xdeadbeef)固定なのでseed値を出して頑張って復号する
いろいろ見ながら書いたsolver
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string>
#include <iostream>
#include <unistd.h>
using namespace std;
int main() {
srand(0xdeadbeef);
std::string secretStr = "@msgmsm\\021\\021\\027Xb\\177\\061z\\f~~Qv\\025RzvuZy\\002w\\025kNH[4H\\r^\\026\\020PP\\345\\367\\377\\177";
const int vecSize = 42;
long long sleep_max = 1;
for (int i = 0; i < vecSize; i++) {
int sleep_time = rand() % sleep_max + 1;
long long sleep_time_ms = static_cast<long long>(sleep_time) * 1000;
int mask = ((sleep_time_ms + 100) / 1000) % 128;
sleep_max <<= 1;
cout << (char)(secretStr[i] ^ mask);
}
cout << endl;
}