![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Wer noch zusaetzliche Suchbegriffe in die verschleierte Woertertablle aus dem Programmlisting http://ccintern.dharlos.de/forum/lesen.php?eintrag=17141 einfügen möchte, kann z.B. dieses Hilfsprogramm verwenden. Der Quelltext realisiert eine sogenannte Caesar-Verschluesselung mit der Besonderheit, dass bei erneuter Anwendung auf das Chiffrat, oder den Klartext jeweils wieder der Klartext vorliegt, bzw. aber das Chiffrat, wenn als Zeichenvorrat die 26 Buchstaben des Alphabets verwendet werden. Das Verfahren ist auch als ROT13-Verschiebung bekannt. Hier z.B. kann man mehr darüber lesen: https://wiki.opencaching.de/index.php/Caesar-Verschl%C3%BCsselung ' =========================================================================== ' Tool zum Demoprogramm Woerterraten (Hangman, Galgenmaennchen) auf Open-Maxi. ' Verschleiert die zu erratenden Woerter im Quelltext (ROT13). Ausgabe mittels ' Terminalprogamm kopieren, und in den Quelltext des Hauptprogramms einfuegen. ' In OCBASIC 1.11a ergaenzt fuer Open-Maxi von "das |_ Team" am 20. Oktober 2020 ' =========================================================================== ' ROT13: z.B. https://wiki.opencaching.de/index.php/Caesar-Verschl%C3%BCsselung ' --- Definitionen ---------------------------------------------------------- INCLUDE "omax.def" 'Definitionen fuer die Open-Maxi DEFINE string &h2aa 'Buffer an 1. Adresse hinter dem USER-RAM DEFINE REQUESTNEWLINE 40 'Neue Tabellenzeile fruehestens nach 40 Buchstaben DIM w, buchstabe WORD '+:"buchstabe" DIM c,lens,anzb,wort_in_tabelle, rot13, column BYTE ' --- Hauptprogramm --------------------------------------------------------- PRINT "*** Majuskeltabellen verschleiern mit Open-Maxi ('ROT13', 'Caesar-Chiffre') ***" PRINT "Bitte nachfolgende Tabelle kopieren, und in das Hauptprogamm einfuegen." PrintSpc=ON 'Bei PRINT dezimale Zahlen mit fuehrendem Leerzeichen ausgeben End2Host=ON 'Bei Programmende (siehe END) gleich in den Host-Modus wechseln ?:? "TABLE woerter_rot13 BYTE 'erzeugt mittels OCBASIC-Programm 'OMJROT13.BAS'" FOR wort_in_tabelle=0 to 143'+:"143"(war: "130") PUT 34 PRINT_ROT13(wort_in_tabelle) ' PUT 34 'PRINT ",0,"; NEXT wort_in_tabelle PRINT "0" PRINT "END TABLE" END 'Zurueck in den Hostmodus. Neustart mit RETURN-Taste. PROCEDURE PRINT_ROT13(c) '|_ Abwandlung von Procedure 'gets(c)' aus dem Hauptprogramm Woerter raten. w=0 WHILE c 'String in Tabelle suchen WHILE LOOKTABBYTE(woerter_rot13,w) ' WHILE LOOKTABBYTE(woerter,w) 'Zeile 49 ADD w,1 WEND ADD w,1 SUB c,1 WEND lens=0 'String Zeichen fuer Zeichen auf RS232: WHILE LOOKTABBYTE(woerter_rot13,w) ' WHILE LOOKTABBYTE(woerter_rot13,w) 'Zeile 57 'Schritt-fuer-Schritt erklaert: buchstabe=LOOKTABBYTE(woerter_rot13,w) ' buchstabe=LOOKTABBYTE(woerter,w) 'Zeile 59 IF buchstabe < 65 OR buchstabe > 90 THEN PUT buchstabe ELSE buchstabe=buchstabe-64 ' "A","B",..,"Z" codiert als Position im Alphabet:(1,2,..,26) buchstabe=buchstabe + 13 : IF buchstabe > 26 THEN buchstabe = (buchstabe MOD 26) buchstabe=buchstabe+64 ' "A","B",..,"Z" codiert als ASCII-Codes: (65,66,..,90) put buchstabe END IF ADD column,1 '+ ADD w,1 ADD lens,1 WEND PUT 34 IF column > REQUESTNEWLINE THEN 'Naechstes Wort in neue Tabellenzeile schreiben PRINT ",0" 'Dies ist jedoch kein echter Wortumbruch column=0 ELSE ' PUT 34 PRINT ",0,"; END IF RETURN END PROCEDURE ' --- Tabellen -------------------------------------------------------------- ' Die Woerterliste stammt von http://fx-850p.dharlos.de/GAMES.LST TABLE woerter BYTE "BRUTTOSOZIALPRODUKT",0,"BART SIMPSON",0,"WOERTER RATEN",0 '(Tabelle gekuerzt) 0 END TABLE ' Die Woerterliste stammt von http://fx-850p.dharlos.de/GAMES.LST, und wurde mit dem hier ' vorliegenden Programm (OMJROT13.BAS) einer ROT13, bzw. Caesar-Chiffre mit 13 unterzogen. TABLE woerter_rot13 BYTE 'erzeugt mittels OCBASIC-Programm 'OMJROT13.BAS' "OEHGGBFBMVNYCEBQHXG",0,"ONEG FVZCFBA",0,"JBREGRE ENGRA",0 "YHPXL YHXR",0,"QNTBOREG QHPX",0,"NFGREVK HAQ BORYVK",0 "GNFGNGHE",0,"GNFPURAYNZCR",0,"JBREGREOHPU",0,"ZVXEBNZCRER",0 "CUNFRAIREFPUVROHAT",0,"ORQVRAHATFNAYRVGHAT",0,"SERDHRAMNRAQREHAT",0 "IBTRYTRMJVGFPURE",0,"QVFXRGGR",0,"ERPUGFPUERVOERSBEZ",0 "REARFG URZVATJNL",0,"QRZBAFGENGVBA",0,"PUNZCNTARE",0,"PUNEYVR PUNCYVA",0 "ORIBRYXREHATFRAGJVPXYHAT",0,"ORJNRUEHATFURYSRE",0 "OVOREENGGR",0,"ORHGRYFCEVATZNHF",0,"REQBRYENSSVAREVR",0 "NEORVGARUZRE",0,"ARNAQREGUNYRE",0,"NZNMBANF",0,"FHRQJRFGNSEVXN",0 "NGYNAGVFPURE BMRNA",0,"LBXBUNZN",0,"ARHFPUBGGYNAQ",0,"RY FNYINQBE",0 "GEBCVFPURE ERTRAJNYQ",0,"OREAFGRVAMVZZRE",0,"NETYVFGVTR GNRHFPUHAT",0 "YBHVF NEZFGEBAT",0,"NEFRAIRETVSGHAT",0,"NEGVXHYNGVBA",0 "NEGVFPUBPXR",0,"NGBZFCREEIREGENT",0,"NGZBFCUNRER",0,"ONUAUBSFZVFFVBA",0 "ONAXORNZGRE",0,"ONANARAFGRPXRE",0,"ONEPRYBAN",0,"ONEBZRGRE",0 "ONHTRABFFRAFPUNSG",0,"ENQVB URESBEQ",0,"ORYNTREHATFMHFGNAQ",0 "ORATNYVFPURF SRHRE",0,"ORENGHATFFGRYYR",0,"ORARYHKFGNNGRA",0 "OREZHQNQERVRPX",0,"XHESHREFGRAQNZZ",0,"XBATERFFUNYYR",0 "OVOYVBTENCUVR",0,"OYHSS",0,"OYVAQRAFPUEVSG",0,"FPUZRGGREYVATR",0 "OYHGRTRY",0,"XERQVGVAFGVGHG",0,"OBBTVR JBBTVR",0,"QRHGFPUR CERFFRNTRAGHE",0 "QRMRAGENYVFNGVBA",0,"QVNRGRAREUBRUHAT",0,"QVSSRERAGVNYERPUAHAT",0 "VAGRTENYERPUAHAT",0,"QVABFNHEVRE",0,"QBCCYRERSSRXG",0,"QENVFVAR",0 "QERVFFVTWNRUEVTRE XEVRT",0,"QERFPUZNFPUVAR",0,"QEHPXOHPUFGNOR",0 "TYRVPUFRVGVTRF QERVRPX",0,"QHQRYFNPXCSRVSRE",0,"QHNYFLFGRZ",0 "QHZCVAT",0,"ORETXEVFGNYY",0,"CLEVG",0,"FPUJRSRYFNRHER",0,"DHVAGRGG",0 "XABYYRAOYNRGGRECVYM",0,"CSVSSREYVAT",0,"PUNZCVTABA",0,"GNTCSNHRANHTR",0 "FPUJNYORAFPUJNAM",0,"NQZVENY",0,"FGRVAOHGG",0,"EBGONEFPU",0 "EBGXRUYPURA",0,"JRVFFR ONPUFGRYMR",0,"OHPUSVAX",0,"FPUJNEMRE YRBCNEQ",0 "ANFRAONRE",0,"MVORGXNGMR",0,"JNFPUONRE",0,"BOREXVRSREUBRUYR",0 "ZVPXL ZNHF",0,"TBBSL",0,"YHSGEBRUER",0,"UVEANAUNATQEHRFR",0 "ERANVFFNAPR",0,"EBZ",0,"CNOYB CVPNFFB",0,"NYVPR VZ JHAQREYNAQ",0 "IBEQREENQSRQREHAT",0,"XHCCYHATFCRQNY",0,"OEHGGBERTVFGREGBAARA",0 "XBZZNAQBOEHRPXR",0,"ZNFPUVARAENHZ",0,"BOREIBYGN",0,"IRERVAGR ANGVBARA",0 "RYSRAORVAXHRFGR",0,"FVREEN YRBAR",0,"ZNHEVGVHF",0,"FGNYVATENQ",0 "FGERCGBXBXXRA",0,"FPUNHSRYENQQNZCSRE",0,"MVTNERGGR",0,"FGRVAXBUYRASBREQREHAT",0 "FGVAXZBEPURY",0,"SVANAMIREJNYGHAT",0,"FGVRSZHRGGREPURA",0 "FGVYYRORA",0,"FGVZZTNORY",0,"NYOREG RVAFGRVA",0,"FGLK",0,"FHOFGVGHGVBA",0 "FHRQNSEVXN",0,"FGHQRAG",0,"BCRA-ZVPEB",0,"BCRA-ZVAV",0,"BCRA-ZNPEB",0 "BCRA-ZNKV",0,"BCRA-PBAGEBY",0,"QBANH-QNZCSFPUVSSSNUEGFTRFRYYFPUNSG",0 "ERANGHEVREHATFZNFFANUZR",0,"XENSGSNUEMRHT-UNSGCSYVPUGIREFVPUREHAT",0 "FGENFFRAIREXRUEF-MHYNFFHATF-BEQAHAT",0,"YNOBEARGMTRENRG",0 "OEBGXNFGRA",0,"PBZZBQBER",0,"SVANAMQVRAFGYRVFGHATFHAGREARUZRAFOEBFPUHRERAIBEFGRYYHATFSNPUXENRSGRIREFNZZYHAT",0 0 END TABLE ' --- Programmende ---------------------------------------------------------- Meine Homepage: http://visit.ghn-sensorik.de/L-Team/Lvm/ |
Antwort schreiben |