tags:

views:

196

answers:

2

I have been Coding in C# for about 3/5 Years in School. the problem is that i want to learn how you code such things as Keylogger and things like that. in School it most Problem Solving to learn us to think like programmers.

so how shall i learn to code Network/Security tools. Shall i buy a book about Network programming in C#? Or do you have any tips where to starts?

A: 

If you want to build things like keyloggers or network packet analyzers, you will have to go to a lower layer than what C# usually offers. You will need to learn a bit more about the operating system, its networking stack, how it interacts with the input devices and things like that.

Keep in mind that some of the things might not even be feasible in C#. You will have to do a lot of Win32 interop and even write C++ code on occasions.

I would recommend you look for a book that describes the Windows internals, for example Windows Internals by Mark Russinovich and David Solomon.

Franci Penov
@Franci Penov: so edit the link so that it doesn't reference you!
Mitch Wheat
I thought it would be OK, as long as I disclose the fact, but since people don't like it, I am removing the referral code.
Franci Penov
A: 

As Franci said, those things requires you to use the OS APIs and know a lot of the topic. Keyloggers can be done in C#, I did one a couple years ago (not for hacking, just for handling a keyboard shortcut in an tray-icon running application).

What you should do is, first read about the topic itself (networking, how windows manages that stuff, the APIs, and so on), and then figure out how you can access that in C#. Some resources are restricted by the OS and is impossible to access them, but it depends on what you wanna do.

PS #1: Please, take care with what you do be responsible. Making useful or funny apps is way better and funnier than stealing the password to a dump guy.

PS #2: No, I'm gonna give you my pseudo-keylogger source ;)

Diego Jancic