• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

getDigital Adventsrätsel 2017 Lösungsansätze, Diskussionen etc.

peterbrasil

Neu angemeldet

Registriert
11 Dez. 2017
Beiträge
3
Zu 51:
Ich denke die Farben sind nur Ablenkung. Aber srand() in PHP spielt sicherlich eine Rolle. Wenn man davon ausgeht was der Server weiß: Das Enddatum des Countdowns und den angezeigten Seed, dann müssen die beiden Werte in irgendeiner Kombination die Lösung ergeben. Ich denke diese beiden Werte muss man (vermutlich in Unixtime umgerechnet) verwenden. Naiv: srand(Countdowndatum in Unixtime); rand(0, angezeigter Seed) klappt nicht. Aber es scheint mir eine Variante davon zu sein. Da gibt es eine Menge Möglichkeiten und mir fehlt die Zeit zum ausprobieren. Jedenfalls steht da "Gültiger Code <Countdown>" und dann die Zahl, die im JS-Code als "nextseed" bezeichnet wird. Das könnte bedeuten, dass man srand und rand mit den richtigen Werten füttern muss und dann erst beim nächsten Versuch die richtige Zahl eingeben kann. Aber bei Falscheingabe wird zurück gesetzt, außer der Countdown ist abgelaufen. Möglicherweise muss man also den Wert ausrechnen UND die Systemzeit verstellen.

Vermutlich ist es aber eher so etwas wie die Differenz des Enddatums des Countdowns zur angezeigten Zahl jeweils in Unixtime als Seed für srand() und dann einfach rand() oder eine der vielen Varianten davon.

Die Farben schließe ich aus, weil sie nicht an den Server gehen. Eine Verschlüsselung schließe ich aus, weil die Werte für den Countdown und für die angezeigte Zahl nicht gleichmäßig verteilt erscheinen. Die Verwendung von Unixtime halte ich für sehr wahrscheinlich weil alle Werte für den Countdown und die angezeigten Werte zwischen 1980 und 2025 lagen. Wäre die angezeigte Zahl Teil einer sinnvollen Verschlüsselung, dann würde der Bereich sich gleichmässiger verteilen (z.B mal eine Zahl mit 5 oder weniger Stellen).

Ich habe zunächst angenommen, dass so etwas wie srand(x); rand(y,z) zur Lösug führt, glaube mittlerweile aber es ist srand(x); rand(), ohne Argumente, wobei x irgendeine Kombination aus Enddatum des Countdowns (oder einer daraus ableitbaren Zahl, z.B. der Differenz) und der angezeigten Zahl ist.

Achja, die angezeigten Zahlen und Daten für den Countdown schienen endlich zu sein. Möglicherweise muss man also mal die Zahlen in Unixtime und die Ergebnisse von srand(x);rand() mal aufzeichnen, um ein Vorhersagemuster zu erzeugen.

Das der Ablauf der Zeit (also etwa, die richtige Lösung muss innerhalb von 3 Sekunden eingegeben werden oder ähnliches) eine rolel spielt, glaube ich nicht. Denn dann müsste die Zeit zwischen Server und Client synchronisiert werden, weil der Server die Antwort prüft. Außerdem hätte man dann nur mit einem Skript eine Chance. Ich glaube nicht, dass die Lösung so abgehoben ist. Das die Eigenschaft von srand() in PHP eine Rolle spielt halte ich aber für sehr wahrscheinlich, denn bisher gab es keine PHP-Frage und da war in vergangenen Rätseln immer eine PHP oder JS-Frage.

Noch eine ganz naive Idee: Das hörbare Youtube-Video ist die 105-Jahrfeier des Geburtstags von Kim Senior Senior. Diesen Geburtstag könnte man natürlich auch mal in Unixtime umrechnen....
 
Zuletzt bearbeitet:

auru

Aktiver NGBler

Registriert
8 Apr. 2015
Beiträge
255
Zu 51:
Entweder führen alle Seeds zum selben Bombencode oder jedem angezeigen ist ein bestimmter Code zugeordnet.

Das mit 105-Jahr-Feier ist schwierig. Welche Uhrzeit? 15.4.2017 0 Uhr?, welche Zeitzone? UTC, MEZ, Korea-Zeit.
Der Unix-Wert 0 entspricht 1.1.1970 0 Uhr UTC oder 1 Uhr MEZ.
Am 15. April 2017 war Kim Il-sung 105-Jahr-Feier (*15.4.1912)

