Text Size

Menschliche Programmfehler

Ein paar kleine Randbemerkungen über Seltsamkeiten und Programmierfehler in Automaten kann ich auch liefern - sogar über eine sicherlich nicht vorgesehene "Geschicklichkeitsprüfung" in einem elektromechanischen Gerät von Wulff.

adp Merkur Disc (Teile der alten Version, noch bis 100 hochdrückbar)

Die erste 30Pfg-Ausspielung nach dem Reinstecken des Steckers ging immer auf die 3 Sonderspiele, leider konnte ich nichts Ähnliches für die 40er-Ausspielung beobachten. Offenbar hat adp das Programm schnell geändert, es gab auch alte Merkur Disc, die sich nicht mehr so durchschaubar verhielten.

Aber in einem Schnellimbiss, wo ich unmenschlich früh zu frühstücken pflegte, klappte das noch ganz gut - und so begann eine Zeitlang fast jeder meiner Tage mit einer schnellen 3er-Serie (die ich gern annahm). Nicht das große Geld, aber oft ein sehr billiges belegtes Brötchen.

adp Merkur Komet (Prototyp)

In der hannöverschen Reitwallstraße gab's eine Zockhalle (von Freise, dem damaligen Gastro-König Hannovers), die sehr häufig Prototypen aufstellte und mich damit geradezu magisch anzog - viele dieser Frickelkisten hatten doch so ihre Schwächen, die meist nicht zu Lasten des Spielers gingen.

Dort sah ich auch meinen ersten "Merkur Komet" mit dem Hochdrückschweif - gleich dreimal nebeneinander. Durch einen plumpen Zufall (mit Beteiligung der dort stehenden Musikbox - so'was gab's noch!) bemerkte ich schon mit dem zweiten Heiermann, dass man den immer auf Anschlag drücken konnte, wenn man nur sehr präzise in einem bestimmten Rhythmus auf die Taste haute. Wenn der erste Schritt in diesem Rhythmus klappte, dann klappten immer alle, und der erste klappte mit einer geschätzten Wahrscheinlichkeit von 30 Prozent.

Danach fütterte ich vier Geräte: Eine Musikbox und drei unausgereifte G**selmann-Protos. Nach dreieinhalb Stündchen waren die drei Kometen leergespielt und ich um eine große Menge Klimpermünzen reicher (es waren über tausend Mark). Um mich herum standen zuschauende Zocker, die ihren Augen nicht trauten. So viele dicke Serien in so kurzer Zeit hatte wohl noch keiner gesehen (immer schön und unverzagt auf 80 oder 100 hoch, wie ich mich dafür konzentrieren musste, kriegte keiner mit).

Schade, am nächsten Tag waren da andere Kisten, die sich nicht so schnell leerspielten. War wohl'n scheiß Geschäft.

An den Kometen, die ich ein paar Wochen später sah, ging das natürlich nicht mehr. Und ich wollte schon Berufszocker werden...

Wulff Rotomat Classic (elektromechanisch)

Von dieser Kiste hätte ich anfangs fast leben können, so gut und einfach ließ die sich abmelken. Allerdings gab's wohl bald eine zweite Version oder einen Umbausatz, irgendwann klappte es einfach nicht mehr. Und dann wurde diese Kiste auch noch so selten...

Ein bisschen Erklärung hierzu: Für die Stern-Kombinationen gibt es 1, 2 oder 3 Ausspielungen, je nach dem, ob man 3, 4 oder 5 Sterne hat. In den Ausspielungen gibt es 3, 5, 10, 20 oder 100 Sonderspiele. Die Ausspielungen konnten nicht angehalten, sondern gestartet werden.

Wenn man genau hinhörte, dann bekam man mit, dass während der Startphase ein kleiner Motor ähnlich wie der in dem neuen Wulff-Zählwerk mitlief. Und in regelmäßigen Abständen wurde ein Zähler erhöht, das Geräusch war beinahe mit dem Zähler des Münzspeichers oder des Serienzählers identisch. Weiß man, worauf man zu achten hat, ist das Geräusch unüberhörbar, zumal das Nockenprogramm angehalten ist.

