We may earn an affiliate commission when you visit our partners.
Course image
Paul Chin, PhD

If you had always wanted to learn how  to reverse engineer a program and understand how it works from the inside out, then this is the course for you. Except for IDA Pro, many other debuggers out there are not capable of performing graphical representation of a disassembled software. x64dbg however can do it. It can disassemble a program and also represent it as a graphical representation.  This makes it ideal as a free tool to perform what IDA Pro can do - i.e. static analysis.

Read more

If you had always wanted to learn how  to reverse engineer a program and understand how it works from the inside out, then this is the course for you. Except for IDA Pro, many other debuggers out there are not capable of performing graphical representation of a disassembled software. x64dbg however can do it. It can disassemble a program and also represent it as a graphical representation.  This makes it ideal as a free tool to perform what IDA Pro can do - i.e. static analysis.

Unfortunately, there is not much information on the Internet on how to use x64dbg to do static analysis, hence this course.  You can use its powerful graphical tool for Reverse Engineering, Malware Analysis and Software Debugging. In this course we will learn  how to disassemble a program and represent it an a graphical view so as to be able to easily analyse and understand how the program works - and also to patch programs. The hidden power of x64dbg lies in its ability to run a live debugging session simultaneously with graphical static analysis. And I will show you how to do it in this course.

What you will learn:

  • How to disassemble programs into assembly code and show it in a graphical representation

  • Graphical Static Analysis

  • Setting breakpoints and stepping through code

  • Modify program behaviour

  • Reversing jumps

  • Changing register values

  • Patching programs

Money back guarantee:

This course is backed by a 30-day money back guarantee.  So, go ahead and enroll in this course now and start reverse engineering programs the fun and easy way using graphical static analysis.  

Enroll now

What's inside

Learning objectives

  • Use x64dbg to do static analysis
  • Graphical analysis of code
  • Reverse engineer software
  • Debug and fix errors in programs
  • Patch programs
  • Mod software
  • View code in graphical form like flowchart

Syllabus

Introduction
What is static analysis

What is static analysis as compared to dynamic analysis.

How to install xAnalyzer plugin and use it
Read more

Download and install x64dbg

How to download and install xAnalyzer

How to set it up and use it.

The old xdbg has CPU and Graph Menu. But the latest xdbg has merged them. This lesson shows you how to use the new menus.

How to perform static analysis with x64dbg on crackme 1

More practice on disassembling and static analysis and file patching using crackme 4

Introduction to 64-bit registers.

Introduction to easy peasy crackme

How to use use static analysis on a 64 bit crackme

Summary of useful commands for x64dbg graphical tool.

Resources for further studies

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Focuses on x64dbg, a debugger that offers graphical representation of disassembled software, which is useful for reverse engineering and malware analysis
Teaches static analysis, which is a method of debugging by examining the code without executing it, and is useful for identifying vulnerabilities
Covers patching programs, which is a common task in reverse engineering and security analysis, and is useful for fixing vulnerabilities or modifying software behavior
Requires installing the xAnalyzer plugin, which may present a barrier to entry for some users who are not familiar with plugin installation
Uses crackme programs for practice, which may be illegal to reverse engineer or modify in certain jurisdictions without permission from the copyright holder

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

X64dbg graphical static analysis guide

According to learners, this course offers a focused and practical guide to using x64dbg for static analysis, particularly highlighting its unique graphical view. Students appreciate the hands-on approach with crackme examples and practical demos like patching programs. While many find the content valuable and the instructor's explanations clear, some mention that a basic understanding of assembly or reverse engineering fundamentals is helpful, suggesting it's best suited for those with some prior exposure or as a follow-up to introductory material. Overall, the course is seen as a valuable resource for mastering x64dbg's static analysis features.
Deep dive into x64dbg's static features.
"Finally understand how to use x64dbg beyond basic debugging now, focusing on static methods."
"Covers essential static analysis techniques using the tool effectively."
"Shows how to use the latest x64dbg features properly for disassembly and analysis."
Hands-on practice with relevant scenarios.
"Working through the crackme examples made everything click for me."
"The patching demos were highly practical and directly applicable to real-world tasks."
"I learned exactly how to modify program behavior effectively through the course demonstrations."
Highlights x64dbg's visual capabilities.
"The graphical view in x64dbg is a game changer..."
"Learning to visualize code like a flowchart was very helpful for me..."
"I appreciate the focus on the graphical static analysis capability of x64dbg using the xAnalyzer plugin."
Best for those with some prior RE knowledge.
"It assumes some familiarity with assembly or reversing basics, which is good for intermediate learners."
"Good introduction to x64dbg's static features, but I wish it went deeper into RE fundamentals."
"I found it helpful having done other RE courses first, as it builds on those concepts."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Reverse Engineering 3: x64dbg Graphical Static Analysis with these activities:
Review Assembly Language Fundamentals
Reinforce your understanding of assembly language concepts, which are crucial for reverse engineering and static analysis.
Show steps
  • Review basic assembly instructions (MOV, ADD, SUB, JMP, etc.).
  • Study calling conventions and stack frames.
  • Practice reading and interpreting simple assembly code snippets.