Obwohl distance nicht so schnell < 0 wird ist die Meldung 만료! (Ablauf!) vorgesehen.
Man kann die Funktion hier z. B. getnewColors(767647363) simulieren:

http://31i73h4x0r.de/timewalk/?seed=767647363 (oder ein anderer Seed)
Setzt man sofort den gelieferten neuen Seed ein, kommt wieder derselbe.
Code:
<html>
<head>
<style>
#seed{
margin : 0px;
background-color: rgb(170,123,63);
}
body{
text-align:center;
margin:0px;
}
#countdown{
 font-weight:900;
 font-size:40px;
 background-color: black;
 color:white;
 display:block;
 padding:10px;
 font-family: "Arial", Verdana, sans;
}
</style>
<script>
var solved=0;
var end = new Date('2021-12-16 23:09:59');

    var _second = 1000;
    var _minute = _second * 60;
    var _hour = _minute * 60;
    var _day = _hour * 24;
    var _year = _day * 365;

    var timer;

    function showRemaining() {
        var now = new Date();
        var distance = end - now;
        if (distance < 0) {

            clearInterval(timer);
            document.getElementById('countdown').innerHTML = '만료!';

            return;
        }
        var years = Math.floor(distance / _year);
        var days = Math.floor((distance % _year) / _day);
        var hours = Math.floor((distance % _day) / _hour);
        var minutes = Math.floor((distance % _hour) / _minute);
        var seconds = Math.floor((distance % _minute) / _second);

        document.getElementById('countdown').innerHTML ="유효한 코드 "+ years + ' 년 ';
        document.getElementById('countdown').innerHTML += days + ' 일 ';
        document.getElementById('countdown').innerHTML += hours + ' 시간 ';
        document.getElementById('countdown').innerHTML += minutes + ' 분 ';
        document.getElementById('countdown').innerHTML += seconds + ' 초';
    }

    timer = setInterval(showRemaining, 1000);

function rainbow(pos){
  if(pos < colors.length){
    setTimeout(function () {
      document.getElementById("seed").style.backgroundColor = ""+colors[pos];
      rainbow(++pos);
    }, 30000)
  }else{
        getnewColors(nextSeed);
  }
}
function startRainbow(pos){
  if(pos < colors.length){
    setTimeout(function () {
      document.getElementById("seed").style.backgroundColor = ""+colors[pos];
      rainbow(++pos);
    }, 7000)
  }else{
        getnewColors(nextSeed);
  }
}

function getnewColors(seed){
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == XMLHttpRequest.DONE) {   // XMLHttpRequest.DONE == 4
         if (xmlhttp.status == 200) {
           var response=JSON.parse(xmlhttp.responseText);
           colors=response.colors;
           nextSeed=response.nextSeed;
           document.getElementById("seed").innerHTML =nextSeed;
           rainbow(0);
         }
         else if (xmlhttp.status == 400) {
         }
         else {
         }
      }
  };
  xmlhttp.open("GET", "?seed="+seed, false);
  xmlhttp.send();
}
var colors=["rgb(2,96,147)","rgb(3,250,139)","rgb(7,132,145)","rgb(38,171,255)","rgb(233,30,253)","rgb(2,176,250)","rgb(55,99,204)","rgb(139,218,35)","rgb(120,189,56)","rgb(255,40,185)","rgb(35,43,25)","rgb(183,46,20)","rgb(66,54,153)","rgb(212,92,69)","rgb(211,70,100)","rgb(208,72,21)","rgb(203,128,120)","rgb(151,11,82)","rgb(186,132,15)","rgb(243,132,56)","rgb(172,167,99)","rgb(197,94,145)","rgb(218,161,200)","rgb(116,117,36)","rgb(185,72,107)","rgb(29,25,179)","rgb(50,228,52)","rgb(170,123,63)","rgb(253,54,195)","rgb(12,41,71)","rgb(68,213,238)","rgb(168,155,77)","rgb(58,118,238)","rgb(2,234,100)","rgb(38,163,173)","rgb(145,193,198)","rgb(69,243,171)","rgb(121,158,39)","rgb(185,155,94)","rgb(124,168,136)","rgb(196,237,94)","rgb(179,149,249)","rgb(0,207,112)","rgb(239,209,90)","rgb(84,248,254)","rgb(1,138,192)","rgb(200,208,179)","rgb(116,74,82)","rgb(155,3,238)","rgb(250,128,151)"];
var nextSeed=767647363;
document.addEventListener("DOMContentLoaded", function(){
  if(solved!=1){
    startRainbow(28);
  }
});
</script>
</head><body id="body">
      <span id="countdown"></span>
      <h2 id="seed" style="transition: all 3s;">767647363</h2>
      <h3>패스 코드를 입력하십시오.</h3>
      <form method=post target=''>
        <input type=text name=passcode value ="">
        <button type=submit>제출</button>
      </form>