Es handelt sich offensichtlich (oder besser offenhörbar, aber das Wort gibt's noch nicht) um einen zweistufiges Zählwerk (mit Übertrag). Die "Einerposition" bestimmt, ob es drei Sonderspiele, fünf Sonderspiele oder in Abhängigkeit von der Stellung der "Zehnerposition" 10, 20 oder 100 Sonderspiele gibt. Ein ganz einfacher Aufbau. (Vom Geräusch her würde es mich nicht wundern, wenn Wulff dafür wirklich ein Zählwerk verbaut hat. Ingenieure können ja sehr "sparsam" sein, wenn sich ein bestehendes Teil für etwas anderes nutzen lässt und so die Kosten für die Massenproduktion gesenkt werden können. Wenn jemand einen "Classic" herumstehen hat, einfach mal einen Blick reinwerfen, ich hatte diese Gelegenheit leider noch nicht.)

Nach Druck auf die Starttaste lief dieses unsichtbare Zählwerk weiter, sorgte für ein bisschen Geflacker im Ausspiel-Transparent und wurde nach einer gewissen, für jeden Automaten individuell gleich bleibenden Zeit angehalten. Wenn man den genauen Zeitpunkt nach dem Übertragsklicken für einen Automaten erstmal raus hatte, konnte man in jeder Ausspielung mindestens 10 Sonderspiele holen und damit die Auszahlquote gehörig nach oben kriegen - natürlich kamen auch immer wieder 20er- und 100er-Serien dazu. Okay, es klappte auch dann wegen der erforderlichen zeitlichen Genauigkeit nur so jedes zweite Mal, aber es klappte eben auch so ziemlich jedes zweite Mal. Mein immenses "Glück" an diesen Kisten brachte mir tatsächlich Hausverbote ein - so ist das eben, wenn die versprochenen Gewinne einmal Wirklichkeit werden. (In ein paar Stunden habe ich die 5 DM-Röhre immer leer gekriegt, was ca. 200 DM waren.)

Übrigens ist nach meiner Erfahrung das Ausspielergebnis "20" genau so wahrscheinlich wie das Ergebnis "100" - das mag man vom Geflacker während der Ausspielung her gar nicht glauben. Aber dieses Durchflackern ist sowieso nur Verarschung. Damals wie heute.

Das Risiko scheint beim "Classic" vom Geräusch her nicht anders zu funktionieren, aber da fehlt ein akustischer Anhaltspunkt für die sichere Verdoppelung. Trotzdem habe ich immer bei 3 Spielen riskiert, da hier ein saudummer Designfehler vorlag.

Der "Classic" hat immer zum Ende eines Spieles ein Sonderspiel abgezogen. Wenn der Zähler auf "3" oder "5" stand, konnten die verbliebenen Sonderspiele mit der "Doppelt oder Nichts"-Taste verdoppelt werden. Das Gute daran: Dies geschah vor dem Abzug des Sonderspiels, so dass man in Wirklichkeit nur zwei Spiele riskierte, aber drei gewinnen konnte. Die Wahrscheinlichkeit scheint aber 1:1 verteilt gewesen zu sein. Beim Angebot auf "3" machte man da ein richtig gutes Geschäft, hingegen ist's eher etwas dumm, auf "5" zu riskieren und das bessere Geschäft auf "3" fahren zu lassen.

Wenn ich in der Ausspielung einer 3er-Serie bekam (auf der Stellung vor und nach der "dicken" Position liegt die "3", und ich war nicht unfehlbar), dann habe ich die immer zunächst angenommen und ein Sonderspiel runtergespielt. Am Ende dieses Sonderspieles konnte ich die 3 Spiele nochmal riskieren(!), und das habe ich dann natürlich immer getan - man könnte denken, die Kiste sei bei Wulff nie richtig getestet worden.

Einige Bergmann-Geräte (auf Z80A-Technik)


Ich hatte mal das Vergnügen, zusammen mit ein paar anderen Häckern das ROM von Bergmann-Geräten mit Schrittmotor auf Z80A-Basis untersuchen zu können. (Ich konnte von früher her noch ganz flüssig Z80-Assember lesen, deshalb wurde das an mich herangetragen. Dass ich "der Zocker" war, spielte aber bestimmt auch eine Rolle.)

Eine vollständige Analyse habe ich nicht gemacht. Es handelte sich nicht um ein ernsthaft geplantes großes "Abmelken", sondern nur um ein bisschen intellektuelles Herumspielen, ähnlich wie andere Leute Kreuzworträtsel lösen. Wir wollten einfach nur herauskriegen, ob diese Kisten "richtig bescheißen" - so wie's heute jede Kiste mit ihren Spielsystemen und Ungleichverteilungen ganz offen tut. Bei positivem Ergebnis wäre das ein Artikel für die "Datenschleuder" und bestimmt etwas anschließende Pressearbeit geworden.

(Ein Häcker ist übrigens einfach nur ein Mensch, der respektlos mit der Technik umgeht. Er steht damit im Gegensatz zur dumpfen und beinahe religiösen Technikgläubigkeit, die sich in der breiten Massen genau so wie in der p'litischen Kaste beobachten lässt.)

Im Ergebnis: Die Scheibenpositionen waren im Prinzip gleich verteilt, die Serien-Ausspielungen waren nach heutigen Maßstäben geradezu gut. Man erkannte darin geradezu das Bemühen, ein relativ "ehrliches" Spiel mit den Zockern zu machen.

Aber auch hier gab's einen Designfehler in der Programmierung der Pseudozufallszahlen, und der hätte einen Angriff auf die Kisten ermöglicht. Völlig unabhängig vom Verhalten des Spielers (mit Ausnahme des Nachstarts) stand die Scheibenstellung zu Beginn des Spieles fest, da ganz zu Anfang acht Zufallszahlen ermittelt wurden, die für Scheibenstellung, Ausspielungen und Risikoergebnisse Verwendung fanden. (Das hätte ich besser programmiert! Aber mir gibt man ja so ungern eine Arbeit...)

Die Zufallszahlen hierfür wurden nach dem additiven Kongruenzverfahren berechnet. Das klingt scheußlicher, als es ist. Im Prinzip ist das ähnlich wie die Zahlenfolge der Fibonacci-Zahlen. Man beginne mit z(0)=1 und z(1)=1 und bestimme die nächste Zahl z(n) als Summe der beiden vorhergehenden z(n-1) + z(n-2). So kommt man auf 2, 3, 5, 8, 13, 21 etc. (In der Umsetzung für Zufallszahlen ist das etwas komplizierter, aber die grundlegende Idee dürfte klar sein.) Wenn der maximale Wertebereich für die Zahlen überschritten wird, dann wird der entstehende Übertrag einfach abgeschnitten.

Abhängig von der Anzahl Bits, die man dabei verwendet, ist ein solches Verfahren immer periodisch. Durch einen kleinen Designfehler war die Periode bei dieser Bergmann-Kiste aber viel kleiner, als sie es vom Verfahren her hätte sein müssen - man hat ganz offenbar keinen Mathematiker damit beschäftigt. Durch Ablesen der Scheibenstellung hätte man den Zustand des Pseudozufallsgenerators ermitteln können und daraufhin die folgenden Aussagen treffen können:

- Ob sich das Spiel lohnt.
- Ob der Nachstart eine Verbesserung des Ergebnisses bringt.
- Wie hoch sicher riskiert werden kann.

Damit wäre ein Abmelken der Kiste sehr gut möglich gewesen, wenn man einen unauffälligen Computer zur Hilfe genommen hätte. Ohne die erwähnte Designschwäche (im Wesentlichen: mit der Verarbeitung anderer Bits aus dem Status des Generators) wäre der Angriff nahezu unmöglich gewesen, da die Periode des Generator zu groß geworden wäre, um aus den Scheibenstellungen verlässliche Informationen zu gewinnen.

Wenn ich lese, dass G**selmann offenbar ganz ähnliche Designschwächen bei älteren Kisten hatte, bestätigt das nur meine Auffassung, dass in der deutschen Wirtschaft zu oft am falschen Ende gespart wird - ich hatte da weiter oben schon so einen Seitenhieb mit der beinahe religiösen Technikgläubigkeit. Es läuft in Tests so oberflächlich, also kann man's auf'm Markt werfen. Von Sorgfalt und gleichermaßen qualifizierten wie verantwortlichen Gestaltern nicht die Spur - das wäre ja auch viel zu teuer.

Nun gut, mir haben die neueren Kisten das Zocken sowieso abgewöhnt. Das war auch besser für mich...

Zur Strafbarkeit dieser Angriffe

Im Allgemeinen ist's strafbar, die Programme zu disassemblieren. Jede Nutzungsbedingung für proprietäre Software stellt dies sicher. Es kann aber schwierig sein, die Vorgehensweise der Analyse so sicher zu belegen, dass die strafbare Handlung nachgewiesen werden kann.

Jemand könnte ohne weiteres argumentieren, dass er einfach für'n paar hundert Mark gespielt hat und die Ergebnisse erfasst und analysiert hat. Dabei fand er mit ein paar zusätzlichen Annahmen die Schwächen, die er dann ausnutzte. Das Programm für die Analyse und seine Daten hat er natürlich nicht mehr, seit ihm die Platte gecrashed ist - sie wissen ja, wie das ist, Herr Staatsanwalt... - und im Zweifel ist daraufhin keine Verurteilung möglich. Hier gilt: Man sollte Gesetze und Verträge mit den Augen eines Anarchisten lesen. Wer das nicht kann, nimmt sich einfach den größten Schurken zum Anwalt. Was die Wirtschaft und die Mafia können, das sollte sich jeder zutrauen!

Der beste Schutz gegen solche Manipulation wäre ein sauberer Entwurf der Software und eine Veröffentlichung aller benutzten Programme im kommentierten Quelltext. Die Geheimhaltung der Software ist undurchführbar und darüber hinaus völlig wirkungslos. Ganz nebenbei könnte sich jeder selbst davon überzeugen, wie die heutigen Kisten bescheißen oder um ein interessantes Spiel bemüht sind.

Bei einarmigen Banditen gab's auch irgendwann eine solche Entwicklung. Etwa bis zum Baujahr 1985 sind diese Geräte noch mechanisch, aber teilweise schon mit elektronischer Steuerung versehen. Dann kam der Siegeszug des Schrittmotors. Und viele Firmen hatten die gleiche Idee: Man lasse das Walzenbild öfter mal so aussehen, als sei der dicke Gewinn nur ganz knapp verfehlt worden - positiv gesprochen, ist das eine Maßnahme zur Intensivierung der Kundenbindung, negativ gesprochen ist das eine ganz große Verarschung.

In den USA gibt es aber viel mehr Menschen, die sich nicht so einfach verarschen lassen. Und nachdem jemand (ich weiß seinen Namen nicht mehr) im Jahre 1988 illegalerweise ein solches Programm im ROM analysiert hatte, tat er zwei Dinge beim nächsten Sheriff: Eine Selbstanzeige wegen des Lizenzvergehens (Zivilrecht) und eine Strafanzeige wegen gewerbsmäßigen Betruges (verfolgt durch den Staatsanwalt).

Im Ergebnis gab's eine komplizierte Entscheidung. Die einlaufenden Positionen auf einer Einzelwalze dürfen ungleichmäßig verteilt sein, da das einem Spieler aus der Spielerfahrung transparent wird - man sieht eben, dass die rote Sieben seltener kommt. Die resultierenden Walzenkombinationen müssen jedoch in diesem Rahmen gleich verteilt sein, da hier Manipulationen nicht erkennbar wären. Daraufhin wurden eifrig ROMs getauscht, und die leidige Zivilsache wegen des analysierten ROMs wurde eingestellt...

Nur in Dummland lassen die Menschen eben alles mit sich machen. Und deshalb ist hier alles so, wie es eben ist. In der Zockhalle wie in Berlin.

Mann, da bin ich ja noch richtig politisch zum Ende geworden...