REVERSE
ENGINEERING BASICS
BY PRASENJIT KANTI PAL
WHOAMI
• Information Security Enthusiast
• Blessed to follow my passion as profession
• CTF Player
• Bug Bounty/CVE Hunter
• My Bengali Channel: RoyalBengalHacker
TARGET AUDIENCE
• If you are happy with automated hacking tools or scripts, may be you are not the
target audience
• If you are happy to be a script kiddies, may be you are not the target audience
• If you want to know “how deep the rabbit hole goes”, then this is the session for
you
• If you want to contribute with your R&D for our community, then this is the
session for you
• If you want to be an elite (31337), then this is the session for you
INTRO TO REVERSE ENGINEERING
• Engineering means a process to make a source code understandable to the
computer by compiling and linking to machine language
• Reverse Engineering means the techniques to get the source code or source like
code from the given binary or executable
DEBUGGER VS DISASSEMBLER VS DECOMPILER
• Debugger is a tool that
allows to examine the
state of a running program
• Example: OllyDBG,
WinDBG, Immunity
Debugger etc.
• Disassembler is a tool that
translates machine
language into assembly
language
• Example: OllyDBG, Ghidra,
IDA Pro etc.
• Decompiler is tool that
translates an executable
file to high-level source
code
• Example: JDGui, APKTools
etc.
PRE REQUISITE KNOWLEDGE
• Understanding of Operating System and its architecture
• Basic understanding of Programming language
• Basic understanding of Executables
• Basic Understanding of Assembly Languages
• Immense interest and curiosity
RE HELPS BELOW DOMAIN
• Malware Analysis
• Software Cracking
• Business Intelligence Gathering
• Exploit Development
• PWNing / Binary Exploitation (in CTF)
• Bug Tracing etc.
TOOLS (WINDOWS BASED)
• C/C++/Visual C++ : OllyDBG, Immunity Debugger, IDA Pro etc.
• DOTNET / C# : dnspy, dotnet reflector
• Java: JDGui
• APK: APKTool, dex2jar etc.
• PEiD, CFF Explorer, Hex Editors
HELLOWORLD.C
#include <stdio.h>
int main()
{
printf(“Hello World”);
return 0;
}
HELLOWORLD.EXE IN DEBUGGER
Crack An Application via 5 different techniques
• Using Conditional JMP
• Using Un Conditional JMP
• Using NOP
• Alter ZERO (Z) flag
• Change Address to successmsg
THANK YOU

Reverse Engineering and It’s Basic by Prasenjit Kanti Paul.pptx

  • 1.
  • 2.
    WHOAMI • Information SecurityEnthusiast • Blessed to follow my passion as profession • CTF Player • Bug Bounty/CVE Hunter • My Bengali Channel: RoyalBengalHacker
  • 3.
    TARGET AUDIENCE • Ifyou are happy with automated hacking tools or scripts, may be you are not the target audience • If you are happy to be a script kiddies, may be you are not the target audience • If you want to know “how deep the rabbit hole goes”, then this is the session for you • If you want to contribute with your R&D for our community, then this is the session for you • If you want to be an elite (31337), then this is the session for you
  • 4.
    INTRO TO REVERSEENGINEERING • Engineering means a process to make a source code understandable to the computer by compiling and linking to machine language • Reverse Engineering means the techniques to get the source code or source like code from the given binary or executable
  • 5.
    DEBUGGER VS DISASSEMBLERVS DECOMPILER • Debugger is a tool that allows to examine the state of a running program • Example: OllyDBG, WinDBG, Immunity Debugger etc. • Disassembler is a tool that translates machine language into assembly language • Example: OllyDBG, Ghidra, IDA Pro etc. • Decompiler is tool that translates an executable file to high-level source code • Example: JDGui, APKTools etc.
  • 6.
    PRE REQUISITE KNOWLEDGE •Understanding of Operating System and its architecture • Basic understanding of Programming language • Basic understanding of Executables • Basic Understanding of Assembly Languages • Immense interest and curiosity
  • 7.
    RE HELPS BELOWDOMAIN • Malware Analysis • Software Cracking • Business Intelligence Gathering • Exploit Development • PWNing / Binary Exploitation (in CTF) • Bug Tracing etc.
  • 8.
    TOOLS (WINDOWS BASED) •C/C++/Visual C++ : OllyDBG, Immunity Debugger, IDA Pro etc. • DOTNET / C# : dnspy, dotnet reflector • Java: JDGui • APK: APKTool, dex2jar etc. • PEiD, CFF Explorer, Hex Editors
  • 9.
  • 10.
  • 12.
    Crack An Applicationvia 5 different techniques • Using Conditional JMP • Using Un Conditional JMP • Using NOP • Alter ZERO (Z) flag • Change Address to successmsg
  • 13.