Instructor: 紀博文 Po-Wen Chi
Email: neokent@gapps.ntnu.edu.tw
Office: 514
Phone: 02-7734-6684
Time / Classroom
Tue 14:20 ~ 15:10 綜002
Thu 15:30 ~ 17:20 B103
TA: 婁敦堯 g016214@hotmail.com
Goals:
Learn how a computer really works.
Learn how to write assembly languages.
Paul A. Carter, PC Assembly Language, 2006.
Free. You can download here: pcasm-book.pdf
Jeff Duntemann, Assembly Language Step by Step, Programming with Linux. Wiley, 3rd.
An interesting book, not like most textbooks.
Linux (Ubuntu in Teacher's Computer)
If you are not familiar with Linux, maybe you can follow the following tutorial:
You can install Linux in virtual machines.
Assembler: Netwide Assembler (NASM)
make
Linker: ld
Midterm
Date: 11/8
Homework 50%
Midterm 25%
Final 25%
Program and Data Representation
Here you can find x86 and x64 C calling convention.
HW01
HW02
Due Date: 2018.10.23 PM 11:59
範例程式:
HW03
Due Date: 2018.11.22 PM 11:59
範例程式:
HW04
Due Date: 2018.12.11 PM 11:59
範例程式:
HW05
Due Date: 2019.01.07 PM11:59
Buffer-Overflow Vulnerability Lab
Link: http://www.cis.syr.edu/~wedu/seed/Labs_16.04/Software/Buffer_Overflow/
Read the description. You need to complete task 1 and task 2. You need to write a report about what you did, what you observe and why you did so. Finally, submit your report to moodle.
Additional Bonus: 5 pts.