Software Reverse Engineering. Jacco Krijnen
|
|
- Bertha ten Hart
- 8 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Software Reverse Engineering Jacco Krijnen
2
3 Opbouw Inleiding en definitie Techniek Assemblers/Disassemblers Compilers/Decompilers Toepassingen Security Overige Softwarebeveiliging Piracy Anti RE technieken
4 Definities Reverse Engineering is the process of extracting the knowledge or design blueprints from anything man-made. Software Reverse Engineering
5 Clean room design IBM, 1981 Populaire pc s Nog weinig standaarden op het gebied van hardware Columbia Data Products, 1982 Maakte eerste IBM compatible IBM s BIOS reverse engineered Clean room design
6 Clean room design Team 1 bestudeert originele software (RE) stelt specificaties op Team 2 Implementeert de specificatie van team 1 Het principe is gebaseerd op het feit dat team 2 geen kennis heeft van de code. Effectief tegen copyright bescherming, niet tegen patent
7 Clean room design BIOS Huidige software Reverse engineeren van compleet software pakket vaak niet zinvol (te veel moeite) Soms wel bepaalde onderdelen.doc formaat in openoffice/libreoffice
8 Techniek
9 Abstractieniveaus programmeertalen C#/Python/Haskell C, Fortran, COBOL Assembly Machinecode High level (hoge mate van abstractie) Low level (lage mate van abstractie)
10 Abstractielagen in programmeertalen Compiler High level (hoge mate van abstractie) Low level (lage mate van abstractie)
11 Abstractielagen in programmeertalen High level (hoge mate van abstractie) Decompiler (!?) Low level (lage mate van abstractie)
12 Compiler Commentaar en documentatie worden verwijderd Optimalisaties (programmatransformaties) Machinecode kent geen identifiers (variabelenamen, functienamen) en geen typesysteem Compiling is Lossy Many to many Compleet herstel van sourcecode bijna altijd onmogelijk
13 Machine Language Machine language instructionset: een verzameling opcodes van b bytes architectuur specifiek Intel x ( ) (Pop 32 bits van de stack)
14 Hexeditors
15 Assemblers/Disassemblers Assembly language Verzameling mnemoics die 1 op 1 corresponderen met een specifieke machinetaal Intel x86 xor ( ) pop (Pop 32 bits van de stack) Assembler: Assembly Machinecode Disassembler: Machinecode Assembly Wat is code, wat is data?
16 Decompiler Disassembler helpt, maar assembly is nog zeer low-level Een decompiler bestaat net als compiler uit aantal vaste stappen Parser/Loader Disassembler Disassembly naar Intermediate Representation Program analysis Code generation
17 Decompiler Programma-analyse mov eax,[ebx+0x04] add eax,[ebx+0x08] sub [ebx+0x0c],eax eax = m[ebx+0x04]; eax += m[ebx+0x08]; m[ebx+0x0c] -= eax; eax = m[ebx+0x04] + m[ebx+0x08]; m[ebx+0x0c] -= eax; m[ebx+0x0c] -= m[ebx+0x04] + m[ebx+0x08]; x.a -= x.b + x.c; Voorbeeld naar
18 Decompiler Control flow jmp naar functieaanroep, while of for. Type analyse Primitieve types af te leiden uit opcodes Structs af te leiden uit memory gebruik
19 Decompiler Aantal C decompilers bekend Java en C# (.NET) Java Bytecode/MSIL
20 Toepassingen
21 Toepassingen Malware detectie en analyse Software lekken Cryptografie (Software engineering)
22 Malicious software Static/dynamic analysis Bescherming Static: Code obfuscation, watermarking Dynamic: Packing, antidebugger
23 Malicious software en lekken Malware wil Verspreiden Infecteren Java (april 2013)
24 RE in Cryptografie Kerckhoffs principe Hoe te kraken? Reverse engineering! Maak een lijst met magic constants AES: segment van de S-Box Doorzoek machinecode met hexeditor, of debugger (IDA pro)
25 RE in Cryptografie Implementatiefouten Cisco IOS (2013) MS Windows 2000 PRNG (2007) Plaintext wordt niet verwijderd na encryptie Wachtwoord blijft in geheugen UI Gebruik bekende implementaties! tick-figure-guide-to-advanced.html
26 Softwarebeveiliging
27 Piracy Digitale content is heel makkelijk te verplaatsen dupliceren Software piracy het onbevoegd gebruik maken, kopieren of verkopen van software
28 Serial numbers Komen samen met de software geleverd Worden gevalideerd met geheim algoritme Problemen Keys kunnen gedeeld worden Reverse engineering keygenerators Starcraft 1 Checksum algoritme
29 Packing (malware) Packing is het versleutelen of comprimeren van een groot gedeelte van de machinecode. Voornamelijk bij malware Hindert statische analyse Wat te doen met de key?
30 Anti debugger (malware) Detecteer dat een debugger attached is IsDebuggerPresent Windows API Code checksums Sterke combinatie met packing Eventueel false positives
31 Code obfuscation Obfuscator past code aan zodat Transparant voor de processor Onleesbaar voor reverse engineer Resilient Potency
32 Code obfuscation Een opaque predicate is een boolean expressie die runtime moet worden geevalueerd, maar reduceert tot een constante waarde Bekend bij de programmeur // nuttige code if(x + 1 == x + 2 1) { // nuttige code } else { // junk code }
33 Jump table spoofing Een jump table is een array met pointers naar mogelijke vervolg executiepaden low level implementatie van branching (if-then-else, switch) Aanpak Neem het adres van een normale jmp (bv een functieaanroep) Stel een tabel op met spookadressen samen met het echte adres Gebruik een opaque expression die evalueert naar de juiste index van de tabel
34 Jump table spoofing initializeimportant(); jmp 0x A edx ebx 0x x x mov eax, opaqueexpr jmp [ebx + eax] 0x A 0x x
35 Tot slot Reversing: Secrets of Reverse Engineering
Module 4 Hoofdstuk 1. Programmeertalen
Module 4 Hoofdstuk 1 Programmeertalen Programmeertalen Een programmeertaal is een taal waarin de opdrachten worden geschreven die een computer moet uitvoeren Reeksen van die opdrachten of instructies vormen
Nadere informatieLinux Assembly Uitwerkingen van de vragen en opdrachten
Linux Assembly Uitwerkingen van de vragen en opdrachten The choice of a GNU generation Hoofdstuk 3 1. (a) Een system call is een functie geleverd door de kernel (het operating system, een interface tussen
Nadere informatieEen.NET-besturingssysteemtoolkit. Discovering Cosmos. Sijmen J. Mulder
Een.NET-besturingssysteemtoolkit Discovering Cosmos Sijmen J. Mulder Agenda Boek 1 Cosmos: a very short introduction Boek 2 Modern Operating Systems Pauze Boek 3 The Design and Implementation of the Cosmos
Nadere informatieComputerarchitectuur en netwerken. Memory management Assembler programmering
Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 10 september 2018 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management
Nadere informatieVan Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam
Van Poort tot Pipeline Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Pipeline processor One cycle machine Calculator File of registers Assembly
Nadere informatieJava virtuele machine JVM
Implementatie Java Java virtuele machine JVM Java programma vertaald naar byte code instructies Byte code instructies uitgevoerd door JVM JVM is processor architectuur kan in principe in hardware worden
Nadere informatieZelftest Inleiding Programmeren
Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze
Nadere informatieComputerarchitectuur en netwerken. Memory management Assembler programmering
Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 12 september 2016 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management
Nadere informatieAlgoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.
Programmeertalen Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal. Taal // machine De geschiedenis van de programmeertalen loopt parallel met de geschiedenis
Nadere informatieHoe werkt een rekenmachine?
Hoe werkt een rekenmachine? Uit welke hardware-componenten bestaat een rekenmachine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachine I Constante getallen Instructies van het type
Nadere informatieGeheugen en Adressering. Binding. Binding (2) Logische en Fysieke adresruimten. relocatie register. Dynamic loading
Geheugen en Adressering Binding Geheugen (main memory, primary storage) is noodzakelijk voor de uitvoering van programma's. te beschouwen als array van adresseerbare bytes (of woorden). verschillende processen
Nadere informatieAssembly en Assemblers. Processoren 5 januari 2015
Assembly en Assemblers Processoren 5 januari 2015 Doel van vandaag Ik heb al losse eindjes over assembly verteld en een voorbeeldprogramma doorlopen. vandaag: algemeen + systematisch overzicht Programmeertalen
Nadere informatieTCP-IP message van partner PLC naar Alarmsysteem met als inhoud alarmen en analoge waarden in Format code 01.
TCP-IP message van partner PLC naar Alarmsysteem met als inhoud alarmen en analoge waarden in Format code 01. De TCP-IP buffer is een byte-array van 1000 byte lang. byte Omschrijving voorbeeld 0 TCP/IP
Nadere informatieAlgoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.
Programmeertalen Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal. Taal // machine De geschiedenis van de programmeertalen loopt parallel met de geschiedenis
Nadere informatieEen overzicht van het.net platform
Een overzicht van het.net platform Microsofts visie op Internet Danny Greefhorst Microsoft geeft met het.net platform zijn visie op het Internet en is daarmee een regelrechte concurrent van Java gerelateerde
Nadere informatie1 Inleiding in Functioneel Programmeren
1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp
Nadere informatieInleiding Visual Basic en VBA. Karel Nijs 2009/01
Inleiding Visual Basic en VBA Karel Nijs 2009/01 Leswijze Eerst wat theorie Begeleid met (korte) oefeningen Ms Excel 2003 Online hulp: http://www.ozgrid.com/vba/ http://msdn.microsoft.com/en-us/library/sh9ywfdk(vs.80).aspx
Nadere informatie4Passief: n Afluisteren. n Geen gegevens gewijzigd of vernietigd. n Via de routers van WAN. n Via draadloze verbindingen. 4Fysieke afsluiting
Telematica Hoofdstuk 20 4Passief: n Afluisteren Bedreigingen n Alleen gegevens (inclusief passwords) opgenomen n Geen gegevens gewijzigd of vernietigd n Op LAN kan elk station alle boodschappen ontvangen
Nadere informatieSTUDIEWIJZER PRACTICAL REVERSE ENGINEERING AND MALWARE ANALYSIS BACHELOR IN DE TOEGEPASTE INFORM ATICA SEMESTER 4 ACADEMIEJAAR
Practical Reverse Engineering and Malware Analysis BACHELOR IN DE TOEGEPASTE INFORM ATICA SEMESTER 4 ACADEMIEJAAR 2016-2017 LECTOREN PARCIFAL AERTSSEN EN TIJL DENEUT STUDIEWIJZER PRACTICAL REVERSE ENGINEERING
Nadere informatie1.Noem de vijf categorieën waarin programmeertalen kunnen worden ingedeeld en geef van elke categorie één voorbeeld.
Module 4 programmeren 1.Noem de vijf categorieën waarin programmeertalen kunnen worden ingedeeld en geef van elke categorie één voorbeeld. Machinecode Assembleertalen: assembly Hogere programmeertalen:
Nadere informatieGeheugenbeheer. ICT Infrastructuren 2 december 2013
Geheugenbeheer ICT Infrastructuren 2 december 2013 Doelen van geheugenbeheer Reloca>e (flexibel gebruik van geheugen) Bescherming Gedeeld/gemeenschappelijk geheugen Logische indeling van procesonderdelen
Nadere informatieLes 11: systeemarchitectuur virtuele machines
Les 11: systeemarchitectuur virtuele machines Geavanceerde computerarchitectuur Lieven Eeckhout Academiejaar 2008-2009 Universiteit Gent Virtuele machines Motivatie Interfaces Virtualisatie: inleiding
Nadere informatieCursus Programmeren en Dataverwerking.
Cursus Programmeren en Dataverwerking http://hay.github.io/codecourse Vanavond (18.00-21.30) Introductierondje Algemene introductie (60-90m) Iets over bits en bytes Iets over programmeurs en programmeertalen
Nadere informatieDe CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012
De CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012 Tanenbaum hoofdstuk 2 von Neumann - architectuur. Tanenbaum, Structured Computer Organiza4on, FiMh Edi4on, 2006 Pearson Educa4on,
Nadere informatieAANVALLEN OP WES3 + LEN SPEK & HIDDE WIERINGA
AANVALLEN OP WES3 + LEN SPEK & HIDDE WIERINGA Inleiding De uitdagende opdracht van het vak Algebra & Security luidde als volgt: Vind de sleutel die is gebruikt bij het encrypten van de gegeven plain-cyphertext
Nadere informatieSmartphones onder vuur
Smartphones onder vuur Dominick Bertens Account Manager NAVO & NL Agenda Sectra Communications Bedreigingen Bring Your Own Device Panthon 3 Samenvatting Security Masterclass Vragen Sectra Communications
Nadere informatieslides6.pdf 16 nov
Inhoud Inleiding Algemeen 5 Waarom programmeertalen? Geschiedenis Abstractiemechanismen Programmeertalen Piet van Oostrum 16 november 2001 INL/Alg-5 1 X INL/Alg-5 1 X Machinecode Voor- en nadelen assemblercode
Nadere informatieHoofdstuk 3: Processen: Beschrijving en Besturing. Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces?
Hoofdstuk 3: Processen: Beschrijving en Besturing Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces? 1 Wat is een proces? Een proces is een programma in uitvoering
Nadere informatieDe standaard programmeertaal
C De standaard programmeertaal Oorsprong CPL stond voor Combined Programming Language of Cambridge Programming Language. Ze stamt uit 1963, maar de eerste compiler arriveerde pas rond 1970. De taal was
Nadere informatieSamenvatting Computer Architectuur 2006-2007
Controletransferinstructies = Instructies die verandering brengen in de zuiver sequentiële uitvoering van de instructies. Ze doen dit door de instructiewijzer een andere waarde te geven. Ze kunnen met
Nadere informatievon-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014
von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014 Herhaling: Booleaanse algebra (B = {0,1},., +, ) Elke Booleaanse functie f: B n B m kan met., +, geschreven worden Met Gates (electronische
Nadere informatieZelftest Informatica-terminologie
Zelftest Informatica-terminologie Document: n0947test.fm 01/07/2015 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE Deze test is een zelf-test, waarmee u
Nadere informatieCOMP 4580 Computer Security
COMP 4580 Computer Security Software Security I Dr. Noman Mohammed Winter 2019 Including slides from: David Brumley & others! Software Security Software Lifecycle Requirements Design Implementation Testing
Nadere informatieOntwerp van Informatiesystemen
1ste bach HIB Ontwerp van Informatiesystemen Prof. Verelst Q www.quickprinter.be uickprinter Koningstraat 13 2000 Antwerpen 112 2,50 Online samenvattingen kopen via www.quickprintershop.be Table of Contents
Nadere informatieInhoudsopgave. Optimalisatie van de mmips. Forwarding optie 1. Design flow. implementation
2 Inhoudsopgave Optimalisatie van de mmips pc Sander Stuijk Veel gestelde vragen Hoe moet ik forwarding implementeren? Hoe moet ik clipping implementeren? Waarom is mijn simulatie zo traag? Hoe kan ik
Nadere informatieHoofdstuk 7. Computerarchitectuur
Hoofdstuk 7 Computerarchitectuur 1 controlebus CPU MEMORY I/O databus adresbus Figuur 71 Schematische opbouw van een computersysteem 8 Figuur 72 Een busverbinding Buslijn Out E A In Out E B In Out E C
Nadere informatieHoe werkt een computer precies?
Hoe werkt een computer precies? Met steun van stichting Edict Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Overview Introductie SIM-PL Simulatietool voor werking computer
Nadere informatieVirtueel Geheugen en demand paging (1)
Virtueel Geheugen en demand paging (1) Programma's zijn vaak niet in hun geheel in het geheugen nodig, vanwege: zelden gebruikte onderdelen groter gedeclareerde arrays dan nodig als programma helemaal
Nadere informatieComputerarchitectuur. H&P Appendix A: Instruction Set Principles
Computerarchitectuur H&P Appendix A: Instruction Set Principles Kristian Rietveld http://ca.liacs.nl/ Instruction Sets Een processor moet precies worden verteld wat deze moet doen. Dit staat opgeschreven
Nadere informatieDeel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,
Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt
Nadere informatieComputerarchitectuur. H&P Appendix A: Instruction Set Principles
Computerarchitectuur H&P Appendix A: Instruction Set Principles Kristian Rietveld http://ca.liacs.nl/ Instruction Sets Een processor moet precies worden verteld wat deze moet doen. Dit staat opgeschreven
Nadere informatieIN1805 I Operating System Concepten
IN1805 I Operating System Concepten Hoofdstuk 8: Main memory 6-1 Geheugen en Adressering Geheugen (main memory, primary storage) is noodzakelijk voor de uitvoering van programma's. te beschouwen als array
Nadere informatieVakgroep CW KAHO Sint-Lieven
Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be
Nadere informatieinformatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo)
informatica hardware overzicht moederbord CPU RAM GPU architectuur (vwo) 1 moederbord basis van de computer componenten & aansluitingen chipset Northbridge (snel) Southbridge ("traag") bussen FSB/HTB moederbord
Nadere informatieBeter, Sneller, Mooier. Processoren 12 januari 2015
Beter, Sneller, Mooier Processoren 12 januari 2015 Beter! Sneller! Krachtigere CPU: maak instructies die meer doen Snellere CPU: pipeline, out-of-order execution Sneller RAM: cache meer mogelijkheden...
Nadere informatieHet besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware.
Het besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware. Het vormt een schil tussen de applicatiesoftware en de hardware
Nadere informatieComputerarchitectuur. Terugblik / discussie / oefenopgaven
Computerarchitectuur Terugblik / discussie / oefenopgaven Kristian Rietveld http://ca.liacs.nl/ Trends & Performance Voorkennis We bouwden een 4-bit microprocessor bij Digitale Technieken. Bij computerarchitectuur
Nadere informatieFrom High-Level Language to language of the hardware
Overzichtscollege 1 Abstractieniveaus Een computersysteem bestaat uit een hiërarchie van lagen Elke laag heeft een goed gedefinieerde interface naar de bovenliggende en onderliggende lagen Essentieel bij
Nadere informatieJava. Basissyllabus. Egon Pas
Java Basissyllabus Egon Pas 2011 BeanPole bvba Gasmeterlaan 92-9000 Gent BTW BE 472.902.516 Tel: + 32 9 224 42 17 Fax: + 32 9 223 62 88 www.beanpole.be info@beanpole.be 1 Programmeren 1.1 Hoe werkt een
Nadere informatiePerceptive Process. Release Notes. Version: 3.5.x
Perceptive Process Release Notes Version: 3.5.x Written by: Product Knowledge, R&D Date: December 2015 2015 Lexmark International Technology, S.A. All rights reserved. Lexmark is a trademark of Lexmark
Nadere informatiecomputerarchitectuur antwoorden
2017 computerarchitectuur antwoorden F. Vonk versie 1 2-8-2017 inhoudsopgave hardware... - 3 - CPU... - 3 - bussen... - 4 - bridges... - 4 - RAM... - 4 - hardware architectuur... - 5 - Dit werk is gelicenseerd
Nadere informatieDebugging in embedded en native systemen met GDB
Debugging in embedded en native systemen met GDB A.M. ten Doesschate July 15, 2015 Abstract Een korte beschrijving : intro gebruik met welke tools en hulpmiddelen van de GDB setup en een summier aantal
Nadere informatie4EE11 Project Programmeren voor W. College 1, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e
4EE11 Project Programmeren voor W College 1, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Betrokkenen Circa 100 deelnemers (W, 3e-jaars) Joris Remmers (W) Patrick Anderson
Nadere informatie9 Meer over datatypen
9 Meer over datatypen We hebben al gezien dat het gebruik van symbolische constanten de leesbaarheid van een programma kan verbeteren. Door een geschikte naam (identifier) voor een constante te definiëren,
Nadere informatie17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies
17 Operaties op bits In hoofdstuk 1 is gezegd dat C oorspronkelijk bedoeld was als systeemprogrammeertaal om het besturingssysteem UNIX te implementeren. Bij dit soort toepassingen komt het voor dat afzonderlijke
Nadere informatieComputerarchitectuur en Netwerken. Computerarchitectuur
Computerarchitectuur en Netwerken 1 Computerarchitectuur Lennart Herlaar 2 september 2015 Opbouw van het vak Eerst (6 keer) over de opbouw van computer en operating system Collegedictaat Systeemarchitectuur
Nadere informatieBuildingOn WebOTP. www.buildingon.com
BuildingOn WebOTP Nieuw USB token voor sterke web authenticatie www.buildingon.com Wat is WebOTP WebOTP is een complete innovatie op het gebied van web authenticatie. De belangrijkste eigenschap van deze
Nadere informatieMicrocontrollers Introductie INLMIC Jesse op den Brouw INLMIC/2014-2015
Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/2014-2015 Microcontroller Uit Wikipedia A microcontroller (sometimes abbreviated µc or uc) is a small computer on a single integrated circuit
Nadere informatieCorrespondentie inzake overnemen of reproductie kunt u richten aan:
Java 8 Beginners Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten
Nadere informatieHigh Performance Computing
High Performance Computing Kristian Rietveld (krietvel@liacs.nl, kamer 138) Groep Computer Systems - Embedded systems - Specifieke software mappen op specfieke hardware. - Hardware synthesis. - Real-time
Nadere informatieTentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft
I ' Tentamen Objectgeorienteerd Programmeren TI 1200 1 februari 2012 9.00-12.00 Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit
Nadere informatieDatastructuren en algoritmen
Datastructuren en algoritmen Doelstelling Datastructures + algorithms = programs Boek van Niklaus Wirth: bedenker Pascal en Modula Datastructuur: structuur om informatie op te slaan Algoritme: voorschrift
Nadere informatieGo: een snelle introductie
Go: een snelle introductie Auteur: Daniël Heres Datum: Januari 2010 3,2,1 Go! "Weer een nieuwe taal". De keuze in programmeertalen is groot en de gelijkenis vaak ook. Toch is er een ding dat vaak overeind
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 december 2013 Terugblik Fibonacci public class Fibonacci { public static void main(string[] args) { // Print het vijfde Fibonaccigetal System.out.println(fib(5));
Nadere informatieCompilers (2IC25) docent: G. Zwaan, HG 5.41, tel. ( )4291, webpagina:
Compilers (2IC25) docent: G. Zwaan, HG 5.41, tel. (040 247)4291, e-mail: G.Zwaan@tue.nl webpagina: http://www.win.tue.nl/~wsinswan/compilers/ compileren compilatie vertalen (een werk) bijeenbrengen door
Nadere informatieCorrespondentie inzake overnemen of reproductie kunt u richten aan:
Java 8 Beginners Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten
Nadere informatieAssemblers. TU-Delft. in101/99-pds 1
Assemblers in101/99-pds 1 Goals l Assembler is a symbolic notation for machine language l It improves readability: - Assember: Move R0,SUM - Machine code: 0010 1101 1001 0001 (16 bits) in101/99-pds 2 Why
Nadere informatieLinux Assembly. The choice of a GNU generation
Linux Assembly The choice of a GNU generation Linux Assembly Some brighteyed and crazy, some frightened and lost. Roger Waters document versie: 1.0, 02-03-2002 auteur: H.P. Berends layout: pdfl A T E X,
Nadere informatieDatastructuren en algoritmen voor CKI
Datastructuren en algoritmen voor CKI Jeroen Bransen 1 30 september 2015 1 met dank aan Hans Bodlaender en Gerard Tel Dynamische verzamelingen Stack implementaties Array met maximale grootte Linked List
Nadere informatie1e college Introductie Applicatiebouw. Applicatiebouw{ } Onderdeel van SmartProducts
1e college Introductie Applicatiebouw Applicatiebouw{ } Onderdeel van SmartProducts EVEN VOORSTELLEN DOCENT Fjodor van Slooten N208 (Horstring Noord) F.vanSlooten@utwente.nl Assistentie door: Nadia Klomp,
Nadere informatieKwetsbaarheden in BIOS/UEFI
Kwetsbaarheden in BIOS/UEFI ONDERZOEKSRAPPORT DOOR TERRY VAN DER JAGT, 0902878 8 maart 2015 Inhoudsopgave Inleiding... 2 Wat is een aanval op een kwetsbaarheid in het BIOS?... 2 Hoe wordt een BIOS geïnfecteerd?...
Nadere informatieMicrocontrollers Week 4 Introductie microcontroller Jesse op den Brouw (met dank aan Ben Kuiper) INLMIC/
Microcontrollers Week 4 Introductie microcontroller Jesse op den Brouw (met dank aan Ben Kuiper) INLMIC/2018-2019 Week 3 Lussen Ontdenderen Stack Parameteroverdracht 2 Wachtlussen In een programma willen
Nadere informatieNederlandse versie. Inleiding. Inhoud van de verpakking. Aansluitingen. DS010 Multi Panel & Card Reader 53-in-1
DS010 Multi Panel & Card Reader 53-in-1 Inleiding Allereerst hartelijk dank voor de aanschaf van het Sweex Multi Panel & Card Reader 53-in-1. Met dit multi-panel kun je gemakkelijk de aansluitmogelijkheden
Nadere informatieThinking of Development
Thinking of Development College 2 Imperatief programmeren Arjan Scherpenisse arjan.scherpenisse@kmt.hku.nl @acscherp Dit college Programmeren, wat is dat dan? De programmeur als vormgever Pseudocode Scratch
Nadere informatieLinux Assembly. The choice of a GNU generation
Linux Assembly The choice of a GNU generation Linux Assembly Some brighteyed and crazy, some frightened and lost. Roger Waters document versie: 1.0, 02-03-2002 auteur: H.P. Berends layout: pdfl A T E X,
Nadere informatieTentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Digitale
Nadere informatien o F o r t h voor MSP430 Launchpad 1. Memory map Er zijn twee ROM gebieden (alle getallen zijn hex): , verdeeld in vier blokken van 40
n o F o r t h voor MSP430 Launchpad Albert Nijhof & Willem Ouwerkerk (29aug2012) 1. Memory map Er zijn twee ROM gebieden (alle getallen zijn hex): 1000-1100, verdeeld in vier blokken van 40 1000-1040 INFOD
Nadere informatieProeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets)
TECHNISCHE UNIVERSITEIT DELFT Faculteit Informatietechnologie en Systemen Afdeling ISA Basiseenheid PGS Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets)
Nadere informatieTechnische Informatie
Het Beveiligen van een draadloos netwerk Het grootste Risico van een draadloos netwerk is dat het signaal in principe voor iedereen beschikbaar is. Anders dan bij een bekabeld netwerk, waar men een fysieke
Nadere informatieProgrammeren in Java
4 september 2015 Even voorstellen Naam: Wessel Oele(39) Email: W.Oele@hr.nl Website: http://med.hro.nl/oelew Kop van Zuid Rotterdam, 3 juni 2007 Overzicht van modules programmeren in Java In totaal 4 modules
Nadere informatieControleer voordat je met de installatie begint of alle benodigde onderdelen aanwezig zijn. In de verpakking dient aanwezig te zijn:
H A N D L E I D I N G N I - 7 0 7 5 0 3 N I - 7 0 7 5 0 7 N I - 7 0 7 5 0 8 1 I N H O U D V A N D E V E R P A K K I N G 4 T E C H N I S C H E S P E C I F I C AT I E S 5 T O E P A S S I N G M O G E L I
Nadere informatieHyper-V vs ESX in het datacenter
Hyper-V vs ESX in het datacenter Gabrie van Zanten www.gabesvirtualworld.com GabesVirtualWorld.com Welke hypervisor voor het datacenter? Virtualisatie is volwassen geworden Virtualisatie in het datacenter
Nadere informatieROM en RAM in een ROMforth
Albert Nijhof 24/06/2016 ROM en RAM in een ROMforth Vragen Twee HERE's? Voor een forth die in (Flash)ROM compileert is het uitgangspunt dat programmacode en onveranderlijke data naar ROM gaan en veranderbare
Nadere informatiePython (gem=1,86) Java (gem=1,57) Enquete cursus informatica 1e bachelors oefeningen beter aansluiten bij project?
Enquete cursus informatica 1e bachelors 216-217 Python (gem=1,86) Java (gem=1,7) 3 3 2 2 1 1 3 2 1-1 -2-3 3 2 1-1 -2-3 2 Combinatie python va (gem=1,6) 1 Hoe is de overgang python2va 1 1 3 2 1-1 -2-3 3
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 november 2015 Expressies Functies Ingebouwde functies Variabelenbereik Inleveropgave 1 Terugblik Programma is een lijst van opdrachten Terugblik Programma is
Nadere informatieCentrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen??
Vragen?? Vandaag Hoofdstuk 4: threads (tentamenstof : 4.1 t/m 4.2) Kleine Opgaven 4.1 (niet alleen ja of nee, ook waarom!) en 4.4 inleveren maandag Centrale begrippen hoofdstuk 3 processen proces state:
Nadere informatieJörg R. Hörandel Afdeling Sterrenkunde http://particle.astro.ru.nl/goto.html?prog1516
Jörg R. Hörandel Afdeling Sterrenkunde http://particle.astro.ru.nl/goto.html?prog1516 1 Jörg R. Hörandel Afdeling Sterrenkunde http://particle.astro.ru.nl/goto.html?prog1516 2 wiskunde om 8:45 in HG00.023
Nadere informatieMemory Management. Virtual Memory. Eisen Memory Management. Verdelen geheugen over meerdere processen
Memory Management Process control information Entry point to program Process Control Block Verdelen geheugen over meerdere processen Program Branch instruction Virtual Memory Data Reference to data Processen
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde
Nadere informatieOvererving & Polymorfisme
Overerving & Polymorfisme Overerving Sommige klassen zijn speciaal geval van andere klasse Docent is een speciaal geval van werknemer, dwz. elke docent is ook werknemer Functionaliteit van docent = functionaliteit
Nadere informatieDeel 1: schriftelijk deel
Examen Computerarchitectuur en systeemsoftware Donderdag 15 januari 2009, namiddag Deel 1: schriftelijk deel Algemene bemerkingen: Het examen bestaat uit 2 delen. Dit zijn de vragen voor het eerste deel.
Nadere informatieLinux Assembly. The choice of a GNU generation
Linux Assembly The choice of a GNU generation Linux Assembly Some brighteyed and crazy, some frightened and lost. Roger Waters document versie: 1.0, 02-03-2002 auteur: H.P. Berends layout: pdfl A T E X,
Nadere informatieBasisconcept VHDL. Digitaal Ontwerpen Tweede studiejaar. Wim Dolman. Engineering, leerroute Elektrotechniek Faculteit Techniek
Basisconcept VHDL Tweede studiejaar Wim Dolman Engineering, leerroute Elektrotechniek Faculteit Techniek 1 Deze presentatie toont de stappen voor het ontwerpen van een digitale combinatorische schakeling
Nadere informatieGelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A.
Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 51-52, Appendix A1) Processes zijn meestal niet onafhankelijk Bijvoorbeeld: 2 processen
Nadere informatieCONFIDENTIEEL. EIB-RPT-880076 3 van 12. Samenvatting
EIB-RPT-880076 3 van 12 Samenvatting Inleiding Dit rapport beschrijft de prototypekeuring van de SDUMJGA stemmachine RS- Vote. De RS-Vote stemmachine is bedoeld voor elektronisch gefaseerd stemmen en is
Nadere informatieCrypto, Certificaten, SSL, PKI What can possibly go wrong? ISC2 cryptonight 10 juni 2014
Crypto, Certificaten, SSL, PKI What can possibly go wrong? ISC2 cryptonight 10 juni 2014 Introductie Arthur Donkers & Ralph Moonen Partners bij ITSX arthur@itsx.com ralph@itsx.com IANAC 10 juni 2014 ISC2
Nadere informatieCompilers.
Compilers joost.vennekens@denayer.wenk.be Job van een compiler Job van een compiler 68: newarray int int grens = min + (max - min) / 2; int[] kleiner = new int[n]; int[] groter = new int[n]; int k = 0;
Nadere informatieLeza biedt gebruikers de mogelijkheid om pc s, laptops en servers te back-uppen en back-ups te herstellen.
LEZA ONLINE BACKUP Servicedefinitie 1. Data-encryptie 2. Beveiligde internetverbinding 3. Datacenter 4. Recovery 5. Richtlijnen reactietijden & bereikbaarheid 6. Controle Back-up 7. Onderhoudswerkzaamheden
Nadere informatieWebwinkel in het D-cluster van de opleiding Logistiek
Webwinkel in het D-cluster van de opleiding Logistiek Pract. 1 week 2 Pract. 2 week 3 Pract. 3 week 4 Pract. 4 week 6 Pract. 5 week 7/8 Ad van Kooten docent ERP toepassingen E-mail: ad.vankooten@han.nl
Nadere informatieEen gelinkte lijst in C#
Een gelinkte lijst in C# In deze tutorial ga demonstreren hoe je een gelinkte lijst kan opstellen in C#. We gaan een klasse schrijven, die een gelijkaardige functionaliteit heeft als een ArrayList, namelijk
Nadere informatie