3 ms·
Learning x86 directly can be a bit hard. There are easier assemblies to begin with (e.g: 8085). There's an educational program called gnusim8085, which I found
by partycoder 10y ago
Learning x86 directly can be a bit hard.
There are easier assemblies to begin with (e.g: 8085). There's an educational program called gnusim8085, which I found excellent to get started with assembly, because while it's similar to x86, it has fewer instructions and registers. It comes with a debugger, a tutorial and some example programs. https://gnusim8085.github.io/screenshots https://gnusim8085.github.io/screenshots
To learn reverse engineering look for "crackme" programs. These are programs that contain challenges for you to crack, and come with graded levels of difficulty. https://en.wikipedia.org/wiki/Crackme https://en.wikipedia.org/wiki/Crackme.
Now, one of the techniques that I've found more useful is the NOP sled. https://en.wikipedia.org/wiki/NOP_slide https://en.wikipedia.org/wiki/NOP_slide. Easy to implement as well, just replace bytes with the opcode 90 (NOP, or no operation).
The editor I use is a clone of Hiew called ht: http://hte.sourceforge.net/screenshots.html http://hte.sourceforge.net/screenshots.html, which is free and multiplatform (just make sure to switch to disassemble mode with F6) This other tool is free and can be a good alternative to IDA Pro on Windows: http://x64dbg.com/ http://x64dbg.com/
In this way you can get started for free.
- partycoder 10y agoHaving said that, I don't know of many people that use ht editor. Make sure you change to the disasm mode (F6) and you can edit bytes using (F4). Save with F2. You can also follow functions around rather quickly. Supports PE (Windows), ELF (*nix) and many other formats.