Read 'Reverse Engineering for Beginners'
Build a solid foundation in reverse engineering with a beginner-friendly guide.
Show steps
  • Read the introductory chapters covering basic concepts.
  • Work through the examples provided in the book.
  • Try to apply the concepts to simple programs.
Read 'Practical Reverse Engineering'
Supplement your learning with a comprehensive guide to reverse engineering techniques and tools.
Show steps
  • Read the chapters related to x86/x64 assembly and debugging.
  • Experiment with the tools and techniques described in the book.
  • Try to apply the concepts to simple crackme programs.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Solve CrackMe Challenges
Sharpen your reverse engineering skills by tackling CrackMe challenges, which are specifically designed to test your ability to analyze and patch programs.
Show steps
  • Download CrackMe challenges from sites like Crackmes.one.
  • Use x64dbg to disassemble and analyze the CrackMe.
  • Identify the key logic and implement a patch to bypass the protection.
Document Your Reverse Engineering Process
Solidify your understanding by documenting your reverse engineering process for a specific program, including your analysis, findings, and patching steps.
Show steps
  • Choose a simple program to reverse engineer.
  • Disassemble the program using x64dbg and analyze its code.
  • Document your findings, including the program's functionality and any vulnerabilities you discover.
  • Write a report summarizing your reverse engineering process.
Develop a Simple x64dbg Plugin
Extend the functionality of x64dbg by developing a simple plugin that automates a common reverse engineering task.
Show steps
  • Research the x64dbg plugin API.
  • Choose a simple task to automate, such as finding specific instructions or modifying memory.
  • Write the plugin code using C++ or Python.
  • Test and debug the plugin.
Contribute to x64dbg Documentation
Deepen your understanding of x64dbg by contributing to its documentation, helping other users learn and use the tool effectively.
Show steps
  • Identify areas in the x64dbg documentation that need improvement or expansion.
  • Write clear and concise documentation for those areas.
  • Submit your contributions to the x64dbg project.

Career center

