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 ProgrammenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/3241—Security aspects of a gaming system, e.g. detecting cheating, device integrity, surveillance
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection 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.
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)
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 |
-
1993
- 1993-07-23 DE DE19934324795 patent/DE4324795C2/de not_active Expired - Fee Related
Patent Citations (1)
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 |