lehrkraefte:blc:informatik:ffprg2-2018:ffprg2-2018

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
lehrkraefte:blc:informatik:ffprg2-2018:ffprg2-2018 [2019/01/11 16:49]
lukasz.szeliga [7-Segment-Anzeige-Demo]
lehrkraefte:blc:informatik:ffprg2-2018:ffprg2-2018 [2019/01/18 17:19]
Ivo Blöchliger [Busy Beaver]
Line 12: Line 12:
  
 ====== Assembler und Hacking (Stackoverflow) ====== ====== Assembler und Hacking (Stackoverflow) ======
 +Ein aktueller Hack vom letzten Chaos Computer Congress: https://www.jaybosamiya.com/blog/2019/01/02/krautflare/
 +
 +
   * https://fginfo.ksbg.ch/~ivo/assembler-simulator/   * https://fginfo.ksbg.ch/~ivo/assembler-simulator/
  
Line 46: Line 49:
 </code> </code>
  
-Der LOL-Dreizeiler +Der L0L-Dreizeiler 
-</code asm>+<code asm>
 MOV [253], 0111000b MOV [253], 0111000b
 MOV [254], 0111111b MOV [254], 0111111b
 MOV [255], 0111000b MOV [255], 0111000b
 +</code>
 +
 +
 +Manipulierte Rücksprungadresse
 +
 +<code asm>
 + mov A, 'A'   ; Schreibt 65 (ASCII A) ins Register A
 +start:
 + inc A          ; Erhöht den Inhalt vom Register A um 1
 + mov [232], A   ;Schreibt den Wert 65 'A' in die Zelle 232
 + call bla         ;Unterprogramm aufrufen (Adr. auf Stack)
 +ruecksprung:
 + hlt ;Halt
 +
 +
 +bla:
 + mov [253], A   ;Alle 7 Bits für 7-Segment-Anzeige
 + mov [SP+1], start    ; Rücksprungadresse überschreiben
 + ret                   ;Rücksprung auf nach call
 +</code>
 +
 +
 +Ausgabe des LOL-Codes:
 +<code asm>
 +
 +lol:
 +MOV [253], 0111000b
 +MOV [254], 0111111b
 +MOV [255], 0111000b
 +
 +fertig:
 + mov A, fertig
 + dec A
 + mov B, 252
 +loop:
 + mov C, [A]
 + mov [B], C
 + dec B
 + dec A
 + JNC loop
 + hlt
 +
 </code> </code>
 ===== Hackme Code ===== ===== Hackme Code =====
Line 83: Line 128:
 Schaffen Sie es, indem Sie nur die DB-Zeile anpassen (das wäre so quasi der User-Input), dass <nowiki>LOL</nowiki> auf der 7-Segment Anzeige erscheint?  Schaffen Sie es, indem Sie nur die DB-Zeile anpassen (das wäre so quasi der User-Input), dass <nowiki>LOL</nowiki> auf der 7-Segment Anzeige erscheint? 
  
 +<hidden Lösungsvorschlag>
 +Mit Rücksprung direkt in die DB-Konstante (Adresse 0x02)
 +<code asm>
 +DB "ý8þ?ÿ8+       Hello World!"
 +</code>
 +Oder mit Rücksprung in die kopierten Daten an der Adresse 0xdc:
 +<code asm>
 +DB "ý8þ?ÿ8+Ü       Hello World!"
 +</code>
 +
 +</hidden>
 +
 +
 +===== Busy Beaver =====
 +<code asm>
 +start:
 + MOV B, 255
 +
 +humpfdidumpf:
 + MOV A, [B]
 + INC A
 + MOV [B], A
 + JNC humpfdidumpf
 +while:
 + DEC B
 + CMP B, ende
 + JE ende
 + MOV A, [B]
 + INC A
 + MOV [B], A
 + JC while
 + JMP start
 +ende:
 + HLT
 +</code>
  
 ===== Roborobo-Fernbedienung / Ivobot ===== ===== Roborobo-Fernbedienung / Ivobot =====
  • lehrkraefte/blc/informatik/ffprg2-2018/ffprg2-2018.txt
  • Last modified: 2019/01/25 15:34
  • by Ivo Blöchliger