DE4324795C2 - Verfahren zum Prüfen von Veränderungen von im Source-Code befindlichen Programmen - Google Patents

Verfahren zum Prüfen von Veränderungen von im Source-Code befindlichen Programmen

Info

Publication number
DE4324795C2
DE4324795C2 DE19934324795 DE4324795A DE4324795C2 DE 4324795 C2 DE4324795 C2 DE 4324795C2 DE 19934324795 DE19934324795 DE 19934324795 DE 4324795 A DE4324795 A DE 4324795A DE 4324795 C2 DE4324795 C2 DE 4324795C2
Authority
DE
Germany
Prior art keywords
memory
areas
checksum
hidden
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19934324795
Other languages
English (en)
Other versions
DE4324795A1 (de
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ASP Gauselmann GmbH
Original Assignee
ASP Gauselmann GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ASP Gauselmann GmbH filed Critical ASP Gauselmann GmbH
Priority to DE19934324795 priority Critical patent/DE4324795C2/de
Publication of DE4324795A1 publication Critical patent/DE4324795A1/de
Application granted granted Critical
Publication of DE4324795C2 publication Critical patent/DE4324795C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3241Security aspects of a gaming system, e.g. detecting cheating, device integrity, surveillance
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Slot Machines And Peripheral Devices (AREA)
  • Pinball Game Machines (AREA)

Description

Die Erfindung bezieht sich auf ein Verfahren zum Prüfen von Veränderungen von im Source-Code befindlichen Programmen gemäß dem Oberbegriff des Patentanspruchs 1.
Münzbetätigte Unterhaltungsautomaten haben zur Spielablauf­ steuerung eine Steuereinheit, die einen Mikroprozessor und einen Programmspeicher umfaßt (Automaten Markt 05/1977). Bei einer Inbetriebnahme des Unterhaltungsautomaten wird von der Steuereinheit geprüft, ob im Programmspeicher keine Veränderung vorliegt. Die Prüfung erfolgt durch Bildung einer Checksumme nach einem vorgegebenen Algorithmus, die mit einem vorgegebenen Wert verglichen wird. Bei einer Abweichung zwischen dem vor­ gegebenen Wert und der ermittelten Checksumme wird der Unterhaltungsautomat nicht mehr zur Annahme von Münzen bereit­ geschaltet. Bei der bekannten Prüfmethode lassen sich jedoch nur Unzulänglichkeiten im Betrieb des jeweiligen Speichers ermitteln, nicht jedoch unerlaubte Änderungen im Programm selb­ st, da von einem Manipulateur auch die vorgegebenen Werte der Checksumme mit verändert werden können.
Aus dem US-Patent 4,727,544 ist ein münzbetätigter Unterhal­ tungsautomat mit einer Speichermedium aufweisenden Steuerein­ heit bekannt. Seitens der Steuereinheit wird der Speicher bei erstmaliger Initialisierung mittels eines Checksummenprüf­ verfahrens überprüft. Nach erfolgreicher Überprüfung des Spei­ chers wird das Gerät in Betrieb genommen. Von Nachteil ist jedoch dabei, daß die Speicherüberprüfung mittels Checksummen­ verfahrens ausschließlich zur Überprüfung der Funktionsfähigkeit des Speichermediums als solches vor oder während einer Betriebnahme erfolgt.
Aufgabe der Erfindung ist es, zu erkennen, ob unerlaubte Ände­ rungen an einem Programm durchgeführt wurden.
Diese Aufgabe wird durch die kennzeichnenden Merkmale des Pa­ tentanspruchs 1 gelöst.
Weitere Merkmale zur Ausgestaltung der Erfindung sind den Un­ teransprüchen zu entnehmen.
Die erfindungsgemäße Steuereinheit weist den Vorteil auf, daß unerlaubte Manipulationen im Programm erkannt werden. Bei einer Programmänderung wird ein Zeitglied aktiviert, von dem dann die Motorsteuerung bei einem Unterhaltungsgerät derart beeinflußt wird, daß die Drehrichtung der Antriebsmotore sich umkehrt. Durch diese Maßnahme kann der Service-Techniker erkennen, daß eine Programm-Manipulation vorliegt. Durch ein zyklisches prü­ fen jeweils eines Teilbereichs des Datenspeichers kann von Manipulateuren der der Prüfung zugrunde liegende Algorithmus nur erschwert nachvollzogen werden. Erst nach Beendigung des Prüfprogramms über alle Teilbereiche wird die gebildete Check­ summe mit einer vorgegebenen Checksumme verglichen. Bei einer Abweichung wird nach Ablauf eines Zeitgliedes mit einem Anzeigemittel signalisiert, daß eine Veränderung vorliegt. Als Anzeigemittel können die Umlaufkörper des Unterhaltungsgerätes verwandt werden, deren Drehrichtung sich dann umkehrt.
Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt. Es zeigt:
Fig. 1 Baugruppen eines münzbetätigten Unterhaltungsgerätes, als Blockschaltbild ausgebildet und
Fig. 2 die Abfolge der Verfahrensschritte zur Checksummen­ bildung, als Ablaufdiagramm.
Ein in der Fig. 1 mit 1 bezeichnetes Blockschaltbild eines münzbetätigten Unterhaltungsgerätes mit Gewinnmöglichkeit umfaßt die zum Verständnis der Erfindung wesentlichen Bau­ gruppen. Das Unterhaltungsgerät 2 umfaßt eine Spieleinrichtung 3, bestehend aus einer umlaufkörperumfassenden Symbolspiel­ einrichtung und einer Risikospieleinrichtung, die durchscheinend beleuchtbare zu einem Ausspieltableau 4 zusammengefaßte Anzeigefenster umfaßt, eine Steuereinheit 5 mit einem Mikrocom­ puter 6, als Taster ausgebildete Bedienelemente 7, Sieben- Segmentanzeigeelemente 8 zur Darstellung der Guthabenstände eines Münzzählers 9 und weitere gewinnwertindividuelle Guthaben­ zähler. Die Symbolspieleinrichtung 3 besteht bevorzugt aus mehreren nebeneinander angeordneten scheiben- oder walzenförmi­ gen Umlaufkörpern 12. Den Umlaufkörpern 12 sind als Schritt­ schaltmotore ausgebildete Antriebsmotore zugeordnet. Zur Bestimmung und Überwachung der momentan eingenommenen Rastposi­ tionen des Umlaufkörpers 12 ist diesen eine Abtasteinrichtung 13 zugeordnet. Die Abtasteinrichtung 13 besteht aus einer auf der Antriebswelle des Antriebsmotors befindlichen Lochscheibe und einen aus einem Lichtsender und Lichtempfänger gebildeten Positionserkenner. Der zwischen Lichtsender und Lichtempfänger befindliche Strahlengang wird physikalisch durch eine Loch­ scheibe unterbrochen. Der Positionserkenner ist unter Vermitt­ lung einer Abtriebsmotorsteuerung 14 mit dem Mikrocomputer 6 verbunden.
Eine Spannungsversorgung des Unterhaltungsgerätes 2 erfolgt durch eine Versorgungseinheit 15. Von einem Netztrafo werden alle erforderlichen Spannungen abgeleitet, nachfolgend gleichge­ richtet und den verschiedenen Baugruppen des Unterhaltungs­ gerätes 2 zur Verfügung gestellt.
Den Gewinnanzeigeelementen des Ausspiel-Tableaus 4, die Bestandteil der Risiko-Spieleinrichtung sind, sind Lampen zugeordnet, die von der Steuereinheit 5 über eine Anzeigen­ steuerung 16 angesteuert werden. Die Anzeigesteuereinrichtung 16 umfaßt eine Mehrzahl von Transistoren und Thyristoren zum Betreiben der matrixförmig angeordneten Lampen und einen Lampenadreßdekoder. Dieser ermittelt aus der von der Steuer­ einheit 5 übermittelten Information die Adresse der zu bestro­ menden Lampe. Mit der entsprechenden Zeilen-Spaltenadresse ist der entsprechende Schalttransistor und Zeilentransistor ansteuerbar, sodaß die Lampe bestrombar ist.
Die Steuereinheit 5 umfaßt den Mikrocomputer 6 mit einer Ein- /Ausgabeeinheit 17, mit der der Datenaustausch zwischen dem Mikrocomputer 6 und der aus der Spieleinrichtung 3, Bedien­ elemente 7, Lampen der Anzeigefelder des Ausspieltableaus 4 sowie Sieben-Segmentanzeigen 8 gebildeten Peripherie erfolgt. Der Mikrocomputer 6 umfaßt einen Mikroprozessor 18, einen Festwertspeicher 19 und einen Betriebsdatenspeicher 20, einen Taktgeber 21 zur zeitlichen Steuerung und ein die Einheiten untereinander verbindendes Bus-System 22, bestehend aus einem Datenbus, Speicher-Adreßbus und Steuerbus. Der Mikrocomputer 6 umfaßt neben einem Rechen-, ein Steuerwerk 23, 24 sowie Akkumu­ latoren 25 zum momentanen Zwischenspeichern der im Rechenwerk 23 ermittelten Werte. In dem Festwertspeicher 19 sind die zum Betreiben des Unterhaltungsgerätes 2 erforderlichen Programme, wie Zufallszahlenprogramm, Umlaufkörpersteuerung, Prüfsummen­ programm und Gewinnerkennung mit Gewinnplan enthalten. In dem Betriebsdatenspeicher 20 werden die für jedes gemünzte Spiel vor dem in-Umlauf-setzen der Umlaufkörper 3 ermittelten Zufalls­ zahlen zwischengespeichert. In dem Betriebsdatenspeicher 20 werden in unterschiedlichen Adreßbereichen die kumulierten Werte der verschiedenen Gewinnart spezifischen Guthabenzähler, wie Münzguthabenstand 9, Serienspieler 10, Guthabensstand und Spieleinsatzpunkte 11, registriert.
In der Fig. 2 sind in einem Ablaufdiagramm 26 die einzelnen Phasen der Prüfsummenbildung für den Festwertspeicher 19 dargestellt. Nach einer Netzschaltung (Startblock 27) wird nachfolgend ein Zeitglied I 28 aktiviert. Alle 16 Millisekunden wird für 50-100 Mikrosekunden ein Prüfprogramm I (Opera­ tionsblock 29) gestartet. Das Prüfprogramm bildet eine Prüf- bzw. Checksumme von den im Speicherbereich befindlichen Daten. Von dem zu prüfenden Bereich sind die Adressbereiche des Fest­ wert-Speichers 19 ausgeklammert, in denen die Teil- bzw. Zwischenergebnisse des Prüfprogramms zwischengespeichert werden. Erreicht das Prüfprogramm I vorgegebene Sperrbereiche oder den Endbereich (Verzweigungsblock 30) so wird zum Zeitglied I zurückverzweigt. Nach dem der ganze Speicherbereich von dem Prüfprogramm I durch eine Vielzahl von Teilschritten und Teil­ ergebnissen überprüft wurde, stellt das letzte Teilergebnis zugleich das Endergebnis der Prüfsummenbildung dar. Diese ermittelte Prüfsumme wird mit einer in einem vorgegebenen Speicherbereich hinterlegten Prüfsumme verglichen (Verzwei­ gungsblock 31). Bei einer Prüfsummengleichheit (Verzweigungs­ block 29) wird zum Zeitglied I zurückgesetzt. Besteht eine Differenz zwischen der im Festwert-Speicher 19 hinterlegten Prüfsumme und der über Teilschritte ermittelten Prüfsumme wird nachfolgend ein Zeitglied III (Operationsblock 32) aktiviert. Nach dem Ablauf des Zeitglied III 32 wird von diesem unter Vermittlung einer Leistungsstufe eine Warnanzeige betätigt. Die Warnanzeige (Operationsblock 33) kann durch ein blinkendes Leuchtorgan aber auch durch eine Laufrichtungsänderung der Walzen der Spieleinrichtung 3 gebildet werden.
Da bei der Aktivität nur eines Prüfprogramms dieses leicht ermittelt und von einem Manipulateur ausgeschaltet werden könnte, wird parallel zu dem Prüfprogramm I bei Netzschaltung ein zweites Prüfprogramm II aktiviert. Der Verfahrensablauf entspricht dem in der Fig. 2. Der Unterschied zu dem in Fig. 2 dargestellten Verfahren besteht im wesentlichen in dem Zeitglied II, das anstelle des Zeitgliedes I verwendet wird. Dieses startet ein Prüfprogramm II alle 250 Millisek. für ca. 50 -100 Mikrosek. Von dem Prüfprogramm II wird ein anderer Algorithmus zur Prüfsummenbildung und Verschlüsselung verwendet als vom Prüfprogramm I.
Durch den Einsatz von 2 parallel arbeitenden Prüfprogrammen kann sicher gestellt werden, daß bei Ermittlung und Ausschaltung eines Prüfprogramms dies unmittelbar von dem zweiten Prüf­ programm erkannt wird und sodann dies mit der Warnanzeige angezeigt wird.

Claims (3)

1. Verfahren zum Prüfen von Veränderungen von im Source-Code befindlichen Programmen, die in einem programmierbaren Nur- Lesespeicher einer Steuereinheit eines münzbetätigten Automaten gespeichert sind, wobei aus dem Speicherbereich des Nur-Lese­ speichers Bereiche bekannter Größe ausgeblendet werden, und daß von den verbleibenden Bereichen eine Checksumme nach einem vorgegebenen Algorithmus gebildet wird, dadurch gekennzeichnet, daß die nicht ausgeblendeten Bereiche des Nur-Lesespeichers von mehr als einem Prüfprogramm überprüft werden, und daß die Prüf­ programme nach vorgegebenen unterschiedlichen Algorithmen ar­ beiten, und daß die Prüfprogramme die nicht ausgeblendeten Speicherbereiche des Nur-Lesespeichers jeweils nur in Teil­ bereichen überprüfen, und daß die Checksumme durch einen wei­ teren anderen Algorithmus verschlüsselt und in einem für die Checksummenbildung ausgeblendeten Bereich gespeichert wird, und daß bei einer Abweichung der ermittelten Checksumme von der vorgegebenen Checksumme ein Zeitglied aktiviert wird, und daß nach Ablauf des Zeitgliedes eine Einrichtung aktiviert wird, mit der die Veränderung der Checksumme dargestellt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß mindestens zwei Prüfprogramme mit verschiedenartigen Algo­ rithmen zyklisch in Teilbereiche eines zu prüfenden Bereichs des als Programmspeicher ausgebildeten Memory geprüft werden, und daß die Prüfergebnisse in Bereiche des Programmspeichers gespeichert werden, die von einer Prüfung ausgenommen sind.
3. Verfahren nach Anspruch 1 und/oder 2, dadurch gekennzeichnet, daß nach Ablauf des Zeitgliedes die als Spieleinrichtung ausge­ bildete Einrichtung aktiviert wird, und daß Umlaufkörper der Spieleinrichtung ihre Drehrichtung verändern.
DE19934324795 1993-07-23 1993-07-23 Verfahren zum Prüfen von Veränderungen von im Source-Code befindlichen Programmen Expired - Fee Related DE4324795C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19934324795 DE4324795C2 (de) 1993-07-23 1993-07-23 Verfahren zum Prüfen von Veränderungen von im Source-Code befindlichen Programmen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19934324795 DE4324795C2 (de) 1993-07-23 1993-07-23 Verfahren zum Prüfen von Veränderungen von im Source-Code befindlichen Programmen

Publications (2)

Publication Number Publication Date
DE4324795A1 DE4324795A1 (de) 1995-01-26
DE4324795C2 true DE4324795C2 (de) 2002-02-07

Family

ID=6493564

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19934324795 Expired - Fee Related DE4324795C2 (de) 1993-07-23 1993-07-23 Verfahren zum Prüfen von Veränderungen von im Source-Code befindlichen Programmen

Country Status (1)

Country Link
DE (1) DE4324795C2 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727544A (en) * 1986-06-05 1988-02-23 Bally Manufacturing Corporation Memory integrity checking system for a gaming device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727544A (en) * 1986-06-05 1988-02-23 Bally Manufacturing Corporation Memory integrity checking system for a gaming device

Also Published As

Publication number Publication date
DE4324795A1 (de) 1995-01-26

Similar Documents

Publication Publication Date Title
DE3917683C2 (de)
DE4434128C2 (de) Verfahren zum Betreiben eines Unterhaltungsautomaten mit einem Anzeigemittel zur Darstellung von Symbolen
EP1335334A2 (de) Verfahren zur Ermittlung eienr gewinnbringenden Symbolkombination an einem münzbetätigten Unterhaltungsautomaten
DE4010932C2 (de)
DE3917684C2 (de) Verfahren zum Betreiben eines münzbetätigten Unterhaltungsgerätes mit einer symboltragenden Umlaufkörper aufweisenden Symbol-Spieleinrichtung
DE4324795C2 (de) Verfahren zum Prüfen von Veränderungen von im Source-Code befindlichen Programmen
DE4238896A1 (de) Einrichtung zur Anzeige von Symbolkombinationen, denen ein Gewinn zugeordnet ist, bei einem münzbetätigten Unterhaltungsautomaten
DE4036728A1 (de) Verfahren zum zyklischen starten von ausspielungen zur gewinnwertverbesserung an einem muenzbetaetigten unterhaltungsgeraet
DE4128633C2 (de) Einrichtung zur Anzeige der Basiseinheit eines erzielten Gewinnwertes bei münzbetätigten Unterhaltungsautomaten
DE4028096C2 (de) Einrichtung zur Anzeige von Spielausgängen zurückliegender Spiele eines münzbetätigten Unterhaltungsgerätes
DE4135915C2 (de) Verfahren zum Einstellen von Nachstartpositionen stillgesetzter Umlaufkörper einer Symbol-Spieleinrichtung eines münzbetätigten Unterhaltungsautomaten
DE4209627C2 (de) Verfahren zum Betreiben eines münzbetätigten Unterhaltungsspielgerätes mit einer Spieleinrichtung
DE4201101C2 (de) Verfahren zur Ermittlung eines Gewinnwertes bei einer Symbolkombination, die mit einer Spieleinrichtung eines münzbetätigten Unterhaltungsautomaten dargestellt wird
DE19602259A1 (de) Münzbetätigter Unterhaltungsautomat mit einem symboldarstellenden Anzeigemittel
DE4215324C2 (de) Münzbetätigter Unterhaltungsautomat mit einer aus Umlaufkörpern gebildeten Spieleinrichtung, mit durchscheinend beleuchtbaren Anzeigeelementen
DE4027536C2 (de) Münzbetätigtes Unterhaltungsgerät mit einer symboletragenden Umlaufkörper aufweisenden Symbol-Spieleinrichtung
DE4311133A1 (de) Einrichtung zur Erfassung von Gewinnwerten an einem münzbetätigten Unterhaltungsautomaten
DE4309499C1 (de) Einrichtung zur Entleerung eines Münzbehälters eines münzbetätigten Unterhaltungsautomaten
DE4430857A1 (de) Verfahren zur Aufteilung eines erzielten Gewinns in Teilgewinne, die den Spieleinsatz in einer Risikospieleinrichtung bilden
DE4425731B4 (de) Verfahren zum Betreiben eines Unterhaltungsautomaten mit einer Spieleinrichtung
DE4107082C2 (de) Münzbetätigtes Unterhaltungsgerät mit einer Anzeige
DE19528377A1 (de) Verfahren zum Betreiben eines Unterhaltungsautomaten mit mehreren Spielstellen
DE4300932B4 (de) Verfahren zur Steuerung des Spielablaufs eines münzbetätigten Unterhaltungsgeräts
DE19826296A1 (de) Verfahren zur Bestimmung eines einer Symbolkombination zugeordneten Gewinnwerts an einem münzbetätigten Unterhaltungsautomaten
DE4338961B4 (de) Münzbetätigter Unterhaltungsspielautomat

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: ADP GAUSELMANN GMBH, 32339 ESPELKAMP, DE

8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee