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
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/25 15:34] (current)
Ivo Blöchliger [Assembler und Hacking (Stackoverflow)]
Line 11: Line 11:
   * Dokumentation: http://www.cplusplus.com/reference/   * Dokumentation: http://www.cplusplus.com/reference/
  
-====== Assembler und Hacking (Stackoverflow) ======+====== Hacking ====== 
 +===== XSS: Cross Site Scripting ===== 
 +https://glf.tech-lab.ch/techlab/hackme/index.php 
 + 
 +===== 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 53:
 </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 132:
 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.1547221758.txt.gz
  • Last modified: 2019/01/11 16:49
  • by lukasz.szeliga