<body>
  <footer>
    <iframe width="560" height="0" src="https://www.youtube.com/embed/sH2JwbAk_2Y?rel=0&autohide=0&#8243&autoplay=1" frameborder="0" gesture="media" allow="encrypted-media" allowfullscreen></iframe>
  </footer>
</html>
 

marv

NGBler

Registriert
14 Dez. 2016
Beiträge
81
Ort
Neu Phlan
Zu 51:
Am 20.12. gab der Geekolaus beim Baumschmücken bei 1:13:00 einen Tipp zu Frage 51: "Dickes B".
Es gibt wohl ein Lied dieses Namens von Seeed (sic!)
Wie man allerdings Berlin, Seeed oder deren "Lied" als Seed in srand() verwenden soll, erschließt sich mir nicht :)
Weitere Assoziationen:
  • <B> ist ein B, welches in HTML etwas "dick" macht
  • Dicke Berta (vgl. Wallpaper auf Kims PC)
  • Dickes Baby (mit Raketen)

EDIT: Rätsel ist jetzt wohl gelöst.
 
Zuletzt bearbeitet:

marv

NGBler

Registriert
14 Dez. 2016
Beiträge
81
Ort
Neu Phlan
Jetzt ist das Rätsel doch wieder nicht gelöst, obwohl angeblich die Sieger schon vor Tagen benachrichtigt wurden?!?
 

auru

Aktiver NGBler

Registriert
8 Apr. 2015
Beiträge
255
Zu 51:
Mit dem Dicken B ist in dem Lied Berlin gemeint.
Gemeinhin stelle ich mir beim Code zur Explosion eine Ziffernfolge vor.
René: Hmm, mehr Tipps, hmm, Geekolaus ist der nette, Rätselmeister ist n fieser ;)
Hat nicht mit Kim jong il und 105 Jahr Feier zu tun.
Es gibt keine Ansatzpunkte!? Doch, wenn sich das ganze mal näher anguckt, dann gibt es diese durchaus.
Da mir sonst nix einfällt muss ich doch bestimmt auch die RGB-Werte bzw. einen Teil davon verwursten? Nicht wirklich.
Muss man evtl. die RGB Farben umrechnen in CMYK? Nicht wirklich.
Rainbow Tables werden dich nicht wirklich voran bringen.
Mir wurde in den Antworten von getDigital gesagt, dass es nichts mit dem koreanischen Seed-Algorithmus zu tun hat. (Quelle:Kleiderkreisel.at)
Näher anschauen? Oben läuft eine Zeitdifferenz der aktuellen Zeit zu einem Zeitpunkt in der Zukunft:
Stunden * 3600 (2 * 2 * 2 * 2 * 3 * 3 * 5 * 5) = Sekunden.
Hier mal ein paar Beispiele für gelieferte Ausgangsdaten, gleich in Primzahlen zerlegt, weil die in bisherigen Aufgaben keine Rolle spielten:

Seed = 1453335925 = 5 * 5 * 58133437
1826 Tage + 1 Stunde sind 43825 = 5 * 5 * 1753 Stunden

Seed = 2935431 = 3 * 3 * 326159
1461 Tage + 1 Stunde sind 35065 = 5 * 7013 Stunden

Seed = 2007987459 = 3 * 31 * 167 * 129289
1826 Tage + 1 Stunde sind 43825 = 5 * 5 * 1753 Stunden

Seed = 863327277 = 3 * 3 * 31 * 1213 * 2551
1826 Tage + 1 Stunde sind 43825 = 5 * 5 * 1753 Stunden

Seed = 1402636514 = 2 * 127 * 5522191
1461 Tage + 1 Stunde sind 35065 = 5 * 7013 Stunden

Seed = 1805636885 = 5 * 13 * 59 * 470831
1461 Tage + 1 Stunde sind 35065 = 5 * 7013 Stunden

