Originally Posted by jokar.mohsen
Yes, C\C++, Python and asm but not expert.
When I was interested in this, I learned a lot by using Ollydbg (http://www.ollydbg.de/
) - this is windows software... I'm not sure if you can get something similar in Linux. If you're on Ubuntu, you might be able to get Red Hat's "Insight" to work (from a 3rd party PPA - google it). Or you might check out Code::Blocks at www.codeblocks.org/
In any event, you need a good gui disassembler - something where you can watch multiple memory registers at the same time, or at least the flags, stack, and one or two memory locations.
Check out http://tuts4you.com
- they have some really nice tutorials on RE and cracking. While cracking, in some contexts, may be a bit 'immoral', learning to do that will definitely help you to learn RE. Download and step through these examples. But, you might want to use windows in Virtual Box on Linux, rather than a production environment or your personal computer at home... some of those asm / RE tuts are flagged as viruses by one or two AV engines. The official explanation, IIRC, is that they were so small in footprint that many AV's got confused. Just be careful, and have fun with them!
EDB is a linux app that you can use - it's written with the specific goal of emulating Ollydbg.
or look in your package manager for your distro (perhaps 3rd party apps).