How to Reverse Engineer Software Easily?

Im New To Software Reverse Engineering, Actually I want To learn software reverse engineering from a free and open source,my question can experienced people recommend me a few websites or youtube channels to do it so? Please Recommend.... šŸ˜ƒ

Answers


What kind of executables do you want to reverse?

Windows executables (PE executables A.K.A. .exe files)

  • OllyDBG (FREE): a very nice executable debugger (you can change disassembled code with it)
  • IDA PRO (Commercial, expensive): if you want to do binary analisys, this is the program you need.
  • Hiew (Commercial, quite cheap): Disassembler + hex editor. I've used it in the past (10 years ago), this program doesn't have a GUI

Linux executables (ELF file)

  • GDB(Free/opensource): the GNU Debugger.
  • Hopper (Commercial, cheap): Disassembler + Pseudo C decompiler (THIS TOOL IS GREAT!)
  • Evan's debugger(free/opensoure): this is very similar to OllyDBG but for linux
  • Insight (Free/opensource, a bit outdated AFAIK): a very nice GUI for GDB.
  • IDA PRO (Commercial, expensive): if you want to do binary analisys, this is the program you need (Linux version).

MacOS executables (MACH-O files):

  • Hopper (Commercial, cheap): Hopper can disassemble and decompile OSX executables.
  • IDA PRO (Commercial, expensive): if you want to do binary analisys, this is the program you need (OSX version).
  • Sorry but I know so litte about reverse engineering on OSX.

Android executables (.DEX inside APK packages)

  • APK TOOL (Free/opensource): Disassembler and Assembler (SMALI). This might be the only tool you will need if you want to reverse engineering Android apps.
  • JEB (Commercial): Android disassembler (SMALI) and decompiler (JAVA), this program can decompile the DEX in Java class. There is a demo on the official website.
  • IDA PRO (Commercial, expensive): IDA can disassembly Android executables

iOS executables:

  • IDA Pro (Commercial, expensive): IDA can disassembly iOS executables
  • Hopper (Commercial, cheap): Hopper can disassemble and decompile iOS executables.

BOOKS:

  • Reversing: Secrets of Reverse Engineering - Eldad Eilam
  • The IDA Pro Book: The Unofficial Guide to the World's Most Popular Disassembler - Chris Eagle
  • Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation - Bruce Dang, Alexandre Gazet, Elias Bachaalany, Sebastien Josse
  • Learning Linux Binary Analysis - Ryan O'neil

WEBSITES:

  • Opensecuritytraining.info: Many videos about reverse engineering, and low level programming.
  • Reverseengineering.stackexchange.com: for your questions about RE.

There are also many videos on youtube, but mostly are game hacks etc. Reverse enginnering might be hard at first, but it is so cool and fun, but please don't use your skills to do stupid things like injecting viruses or pirating stuff: let's keep reverse engineering a good thing :)


Need Your Help

Expanding UIView as UILabel inside grows

ios xcode uiview xib

I have a UIView which is a superview of UIImageView and UILabel. UILabel can have different size depending on the amount of text in it. So, I need the UIView to grow and shrink together with the UI...

Silverlight 4 application crashing rather than throwing exception

silverlight-4.0 forms-authentication wcf-ria-services

I have been using Shawn Wildermuths example and it has been working fine no problems at all. Today, however, I have added a few of my own Models and ViewModels and it still works. Problem appears...