Live data from Hacker News

Reverse engineering course

github.com

11–20 of 57 posts

Re: Reverse engineering course

#11

Will Wright defined the "Simulator Effect" as how game players imagine a simulation is vastly more detailed, deep, rich, and complex than it actually is: a magical misunderstanding that you shouldn’t talk them out of. He designs games to run on two computers at once: the electronic one on the player’s desk, running his shallow tame simulation, and the biological one in the player’s head, running their deep wild imagi…

[deleted]

Re: Reverse engineering course

#12

Hmm, I've been itching to dive into some security thing again (I'm getting into the habit to dedicate 1 to 2 months per year for it, this would be year 4). This person's effort seems so awesome and genuine that I'm up for helping out. Though, I don't want to study it completely by myself, it gets a bit lonely and there's no accountability. Does anyone want to set up a study group with me? My background: I know how to…

I do not have a security background but I would love to study with you!

Re: Reverse engineering course

#14

Hmm, I've been itching to dive into some security thing again (I'm getting into the habit to dedicate 1 to 2 months per year for it, this would be year 4). This person's effort seems so awesome and genuine that I'm up for helping out. Though, I don't want to study it completely by myself, it gets a bit lonely and there's no accountability. Does anyone want to set up a study group with me? My background: I know how to…

I received a couple of emails. This is gonna be fun! :D

Re: Reverse engineering course

#15
> If 0x12345678 was loaded into a 64 bit register such as RAX, then RAX refers to 0x12345678, EAX refers to 0x5678, AX refers to 0x78, AH refers to 0x7, AL refers to 0x8.

I made a PR to correct this example which equated single hexadecimal digits with whole bytes.

Other than that what I read of the course is rather nice, targeted at a mostly beginner audience with some correct insight.

There also some weird insight:

> You can think of computers as trains, they don't stop and only go in a very specific and direct path as designated by the tracks. If there's a child on the tracks it's up to the people controlling the track to divert the train. This is why Windows gives you the Blue Screen of Death (BSOD) when there is a kernel error. If the OS doesn't stop that error, catastrophic damage could occur.

This isn't really wrong, it's just a non-obvious metaphor formulated strangely in my opinion. A BSOD would be more akin to the fully automated train just blowing up in sight of the children or something? It's weird.

Re: Reverse engineering course

#16
I really like the sections on assembly. They're well written and a pretty good introduction or refresher. There's plenty out there on the subject but few that are as approachable.

Re: Reverse engineering course

#17
RPISEC RE/VR courses (a little scattered due to the passage of time):

Secure Software Principles - CSCI 4971, Spring 2010:

http://www.cs.rpi.edu/academics/courses/spring10/csci4971/

Malware Analysis - CSCI 4972/6963, Spring 2013:

http://security.cs.rpi.edu/courses/malware-spring2013/

Advanced Exploitation and Rootkit Development, Spring 2013:

http://security.cs.rpi.edu/~candej2/

Program Obfuscation, Fall 2013:

http://security.cs.rpi.edu/courses/obfuscation-fall2013/syll...

Windows Exploitation, Spring 2014:

http://security.cs.rpi.edu/~gaasem/winexp/IndependentStudy.p...

http://gaasedelen.blogspot.com/2014/02/windows-exploitation-...

Modern Binary Exploitation - CSCI 4968, Spring 2015:

https://github.com/RPISEC/MBE

Malware Analysis - CSCI 4976, Fall 2015:

https://github.com/RPISEC/Malware

Re: Reverse engineering course

#19
It seems the majority of RE-related stuff these days focuses on malware but the skills are very useful for other things, particularly debugging in general. I didn't specifically learn RE, but since I started long ago with Asm, I guess it came naturally. You can tell the author of this one probably comes from an HLL background because of the "0x" prefixes; those with an Asm background are more likely to use a "h" suffix instead.

For Windows debuggers I recommend Windbg, which is free and comes from Microsoft. Using VS for Asm-level debugging is only mildly better than using gdb for it --- i.e. very awkward and not what they were designed for.

Re: Reverse engineering course

#20

It seems the majority of RE-related stuff these days focuses on malware but the skills are very useful for other things, particularly debugging in general. I didn't specifically learn RE, but since I started long ago with Asm, I guess it came naturally. You can tell the author of this one probably comes from an HLL background because of the "0x" prefixes; those with an Asm background are more likely to use a "h" suff…

For Windows I would rather recommend OllyDbg spiritual successor - x32dbg/x64dbg[1]. It is open source and easily scriptable and extendable.

[1] https://x64dbg.com/

Post reply on HN