#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <limits.h>
int main() {
unsigned int target_secret = 1930152082;
unsigned int guessed_secret, secret,second_secret;
// 現在時刻周辺の範囲で総当たり
time_t current_time
= time(NULL
); time_t start_time = current_time - 120; // 現在時刻の60秒前から試す
time_t end_time = current_time + 120; // 現在時刻の60秒後まで試す
for (time_t t = start_time; t <= end_time; ++t) {
srand(t
); // 現在の時刻 t で srand を初期化
// 元のプログラムの計算を再現
// 推測した secret がターゲットと一致するか確認
if (guessed_secret == target_secret) {
secret = guessed_secret;
printf("First Secret: %u\n", secret
); secret *= second_secret;
printf("Second Value: %u\n", second_secret
); printf("Second Secret: %u\n", secret
);
secret *= 0x5EC12E7;
printf("Final Secret: %u\n", secret
);
return 0; // 見つかったらプログラムを終了
}
}
printf("Seed not found within the specified range.\n"); return 1; // 見つからなかった場合
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHRpbWUuaD4KI2luY2x1ZGUgPGxpbWl0cy5oPgoKaW50IG1haW4oKSB7CiAgICB1bnNpZ25lZCBpbnQgdGFyZ2V0X3NlY3JldCA9IDE5MzAxNTIwODI7CiAgICB1bnNpZ25lZCBpbnQgZ3Vlc3NlZF9zZWNyZXQsIHNlY3JldCxzZWNvbmRfc2VjcmV0OwoKCiAgICAvLyDnj77lnKjmmYLliLvlkajovrrjga7nr4Tlm7Ljgafnt4/lvZPjgZ/jgooKICAgIHRpbWVfdCBjdXJyZW50X3RpbWUgPSB0aW1lKE5VTEwpOwogICAgdGltZV90IHN0YXJ0X3RpbWUgPSBjdXJyZW50X3RpbWUgLSAxMjA7ICAvLyDnj77lnKjmmYLliLvjga42MOenkuWJjeOBi+OCieippuOBmQogICAgdGltZV90IGVuZF90aW1lID0gY3VycmVudF90aW1lICsgMTIwOyAgICAvLyDnj77lnKjmmYLliLvjga42MOenkuW+jOOBvuOBp+ippuOBmQoKICAgIGZvciAodGltZV90IHQgPSBzdGFydF90aW1lOyB0IDw9IGVuZF90aW1lOyArK3QpIHsKICAgICAgICBzcmFuZCh0KTsgLy8g54++5Zyo44Gu5pmC5Yi7IHQg44GnIHNyYW5kIOOCkuWIneacn+WMlgoKICAgICAgICAvLyDlhYPjga7jg5fjg63jgrDjg6njg6Djga7oqIjnrpfjgpLlho3nj74KICAgICAgICBndWVzc2VkX3NlY3JldCA9IHJhbmQoKTsKCiAgICAgICAgLy8g5o6o5ris44GX44GfIHNlY3JldCDjgYzjgr/jg7zjgrLjg4Pjg4jjgajkuIDoh7TjgZnjgovjgYvnorroqo0KICAgICAgICBpZiAoZ3Vlc3NlZF9zZWNyZXQgPT0gdGFyZ2V0X3NlY3JldCkgewogICAgICAgIAlzZWNyZXQgPSBndWVzc2VkX3NlY3JldDsKICAgICAgICAJcHJpbnRmKCJGaXJzdCBTZWNyZXQ6ICV1XG4iLCBzZWNyZXQpOwogICAgICAgIAlzZWNvbmRfc2VjcmV0ID0gcmFuZCgpOwogICAgICAgIAlzZWNyZXQgKj0gc2Vjb25kX3NlY3JldDsKICAgICAgICAJcHJpbnRmKCJTZWNvbmQgVmFsdWU6ICV1XG4iLCBzZWNvbmRfc2VjcmV0KTsKICAgICAgICAJcHJpbnRmKCJTZWNvbmQgU2VjcmV0OiAldVxuIiwgc2VjcmV0KTsKICAgICAgICAJCiAgICAgICAgCXNlY3JldCAqPSAweDVFQzEyRTc7CiAgICAgICAgCXByaW50ZigiRmluYWwgU2VjcmV0OiAldVxuIiwgc2VjcmV0KTsKICAgICAgICAJCiAgICAgICAgCQogICAgICAgICAgICByZXR1cm4gMDsgLy8g6KaL44Gk44GL44Gj44Gf44KJ44OX44Ot44Kw44Op44Og44KS57WC5LqGCiAgICAgICAgfQogICAgfQoKICAgIHByaW50ZigiU2VlZCBub3QgZm91bmQgd2l0aGluIHRoZSBzcGVjaWZpZWQgcmFuZ2UuXG4iKTsKICAgIHJldHVybiAxOyAvLyDopovjgaTjgYvjgonjgarjgYvjgaPjgZ/loLTlkIgKfQ==