Click here to Skip to main content
15,886,757 members

Michael Dunn - Professional Profile



Summary

    Blog RSS
272,392
Author
25,990
Authority
12,372
Debator
85
Editor
20
Enquirer
618
Organiser
6,745
Participant
Michael lives in sunny Mountain View, California. He started programming with an Apple //e in 4th grade, graduated from UCLA with a math degree in 1994, and immediately landed a job as a QA engineer at Symantec, working on the Norton AntiVirus team. He pretty much taught himself Windows and MFC programming, and in 1999 he designed and coded a new interface for Norton AntiVirus 2000.
Mike has been a a developer at Napster and at his own lil' startup, Zabersoft, a development company he co-founded with offices in Los Angeles and Odense, Denmark. Mike is now a senior engineer at VMware.

He also enjoys his hobbies of playing pinball, bike riding, photography, and Domion on Friday nights (current favorite combo: Village + double Pirate Ship). He would get his own snooker table too if they weren't so darn big! He is also sad that he's forgotten the languages he's studied: French, Mandarin Chinese, and Japanese.

Mike was a VC MVP from 2005 to 2009.

 

Groups

Below is the list of groups in which the member is participating

United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
This is a Collaborative Group
This member has Member status in this group

41 members

Reputation

Weekly Data. Recent events may not appear immediately. For information on Reputation please see the FAQ.

Privileges

Members need to achieve at least one of the given member levels in the given reputation categories in order to perform a given action. For example, to store personal files in your account area you will need to achieve Platinum level in either the Author or Authority category. The "If Owner" column means that owners of an item automatically have the privilege. The member types column lists member types who gain the privilege regardless of their reputation level.

ActionAuthorAuthorityDebatorEditorEnquirerOrganiserParticipantIf OwnerMember Types
Have no restrictions on voting frequencysilversilversilversilver
Bypass spam checks when posting contentsilversilversilversilversilversilvergoldSubEditor, Mentor, Protector, Editor
Store personal files in your account areaplatinumplatinumSubEditor, Editor
Have live hyperlinks in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Have the ability to include a biography in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Edit a Question in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Edit an Answer in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Delete a Question in Q&AYesSubEditor, Protector, Editor
Delete an Answer in Q&AYesSubEditor, Protector, Editor
Report an ArticlesilversilversilversilverSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubEditor, Mentor, Protector, Editor
Edit other members' articlesSubEditor, Protector, Editor
Create an article without requiring moderationplatinumSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending QuestionProtector
Approve/Disapprove a pending AnswerProtector
Report a forum messagesilversilverbronzeProtector, Editor
Approve/Disapprove a pending Forum MessageProtector
Have the ability to send direct emails to members in the forumsProtector
Create a new tagsilversilversilversilver
Modify a tagsilversilversilversilver

Actions with a green tick can be performed by this member.


 
GeneralRe: What's an "Ericahist"??? Pin
Michael Dunn20-May-04 20:43
sitebuilderMichael Dunn20-May-04 20:43 
GeneralWhat blogs do I read? Pin
Michael Dunn7-May-04 11:58
sitebuilderMichael Dunn7-May-04 11:58 
GeneralRe: What blogs do I read? Pin
Colin Angus Mackay8-May-04 12:56
Colin Angus Mackay8-May-04 12:56 
GeneralStatic linking to the CRT Pin
Michael Dunn1-May-04 9:19
sitebuilderMichael Dunn1-May-04 9:19 
GeneralIt seems like just yesterday... Pin
Michael Dunn30-Apr-04 21:33
sitebuilderMichael Dunn30-Apr-04 21:33 
GeneralRe: It seems like just yesterday... Pin
Uwe Keim13-May-04 21:54
sitebuilderUwe Keim13-May-04 21:54 
GeneralHow to find the text under the cursor (sometimes) Pin
Michael Dunn24-Apr-04 13:38
sitebuilderMichael Dunn24-Apr-04 13:38 
GeneralBuffer overruns explained Pin
Michael Dunn23-Apr-04 17:36
sitebuilderMichael Dunn23-Apr-04 17:36 
Note: I've copied this post here from its original location[^] to give it (hopefully) better visibility.
Buffer overruns are possible because on x86 there are not separate categories of "readable memory" and "executable memory". If a block of memory has one permission, it has the other. They also work because a thread's local variables and return addresses are in the same area of memory, its stack.

Here's a typical stack with the default size of 1 MB, after one function call. Note how the stack grows down from high addresses towards low addresses.
0                         100000
+--------------------------+
| <unused>|<vars>|<retaddr>|
|         |      |   40AE  |
+--------------------------+
         ^ top of stack
