├── JavaCrackMaster.java ├── README.md └── pom.xml /JavaCrackMaster.java: -------------------------------------------------------------------------------- 1 | import java.util.Scanner; 2 | 3 | public class JavaCrackMaster { 4 | 5 | // Function to obfuscate characters 6 | private static char obfuscate(char c) { 7 | return (char) (c ^ 0x5A); 8 | } 9 | 10 | // Function to get the obfuscated correct password 11 | private static String getObfuscatedPassword() { 12 | String password = "SecurePass123"; 13 | StringBuilder obfPassword = new StringBuilder(); 14 | for (char c : password.toCharArray()) { 15 | obfPassword.append(obfuscate(c)); 16 | } 17 | return obfPassword.toString(); 18 | } 19 | 20 | // Function to check the password 21 | private static boolean checkPassword(String input) { 22 | String obfuscatedPassword = getObfuscatedPassword(); 23 | StringBuilder obfInput = new StringBuilder(); 24 | for (char c : input.toCharArray()) { 25 | obfInput.append(obfuscate(c)); 26 | } 27 | return obfInput.toString().equals(obfuscatedPassword); 28 | } 29 | 30 | public static void main(String[] args) { 31 | System.out.println("Welcome to JavaCrackMaster!"); 32 | System.out.print("Please enter the activation password: "); 33 | 34 | Scanner scanner = new Scanner(System.in); 35 | String input = scanner.nextLine(); 36 | scanner.close(); 37 | 38 | // Small delay to complicate analysis 39 | try { 40 | Thread.sleep(500); // 500 milliseconds 41 | } catch (InterruptedException e) { 42 | Thread.currentThread().interrupt(); 43 | } 44 | 45 | if (checkPassword(input)) { 46 | System.out.println("Congratulations! You have cracked JavaCrackMaster."); 47 | } else { 48 | System.out.println("Incorrect password. Please try again."); 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # JavaCrackMaster 2 | 3 | JavaCrackMaster is an educational CrackMe project written in Java, designed to enhance skills in reverse engineering, code analysis, and software security. The program verifies user-entered activation passwords using basic obfuscation techniques to complicate code analysis. 4 | 5 | ## Features 6 | 7 | - Simple command-line interface 8 | - Activation password verification with basic obfuscation 9 | - Protection against straightforward code analysis 10 | - Detailed documentation for beginners 11 | 12 | ## Installation 13 | 14 | ### Prerequisites 15 | 16 | - Java Development Kit (JDK) 8 or higher 17 | - Maven (optional, if using `pom.xml`) 18 | 19 | ### Steps 20 | 21 | 1. **Clone the repository:** 22 | ```bash 23 | git clone https://github.com/yourusername/JavaCrackMaster.git 24 | cd JavaCrackMaster 25 | ``` 26 | 27 | 2. **Compile the program:** 28 | - Using `javac`: 29 | ```bash 30 | javac JavaCrackMaster.java 31 | ``` 32 | - **Optional:** Using Maven: 33 | ```bash 34 | mvn compile 35 | ``` 36 | 37 | ## Usage 38 | 39 | Run the program using the following command: 40 | 41 | ```bash 42 | java JavaCrackMaster 43 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 5 | 4.0.0 6 | 7 | com.yourusername 8 | JavaCrackMaster 9 | 1.0.0 10 | jar 11 | 12 | JavaCrackMaster 13 | Educational CrackMe project in Java for reverse engineering practice. 14 | 15 | 16 | 1.8 17 | 1.8 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | org.apache.maven.plugins 29 | maven-compiler-plugin 30 | 3.8.1 31 | 32 | 33 | 34 | org.apache.maven.plugins 35 | maven-shade-plugin 36 | 3.2.4 37 | 38 | 39 | package 40 | shade 41 | 42 | 43 | 44 | JavaCrackMaster 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | --------------------------------------------------------------------------------