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:48]
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>+</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>
 ===== Hackme Code ===== ===== Hackme Code =====
 Studieren Sie folgenden Code: Studieren Sie folgenden 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.1547221727.txt.gz
  • Last modified: 2019/01/11 16:48
  • by lukasz.szeliga