Learners who complete Reverse Engineering 3: x64dbg Graphical Static Analysis will develop knowledge and skills that may be useful to these careers:
Reverse Engineer
A reverse engineer examines software or hardware to understand its design, functionality, and inner workings. This often involves disassembling code, analyzing algorithms, and identifying vulnerabilities. This course helps build a foundation in using x64dbg for static analysis, a critical skill for reverse engineers. Specifically, the course's emphasis on graphical representation of disassembled code directly addresses a key aspect of reverse engineering. The practical exercises on patching programs also provides hands-on experience relevant to this role.
Vulnerability Analyst
Vulnerability analysts specialize in identifying weaknesses in software and hardware systems that could be exploited by attackers. This role often involves reverse engineering to understand how a system functions and where vulnerabilities might exist. The course helps build a foundation in reverse engineering using x64dbg for static analysis. The course directly addresses the need to graphically analyze disassembled software, which is valuable for identifying potential vulnerabilities.
Bug Bounty Hunter
A bug bounty hunter attempts to find and report software bugs and vulnerabilities to companies in exchange for rewards. Reverse engineering is often used to find obscure bugs. This course provides a foundation in reverse engineering using x64dbg for static analysis, a tool that can aid in finding vulnerabilities. The practical skills learned in this course can be directly applied to finding and exploiting bugs in software, increasing the chances of earning rewards.
Security Researcher
Security researchers investigate software and systems to identify vulnerabilities and develop exploits or mitigations. This work demands expertise in reverse engineering, vulnerability analysis, and ethical hacking. This course helps build a foundation in static analysis using x64dbg, a valuable skill for security researchers. In particular, the ability to view code in graphical form and modify program behavior, as taught in the course, aids in understanding and manipulating software to uncover security flaws.
Malware Analyst
Malware analysts dissect malicious software to understand its behavior, identify its purpose, and develop countermeasures. This role requires a deep understanding of assembly language, debugging tools, and reverse engineering techniques. This course may be useful because it teaches how to use x64dbg to perform static analysis, a vital technique in malware analysis. The course's focus on graphical analysis of code helps analysts quickly grasp the structure and logic of malware. The course content on patching programs could be useful toward understanding how to neutralize malware.
Penetration Tester
A penetration tester, also known as an ethical hacker, attempts to find and exploit vulnerabilities in computer systems. To be effective, they need to reverse engineer applications and systems to identify weaknesses. This course helps build a foundation in static analysis using x64dbg, a tool that can aid in finding vulnerabilities during penetration testing. The ability to modify program behavior and patch programs, as covered in the course, provides hands-on experience in manipulating software to uncover security flaws.
Exploit Developer
Exploit developers create code that takes advantage of vulnerabilities in software or hardware. This requires a deep understanding of system architecture, assembly language, and reverse engineering techniques. This course may be useful to learn how to use x64dbg to perform static analysis, a powerful tool for exploit development. The course's emphasis on modifying program behavior and patching programs is very relevant to the tasks of an exploit developer, providing practical experience in manipulating code.
Application Security Engineer
Application security engineers focus on ensuring the security of software applications throughout the development lifecycle. Reverse engineering skills can be valuable for identifying vulnerabilities in existing applications or understanding the behavior of third-party components. This course may be useful because it teaches how to use x64dbg for static analysis, a technique useful for application security analysis. The graphical analysis capabilities of x64dbg that are emphasized in the course enables application security engineers to examine the structure and logic of applications and identify potential security flaws.
Firmware Engineer
Firmware engineers develop and maintain the software embedded in hardware devices. Reverse engineering skills are valuable for analyzing existing firmware, identifying vulnerabilities, or customizing devices. This course may be useful by showing how to use x64dbg to perform static analysis on software. The course's focus on disassembling programs and representing them graphically can be especially helpful for understanding the complex code found in firmware.
Software Engineer
Software engineers are involved in the design, development, testing, and maintenance of software systems. Understanding reverse engineering principles can enhance their ability to debug, optimize, and secure code. This course helps build a foundation in static analysis using x64dbg, a useful skill for software engineers. The course content on graphical analysis of code helps engineers visualize program flow and identify potential issues. The material on patching programs provides insights into how to fix bugs and improve software quality.
Cybersecurity Analyst
Cybersecurity analysts protect computer systems and networks from threats. While this role has a broad scope, a solid understanding of reverse engineering can be helpful when analyzing malware or investigating security incidents. This course may be helpful for learning how to use x64dbg for static analysis, which can be valuable for examining suspicious code. The graphical analysis capabilities of x64dbg, as covered in the course, enables analysts to quickly understand the structure and behavior of potentially malicious software.
Software Developer
Software developers create, test, and maintain software applications. While not always directly involved in reverse engineering, understanding how software works at a low level can improve a developer's ability to write secure and efficient code. This course may be useful because it shows how to disassemble programs and analyze them using x64dbg, providing insights into software behavior. The material on debugging and patching programs also helps developers better understand how to fix bugs and improve code quality.
Security Consultant
Security consultants advise organizations on how to improve their security posture, which sometimes involves reverse engineering to assess the security of software or systems. The course may be helpful in showing how to use x64dbg for static analysis, a valuable technique for security assessments. In particular, the ability to view disassembled code in graphical form can help consultants quickly understand the structure and identify potential vulnerabilities. Advanced degrees like a Master's are often required.
Game Engineer
Game engineers develop and maintain video games. Reverse engineering can be useful for understanding game mechanics, modding games, or analyzing game security. This course may be useful in this field because it will show how to use x64dbg for static analysis, a technique useful for reverse engineering games. The course's focus on modifying program behavior and patching programs can be particularly relevant for game modding, allowing engineers to customize and enhance game features.
Software Quality Assurance Engineer
Software quality assurance engineers test software to ensure it meets quality standards. This role may involve reverse engineering to understand the internal workings of software and identify potential defects. This course may be useful for it will show how to use x64dbg for static analysis, which can be valuable for examining code and identifying potential issues. The graphical analysis capabilities of x64dbg helps quality assurance engineers easily understand the structure and behavior of software, facilitating more effective testing.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Reverse Engineering 3: x64dbg Graphical Static Analysis.
Provides a comprehensive guide to reverse engineering techniques, covering x86 and x64 architectures. It delves into various reversing tools and methods for analyzing obfuscated code. It valuable resource for understanding the underlying principles of reverse engineering and applying them in practice. This book is commonly used by professionals in the field.
Is an excellent starting point for individuals new to reverse engineering. It covers fundamental concepts and techniques in a clear and accessible manner. It provides a solid foundation for understanding more advanced topics. This book is particularly helpful for those who need to build a strong base before diving into more complex materials.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser