win32 programming lesson 1: why we’re all here. why we’re here… okay, maybe that’s too...

16
Win32 Programming Lesson 1: Why We’re All Here

Upload: brittney-lucas

Post on 13-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

Win32 ProgrammingLesson 1: Why We’re All Here

Page 2: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

Why We’re Here… Okay, maybe that’s too grandiose Windows – in particular Win32

Thirty-what? What it is, why it is…

Page 3: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

Today Rules of the game Book Office Hours Grading Material Learning contract

Page 4: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

Rules of the Game I actually want you to learn this!

Parrots don’t learn That means understand the material I most certainly don’t know all of this (especially

when it comes to .NET and 64-bit Windows) In order to learn it, you’ll have to practice Do it… and do it some more (practice makes

permanent!)

Page 5: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

Book Quite simply the finest book on Windows

Windows via C/C++Richter & NasarreISBN-13: 978-0-7356-2424-5

Textbook is required – you have NO CHANCE of passing this class without it!

The book – if you read it – is also highly likely to make you a better programmer

Page 6: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

Office Hours There is no excuse for silently failing this class!

Email Office hours: TR 930-1030 But if you really need to see me, just come and find me Class website: http://malware.org/SWE5320.html NOTE: Slides are from last year, and will be updated as

we go! If you get ahead of me, you may end up doing extra (but not pointless) work

Page 7: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

Grading Pretty simple

… but very different from last year We’ll be using source code control this year SVN: I use the Tortoise client DO execute a “make clean” before sending! A-F. No F’s please. Graded on syntax, functionality and comments

Yes, comments! You are also graded on when you turn in updates – most of these assignments will

take a while, so SVN lets me see how you are progressing DO NOT ask for an extension the day something is due (or the night before) Late assignments earn you an F. Non-negotiable. No reasonable request refused! (I want you to pass) Be warned, I will be taking attendance this year. If you miss > 25% of the classes

you earn an automatic F

Page 8: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

Scoring 15% class participation 20% midterm 25% final 50% assignments (110% nonsense…)

Page 9: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

Caveat Emptor This is not going to be an easy class It will assume a working knowledge of C and

C++ Assembly will help, but isn’t required It’s going to have a lot of assignments Drop now (but first, wait and see why…)

Page 10: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

Material Win32 is a critical operating system to

understand Even if you end up using Unix, you’ll need to

understand Windows I promise you that by the end of this term you

will understand the internals of Windows like you never thought possible

Page 11: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

What we’re Covering Windows Basics Kernel Objects Unicode Threads, Processes, Jobs, Fibers Thread synchronization Windows Memory Architecture The stack Memory-mapped files Writing your own DLLs DLL injection and API hooking Exception Handling Messaging and Message injection .NET and Win32 API interaction

Page 12: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

Debugging All of the above will FORCE you to learn how to

use a debugger You can’t printf from a kernel mode driver (easily)

Page 13: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

I Promise To do my very best to treat you with respect

at all times To focus on teaching you things you need to

know, not things that are easy to teach To make your learning my number one

priority this semester (however, be warned, I will be travelling – sorry)

Page 14: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

In return… I expect you to

Show up on time, ready to work Treat me and your classmates respectfully Turn in assignments which are your own Tell me when you get completely stuck Help me improve this course by commenting

helpfully!

Page 15: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

Plagiarism Policy Rule 1: There is no excuse for plagiarism. Period. Rule 2: Anyone caught plagiarizing will be turned in

to the University after we’ve talked about it. You will get an opportunity to appeal if you think you’ve been treated unfairly, but it will be a formal appeal handled by FIT, not me.

Rule 3: No exceptions. Not only are you defrauding your classmates when you plagiarize, but you’re cheating yourself as you miss out on the chance to learn, which is why you’re here (hopefully)

Page 16: Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What

Summary Won’t be an easy class But should be a useful one Heavy course load – expect about 2 hours of

study for every hour in class minimum Not work just for work’s sake – it’s the only

way to learn this stuff Good luck ;)