| curriculum |  |   |  |          
One of the most common questions posed on pages such as this one (aside from "where do I get program xxxx?") is  
"How do I learn to crack programs?" To this end the following "cracking curriculum" has been prepared, linking  
where possible only to files in HTML format. There should be enough internet-available coverage of topics to  
allow the aspirant to learn the intricacies of this trade without purchasing a single text or piece of software.  
Beginners may find the need to assemble a toolkit as well.  
     
Apprentice 
  
Subjects: 
 Beginning Assembly Programming 
Beginning C++ Programming 
Introductory Windows Programming 
Removing Software Protections (Overview) 
Recommended Readings: 
 Art of Assembly 
C Intro 
C Tutorial 
C++: How to Program, by Deitel and Deitel, Prentice Hall 
C++ Tutorial 
Debugger Cracking 101 
+ORC Lessons 1, 
2,    
3.1,  
8.1, and 
8.2 
Revolutionary Guide to Assembly Language, Wrox Press 
Win32 Cracking 
Win32 Programming 
 
 
 
  
Journeyman
  
Subjects: 
 Advanced Assembly Language Programming 
Operating Systems Fundamentals 
Reverse Engineering I 
Recommended Readings: 
 Advice For Protectionists 
Creating Key Generators 
Master Class Assembly Language, Wrox Press 
+ORC Lessons 3.2, 
4.1, 
4.2, 
9.1, 
9.2, and 
9.3 
PE File Format 
Programming Tips: Parameters 
Programming Tips: Memory Diagram 
Programming Tips: Pointers 
Unauthorized Windows 95, by Andrew Schulman, IDG Books 
Undocumented Windows, by Andrew Schulman, Addison Wesley 
Win16 Disassembly 
Win32 Disassembly 
Windows Assembly Language/Systems Programming, by Barry Kauler, R&D Books 
Writing Game Trainers 
 
 
  
Adept
  
Subjects: 
 Advanced Cracking 
Cryptography 
Language Specifics 
OS Internals 
Reverse Engineering II 
Tools: Faults and Weaknesses 
Recommended Readings: 
 Anti-Debugging
(Page) 
C++ Builder Programming 
Basic Cryptography 
Delphi Cracking 
Delphi Programming 
Fooling Disassemblers 
IDA Cracking 1 and 2 
MFC Programming 
Object Oriented Cracking 
+ORC Lessons 5.1 and 
6.1 
Pascal Programming 
Reverse Compilation Techniques 
Self-Modifying Targets 
Soft-Ice Weaknesses 
VB Cracking (supplement) 
VB Program Structure 
VB Programming 
Windows 95 System Programming Secrets, by Matt Pietrek, IDG Press 
 
  
Magus
  
Subjects: 
 Adding Target Functionality 
Compiler Differences 
Multi-OS Cracking 
Recommended Readings: 
 Available Compilers 
Crippled Program Repair 
Extending IDA 
Linux Cracking 
+ORC Lessons A, 
C.3, and 
C.1 
Unix Internals, by Steve Pate, Addison Wesley 
X-Windows Cracking 
 
 
 
  
From here the student is released into independent study, commonly into specialty areas such as 
virii programming, cryptography, and disassembler or VxD writing. Note that this is by no means 
a comprehensive list of source material, but rather a selection of recommended (and preferred) 
resources which the enthusiast may utilize as a starting point for the varying branches of their 
cracking education. 
 
 
 
 
 
 
 
 
 
 
 
    
 
  |            
         |    |          
                 
                 
         |