weitere Seedbeispiele:
214829668 = 2 * 2 * 41 * 47 * 47 * 593
1822731030 = 2 * 3 * 3 * 5 * 797 * 25411
1749118003 = 149 * 157 * 74771
768686838 = 2 * 3 * 19 * 733 * 9199
1164929361 = 3 * 13127 * 29581
1190288122 = 2 * 29 * 20522209 und 5 * 7013 Stunden
803039983 = 757 * 1021 * 1039 und 5 * 5 * 1753 Stunden
782638103 = 13 * 60202931
745499088 = 2 * 2 * 2 * 2 * 3 * 3 * 37 * 139921
So zufällig sind die Seeds anscheinend nicht, diese Beispiele bestehen aus 2 bis 8 Primzahlen. Die zwei Zeiträume 4 bzw. 5 Jahre + 1 Stunde aus 2 und 3

Wer eine Funktion für Primfaktorenzerlegung in C# braucht, sendet eine PM.
 
Zuletzt bearbeitet:

quark

Neu angemeldet

Registriert
28 Dez. 2017
Beiträge
27
Zu 51:
Die Zahlen sind ziemlich zufallsverteilt, anbei ein Plot: 263 verschiedene Zahlen (Rot) und diese Zahlen der Größe nach sortiert (Blau). Eine ziemliche Gerade, d.h. die Zahlen sind schön verteilt zwischen 0 und 2^31. Es sind 133 gerade und 130 ungerade dabei gewesen, es waren 11 Primzahlen was ziemlich genau dem Erwartungswert (etwa 12.2) entspricht.
Plot.png
 

marv

NGBler

Registriert
14 Dez. 2016
Beiträge
81
Ort
Neu Phlan
Hi @auru und @quark,

Zu 51:
Eure Erkenntnisse sprechen (meines Erachtens) ebenfalls dafür, dass die von der PHP-Seite gelieferten neuen Seed-Werte Zufallszahlen sind, die sich mittels "Blackbox" aus den übergebenen Seed-Werten erzeugen (vorhersagen) lassen könnten. Dabei wandert der übergebene Seed-Wert mehr oder weniger direkt in den srand()-Aufruf der PHP Seite (Beweis: Fehlermeldung bei nichtnumerischen Eingaben) und die "Blackbox" ist zu ermitteln. Bekanntlich können rand()-Werte bei gegebenem srand() und ähnlicher PHP Version ja strikt berechnet werden.

Der Seed-Wert (in der Webseite) hängt auch am User-Cookie/Sessionstring, heißt: verschiedene User bekommen initial verschiedene Seed-Werte. Es besteht die Möglichkeit, dass ein Zeitstempel (aktuelle Zeit?) zumindest für den ersten Seed eine Rolle spielt, dies konnte ich aber nicht herausfinden, da "Gleichzeitigkeit" dank 2-5s Reaktionszeit der PHP-Seite schwierig zu simulieren war ;)

Bei Abschicken einer "Lösung" ändern sich dann Seed und RGB-Werte, aber auch nur für den lösungschickenden User! Ich denke aber nicht, dass der Cookie miteingerechnet wird, sondern vermute, dass einfach die Seedwerte irgendwo mit key = sessionsstring abgelegt sind und dort bei "Passwortwechsel" der nächsterzeugte Seed weggespeichert wird usw.

Leider hatte/habe ich keine Zeit aktiv am Rätsel weiterzuprobieren, wollte mich dennoch mal melden :)
 

peterbrasil

Neu angemeldet