That indicates that when the current function returns, control resumes at address 0x40AE. Now after a few calls, the stack will have a few layers of that:
0                                                         100000
+------------------------------------------------------------+
| <unused>|<vars>|<retaddr>|<vars>|<retaddr>|<vars>|<retaddr>|
|         |      |   4E33  |      |   4AD1  |      |   4F10  |
+------------------------------------------------------------+
         ^ top of stack
Now lets say the current function declares a char[10] array as its only local variable. That array is denoted by asterisks:
0                             
+-------------------------------
| <unused>|<vars>    |<retaddr>| ...
|         |**********|   4E33  | 
+-------------------------------
         ^ top of stack
If the function blindly strcpy's an input string (from say, the network) into that buffer, without checking the length of the source string, it will write past the end of the array, over the return address. The copied bytes are denoted by $:
0                             
+-------------------------------
| <unused>|<vars>    |<retaddr>|
|         |$$$$$$$$$$$$$$$$$$$$$$$ ... 
+-------------------------------
         ^ top of stack
All a hacker has to do is figure out what to use as the $$$ to change the overwritten return address to be an address within the $$$ itself. Since the $$$ is the malicious data, the hacker has control over it.
0                               7AE1                 100000
+------------------------------+---------------------+
| <unused>|<vars>    |<retaddr>|                     |
|         |$$$$$$$$$$|  7AE1    $$$$$$$$$$$$$ ...    |
+----------------------------------------------------+
         ^ top of stack
When the function returns, the thread reads its return value, which has been changed to point to within the $$$. Now the hacker has made the thread execute memory that he planted in the stack. If that thread happens to be running in a powerful account (like Admin or Local Service), bingo, your box is 0wn3d.

--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ

----
"Linux is good. It can do no wrong. It is open source so must be right. It has penguins. I want to eat your brain."
  -- Paul Watson, Linux Zombie

General*drool* (Alyson) Pin
Michael Dunn10-May-03 14:43
sitebuilderMichael Dunn10-May-03 14:43 
GeneralRe: *drool* (Alyson) Pin
Rickard Andersson2021-May-03 21:45
Rickard Andersson2021-May-03 21:45 
GeneralRe: *drool* (Alyson) Pin
Michael Dunn22-May-03 6:44
sitebuilderMichael Dunn22-May-03 6:44 
GeneralRe: *drool* (Alyson) Pin
shaunAustin30-May-03 3:34
shaunAustin30-May-03 3:34 
GeneralRe: *drool* (Alyson) Pin
Michael Dunn30-May-03 7:13
sitebuilderMichael Dunn30-May-03 7:13 
GeneralRe: *drool* (Alyson) Pin
peterchen7-Sep-03 6:54
peterchen7-Sep-03 6:54 
GeneralRe: *drool* (Alyson) Pin
Michael Dunn8-Sep-03 15:45
sitebuilderMichael Dunn8-Sep-03 15:45 
GeneralRe: *drool* (Alyson) Pin
Brian Delahunty26-Oct-03 2:40
Brian Delahunty26-Oct-03 2:40 
GeneralTest Pin
Michael Dunn5-Mar-03 19:40
sitebuilderMichael Dunn5-Mar-03 19:40 
GeneralRe: Test another Pin
catchnine21-Mar-03 5:15
catchnine21-Mar-03 5:15 
GeneralRe: Test another Pin
Michael Dunn21-Mar-03 19:22
sitebuilderMichael Dunn21-Mar-03 19:22 
Generalwhy not attach your own picture? Pin
Marquis.D.J16-Apr-03 20:52
Marquis.D.J16-Apr-03 20:52 
GeneralRe: why not attach your own picture? Pin
Michael Dunn18-Apr-03 19:50
sitebuilderMichael Dunn18-Apr-03 19:50 
GeneralStupid ad slogans (or stupid writers) Pin
Michael Dunn5-Oct-02 18:09
sitebuilderMichael Dunn5-Oct-02 18:09 
GeneralRe: Stupid ad slogans (or stupid writers) Pin
Still Learning Dude16-Oct-02 2:53
Still Learning Dude16-Oct-02 2:53 
GeneralRe: Stupid ad slogans (or stupid writers) Pin
Brian Delahunty27-Oct-02 4:32
Brian Delahunty27-Oct-02 4:32 
GeneralRe: Stupid ad slogans (or stupid writers) Pin
Paul Watson28-Oct-02 0:16
sitebuilderPaul Watson28-Oct-02 0:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.