Registriert
11 Dez. 2017
Beiträge
3
Zu 51:
Da ein paar von Euch ja schon aufeinanderfolgende Seeds gesammelt haben und ich leider keine Zeit habe. Folgende Ideen: A. Habt ihr mal die Seeds mit den aus den srand()-Rückgaben vorangegangener Seeds in PHP verglichen? Evtl. lässt sich so eine Kette aufspüren. B. Habt ihr auch mal die Enddaten für die Countdowns mit notiert, die im Quelltext ja direkt sichtbar sind und daher nicht ausgerechnet werden müssen? Das waren meistens vom aktuellen Datum nur im Jahr abweichende Daten, manchmal aber auch in der Minute, soweit ich mich erinnere. Wenn man srand() mal mit diesen Werten in Unixtime umgerechnet füttert kommt vll. auch ein erkennbares Muster heraus. Oder sowas wie srand(Seed);rand(0, Enddatum in Unixtime). Wenn man mit A. keine Kette findet könnte das Enddatum (oder auch nur die variablen Teile davon) möglicherweise als eine Art "Salt" funktionieren, also zb. nextseed=rand() bei srand(seed + salt), wobei der salt dann z.B. die Abweichung von Enddatum und Datum der Generierung des Datums sein könnte. In diese Richtung denke ich, weil ich nie eine Sekundenabweichung beobachtet hatte. Es waren meistens vom aktuellen Datum nur im Jahr abweichende Daten, manchmal aber auch in der Minute oder Stunde, soweit ich mich erinnere. Das würde auch das Problem mit Schaltsekunden und Serververzögerung bei der Berechnung eliminieren, wenn die Sekunden keine Rolle spielen (am besten auch die Minuten). Jedenfalls scheint mir neben der Reihenfolge der Seeds das Enddatum des angezeigten Countdowns eine Rolle zu spielen. C. Wenn man die Zeit extrem vorstellt (die Enddaten für den Countdown liegen in einem relativ dichten Bereich, soweit ich das beobachtet habe. Kommt ja auf Koreanisch die Ansage "Code abgelaufen" und ein neuer Anfangseed. Wenn man nun bei Versuchen kontinuierlich immer die Zeit verstellt (nach dem Enddatum des Countdowns) könnte man vll. eine Reihenfolge bei diesen Anfangsseeds feststellen? Das wären so meine Ansätze. Aber mir fehlt die Zeit für das Experimentieren. A und B könnte man mit historischen Daten aus alten Versuchen machen. B nur insofern man neben den Seeds auch die Enddaten mit notiert hat. Für C müsste man natürlich erst mal eine Datenbasis erzeugen. Ansonsten denke ich, wenn A,B oder C ein richtiger Ansatz sind, dann müsste jeweils eine relativ kleine Datenbasis ausreichen, denn der Rätselmeister ist zwar fies, aber trotzdem glaube ich nicht , dass man zur Mustererkennung Hunderte manuelle oder ggf. geskriptete Versuche brauchen sollte. Und warum ich immer mit meiner Unixtime komme: Die seeds sind normalverteilt zufällig, ich ahbe aber noch nie etwas extrem Kleines gesehen. Vom Datentyp her könnten die Seeds und die Enddaten auf gleiche Weise dargestellt werden und bei meinen Versuchen lagen die Enddaten immer in der Zukunft aber nie mehr als ca. 30 Jahre. Ferner waren die Enddaten des Countdowns immer sehr gleichförmig (meistens nur ein anderes Jahr als die aktuelle Zeit). Was die Überlegungen zu Primzahlen angeht. Bei normalverteilten Zahlen ist aus meiner Sicht eher Zufall bzw. liegt in der Natur der Primzahlen, das da Muster zu erkennen sind. Die seeds sind ziemlich normalverteilt, die Enddaten des Countdowns liegen natürlich in der Zukunft aber die scheinen recht "limitiert" zu sein. Deswegen glaube ich, dass die Enddaten ein entscheidender Faktor bei der Musterfindung sein könnten, der den "Suchraum" entsprechend einschränkt, damit man mit relativ wenigen Versuchen das Muster erkennen kann. Hinter den Farben vermute ich eher Ablenkung (obwohl sie ja auch vom Server geliefert werden),aber das ist eine Vermutung, wie alles. Viel Spaß beim weiter rätseln
 

marv

NGBler

Registriert
14 Dez. 2016
Beiträge
81
Ort
Neu Phlan
Hi @peterbrasil

Zu 51:
"A. Habt ihr mal die Seeds mit den aus den srand()-Rückgaben vorangegangener Seeds in PHP verglichen?"
Habe ich mit einigen Datensätzen ausprobiert und leider keine Muster gefunden. Einmal war für gegebenen Seed der nächste Seed die einemilliardeirgendwaste Zufallszahl, für den nächsten Seed war es dann die zweimilliardenirgendwaste Zahl, usw

"Hinter den Farben vermute ich eher Ablenkung (obwohl sie ja auch vom Server geliefert werden),"
Der Server liefert ja je einen neuen Seed und 50 RGB Werte. Die RGB Werte lassen sich dabei stets eindeutig aus dem neuen Seed als aufeinanderfolgende 150 Zufallszahlen berechnen, sind also nicht unabhängig vom neuen Seed, daher: auch meine Meinung: Ablenkung!
 

auru

Aktiver NGBler

Registriert
8 Apr. 2015
Beiträge
255
Zu 51:
Eine Auffälligkeit wäre noch das Wort Seed, die Musikgruppe von „Dickes B” schreibt sich Seeed, also mit drei e.
Das zweite sind die 4 bzw. 5 Jahre plus ein Tag.
유효한 코드 5 년 0 일 20 시간 10 분 17 초
Gültiger Code 5 Jahre 0 Tage 20 Stunden 10 Minuten 17 Sekunden
Gibt der Ausruck „Gültiger Code” die Restdauer an. Das ist doch keine Zeitbombe. Aber wenn es ein Hinweis auf den gültigen Explosionscode ist, wie ist der mit dem Seed verknüpft?
Ist bei GD derzeit kein Moderator da? Meine Fragen jedenfalls werden nicht bearbeitet. Nach 3 Tagen kann die Zeitzone Korea ausgeschlossen werden. Die Frage mit dem IE-Fehler wurde nicht beantwortet.
Der IE 11 verarbeitet die Funktion new Date('2020-12-01 22:20:10') fehlerhaft, funktionieren würde new Date(2020, 12, 1, 22, 20,10).
In der oberen Zeile erscheint deshalb statt Zahlenwerten NaN. Kann der Bomben-Code auch ohne diese Anzeige ermittelt werden?
Antwort: Ja, eine Lösung kannst du auch ohne finden.
Wird die Funktion mt-rand und Methode Mersenne-Twister verwendet?
Implemetierung in C#, VB.Net, C, C++: mersenne-twister
 
Zuletzt bearbeitet:

Qjuh

NGBler

Registriert
30 Dez. 2017
Beiträge
95
Ich verfolge eure Ideen schon eine Zeit lang und kann euch zu 51 sagen:
Die Farbwerte und der nextSeed werden direkt aus dem vorherigen Seed gewonnen mit srand(Seed), 150 rand(0,255) für die Farbwerte und einem letzten rand() für den nextSeed. Allerdings nur unter Linux mit PHP 5.6 (laut Antwortheader die verwendete Version des Servers). Allerdings ist keine Zahl dieser Zufallsfolge (nächste, übernächste, zukünftiger nextSeed, ...) die Antwort. Ich stehe also auch vor dem Problem wie ich die Zeit noch mit verwurste.

PHP selbst nutzt die Zeit des Aufrufs verrechnet mit der Prozess-ID des PHP-Prozesses als Seed, wenn srand() nicht explizit aufgerufen wird. Allerdings müsste man dafür die PID wissen.
 

auru

Aktiver NGBler

Registriert
8 Apr. 2015
Beiträge
255
Mir scheint Frage 52 leichter als 51, da weiß ich wenigstens nach was man suchen soll.
Nicht mal im Text der Nationalhymne find ich was.
Über den Cookie wie PHPSESSID=c4e5164086f303480ce7f8184b38.... erfolgt abscheinend die Zuordung. Fehlt diese, oder sie existiert nicht, wird ein 404-Fehler gesandt:
Code:
HTTP/1.1 404 Not Found
Date: Sat, 30 Dec 2017 09:16:56 GMT
Server: Apache/2.4.27
X-Powered-By: PHP/5.6.31
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Upgrade: h2c
Connection: Upgrade, Keep-Alive
Keep-Alive: timeout=5, max=100
Content-Type: text/html; charset=UTF-8
Content-Length: 3437

<style type="text/css">/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}/*! Simple HttpErrorPages | MIT X11 License | https://github.com/AndiDittrich/HttpErrorPages */body,html{width:100%;height:100%;background-color:#21232a}body{color:#fff;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.5);padding:0;min-height:100%;-webkit-box-shadow:inset 0 0 75pt rgba(0,0,0,.8);box-shadow:inset 0 0 75pt rgba(0,0,0,.8);display:table;font-family:"Open Sans",Arial,sans-serif}h1{font-family:inherit;font-weight:500;line-height:1.1;color:inherit;font-size:36px}h1 small{font-size:68%;font-weight:400;line-height:1;color:#777}a{text-decoration:none;color:#fff;font-size:inherit;border-bottom:dotted 1px #707070}.lead{color:silver;font-size:21px;line-height:1.4}.cover{display:table-cell;vertical-align:middle;padding:0 20px}footer{position:fixed;width:100%;height:40px;left:0;bottom:0;color:#a0a0a0;font-size:14px}</style>
      <body>
    <div class="cover"><h1>Resource not found <small>Error 404</small></h1><p class="lead">The requested resource could not be found but may be available again in the future.</p></div>
</body>
hxxp://31i73h4x0r.de/timewalk/?seed=nnnnnn
Wenn hier zeitnah verschiedene Seeds übergeben werden, interessiert das nicht. Es kommt der gleiche Neu-Seed und dieselben Farbwerte. Bei seed=0 kommt dann aber schon was Neues.
Richtet man schnell hintereinander mit denselben Werten Serveranfragen, dann ändert sich nur im Antwortkopf eine Kleinigkeit:
1. Abfrage:
Upgrade: h2c
Connection: Upgrade, Keep-Alive
Keep-Alive: timeout=5, max=100
weiterte Abfragen: Upgrade fehlt und bei Keep-Alive wird aus max=100 max=99, dann 98 usw. Hat aber wohl nichts groß zu bedeuten.
 
Zuletzt bearbeitet:

Qjuh

NGBler

Registriert
30 Dez. 2017
Beiträge
95
Meine Ansätze zu 52:
Zugfolge: Altar of the Brood, Panharmonicon, Saheeli‘s Artistry auf Panharmonicon und Reckless Fireweaver, Marionette Master, Mana Crypt, 5 Treasure opfern, Rite of Replication auf Marionette Master mit Kicker, Temple of Enlightenment, 3 Treasure opfern, Conjurer’s Closet auf Marionette Master anwenden.

Damit komme ich rechnerisch auf 1110924 Trigger, stimmt aber nicht.

Anmerkungen eurerseits dazu?
 

auru

Aktiver NGBler

Registriert
8 Apr. 2015
Beiträge
255
zu 52:
Ich hab das noch nie gespielt, aber schon mal die Regeln beschnuppert. Zum eigenen Verständnis, auch wenn dumme Fragen dabei sein sollten:
Zeigt das Bild oben die eigenen Karten im Spiel oder gehören da welche dem Gegner? Sind unten die eigenen Handkarten?
Die eigene Biblithek ist schon leer und es gibt kein Tokenlimit.
Der Gegner spielt Grand Abolisher + Lethal Vapors + Teferi's Protection Combo. Heißt Kombination, es wurden 2 Karten Teferi's Protection also ingesammt 4 Karten gespielt?
Ich hab mir mal die deutschen Versionen aller verwendeten Karten herunter geladen, nur „Mana Crypt” konnte ich nicht in Deutsch finden.
Ist da jetzt der eine Weg gesucht, der die meisten "triggered abilities" auslöst und diese Anzahl ist die Lösung?
Was bedeuten die zwei weißen Rechtecke auf zwei „Anionted Procession” („Prozession der Gesalbten”) und „Izzet Signet” („Izzet-Petschaft”)?
Warum liegt eine weitere Karte „Anionted Procession” rechts abseits der anderen? Zufall?
Von welchem Online-Programm stammt dieser Screenshot?
Ist „Mana Crypt” in unseren Fall hier betroffen?
 

Qjuh

NGBler

Registriert
30 Dez. 2017
Beiträge
95
zu 52:
Ich hab das noch nie gespielt, aber schon mal die Regeln beschnuppert. Zum eigenen Verständnis, auch wenn dumme Fragen dabei sein sollten:
Zeigt das Bild oben die eigenen Karten im Spiel oder gehören da welche dem Gegner? Sind unten die eigenen Handkarten?
Die eigene Biblithek ist schon leer und es gibt kein Tokenlimit.
Der Gegner spielt Grand Abolisher + Lethal Vapors + Teferi's Protection Combo. Heißt Kombination, es wurden 2 Karten Teferi's Protection also ingesammt 4 Karten gespielt?
Ich hab mir mal die deutschen Versionen aller verwendeten Karten herunter geladen, nur „Mana Crypt” konnte ich nicht in Deutsch finden.
Ist da jetzt der eine Weg gesucht, der die meisten "triggered abilities" auslöst und diese Anzahl ist die Lösung?
Was bedeuten die zwei weißen Rechtecke auf zwei „Anionted Procession” („Prozession der Gesalbten”) und „Izzet Signet” („Izzet-Petschaft”)?
Warum liegt eine weitere Karte „Anionted Procession” rechts abseits der anderen? Zufall?
Von welchem Online-Programm stammt dieser Screenshot?
Ist „Mana Crypt” in unseren Fall hier betroffen?
Das sind alles deine Karten. Combo heißt hier nur, dass die drei Karten hintereinander gespielt wurden. Effektiv bedeutet es, dass dein Gegner aus deiner Sicht keine Karten liegen hat (phased out) und du ihm nichts anhaben kannst (Protection against everything und life total can‘t change). Die Handkarten sind unten, ja. Das Programm dürfte MTGO sein.
Die weißen Rechtecke bedeuten, dass es eine Kopie einer anderen Karte im Spiel ist (die abseits Liegende Anointed Procession ist das Original).
ManaCrypt kann dir zwei farblose Mana erzeugen, der Rest der Karte ist in diesem Zug nicht relevant.
Ansonsten ist genau die von dir beschriebene Zahl gesucht.
Da wir EDH spielen (d.h. Modus Commander) sind die Karten alle „legal“.
Weitere Fragen beantworte ich auch gerne, nur die korrekte Lösung habe ich selbst noch nicht.
 

auru

Aktiver NGBler

Registriert
8 Apr. 2015
Beiträge
255
zu 52
Aus Kleiderkreisel.de:
Wegen der Magic Frage: Da sitzt Mittlerweile der Europameister dran und nen Schiedsrichter der WM Breites Grinsen Wohl über 30000 triggers glaube ich.
Maxi ich hab einen Weltmeister Schiedsrichter aus der höchsten Tier darauf angesetzt und er hat mir 3 Lösungen gesagt, welche alle falsch waren. Ich glaube die Leute haben selber eine falsche Antwort angegeben.
Sehe ich das richtig? Es ist eine Antwortzufolge gesucht, die alles auslöst.
Vom letzten Gegner, heißt es ist eine Mehrspielerpartie, ist nur dessen Kartenkombination (Grand Abolisher + Lethal Vapors + Teferi's Protection) bekannt.

Über 1 Mio. sind ganz schön viele. Findet da man eher zu wenig oder zuviel? Im Kleiderkreisel war von über 30.000 die Rede.
Ist die Triggerzahl das Ergebnis einer Multiplikation? Wie heißt der kleinst- und größtmögliche Faktor. So könnten bestimmte Werte von vornherein ausgeschlossen werden.
40 Versuche pro Stunde, also alle 90 s darf man einen Versuch starten. Ich hab eine kleine Funktion in C#, die Werte durchprobiert, also 960 in 24 h.
 

Qjuh

NGBler

Registriert
30 Dez. 2017
Beiträge
95
Zu 52:
Also die Antwort setzt sich aus der Addition von mehreren Multiplikationen zusammen, deswegen geht es nicht per Primfaktorzerlegung o.Ä. Die korrekte Antwort muss aber im Millionenbereich liegen. Reines Probieren ohne Grundidee wird da zu lange dauern.
 

Qjuh

NGBler

Registriert
30 Dez. 2017
Beiträge
95
Zu 52:
Die von mir oben angegebene Zugfolge war tatsächlich die richtige. Ich habe mich nur immer wieder verrechnet. Heute um 20:40 Uhr habe ich endlich alle Rechenfehler beseitigt und erst jetzt gesehen, dass auru auch auf die korrekte Antwort gestoßen ist.
1111336

Zu 53:
Auf jeder Tagebuchseite scheint nach einer Zahl gefragt zu sein:
  • Anzahl der Bilder des Computerspiels, gezeichnet vom polnischen Michael, die Ede besitzt
  • Anzahl der eBooks, die Fiona jetzt besitzt (Konto bei Onlinebuchhändler, Spitzname im ersten Semester?)
  • Nummer (?) des Taktes in der Titelmelodie der Disney-Serie der 80er/90er, der nicht stimmte
  • Anzahl der Trolle im Heimatkundemuseum
  • Kassensturz: die gesammelten Ausgaben während der Reise
  • Alter von Franka Brandson
  • Windows-Version / Baujahr von Edes altem Laptop
  • Bei Tag 12 fällt mir nichts ein/auf
Ansonsten sind mir noch einige fehlende und überflüssige Buchstaben aufgefallen, die ich mir morgen mal rausschreiben werde, ob sie zusammen eine sinnvolle Frage oder ein Anagram ergeben.
 
Zuletzt bearbeitet:

Sera

Neu angemeldet

Registriert
17 Mai 2017
Beiträge
17
zu 53:
Letzter Tag: Reiseziel für den nächsten Urlaub?
 
Oben