├── README.md ├── build.gradle.kts └── src └── main └── kotlin └── KotlinCrackMaster.kt /README.md: -------------------------------------------------------------------------------- 1 | # KotlinCrackMaster 2 | 3 | KotlinCrackMaster is an educational CrackMe project written in Kotlin, 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 | - Kotlin (version 1.5 or higher) 17 | - Java Development Kit (JDK) 8 or higher 18 | - Gradle (comes with the project) 19 | 20 | ### Steps 21 | 22 | 1. **Clone the repository:** 23 | ```bash 24 | git clone https://github.com/yourusername/KotlinCrackMaster.git 25 | cd KotlinCrackMaster 26 | ``` 27 | 28 | 2. **Build the project using Gradle:** 29 | ```bash 30 | ./gradlew build 31 | ``` 32 | 33 | The compiled JAR will be located in `build/libs/`. 34 | 35 | ## Usage 36 | 37 | Run the program using the following command: 38 | 39 | ```bash 40 | java -jar build/libs/KotlinCrackMaster.jar 41 | -------------------------------------------------------------------------------- /build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | kotlin("jvm") version "1.5.30" 3 | application 4 | } 5 | 6 | group = "com.yourusername" 7 | version = "1.0.0" 8 | 9 | repositories { 10 | mavenCentral() 11 | } 12 | 13 | dependencies { 14 | implementation(kotlin("stdlib")) 15 | } 16 | 17 | application { 18 | mainClass.set("KotlinCrackMasterKt") 19 | } 20 | -------------------------------------------------------------------------------- /src/main/kotlin/KotlinCrackMaster.kt: -------------------------------------------------------------------------------- 1 | import kotlin.system.exitProcess 2 | 3 | // Function to obfuscate characters 4 | fun obfuscate(c: Char): Char { 5 | return (c.code xor 0x5A).toChar() 6 | } 7 | 8 | // Function to get the obfuscated correct password 9 | fun getObfuscatedPassword(): String { 10 | val password = "SecurePass123" 11 | return password.map { obfuscate(it) }.joinToString("") 12 | } 13 | 14 | // Function to check the password 15 | fun checkPassword(input: String): Boolean { 16 | val obfuscatedPassword = getObfuscatedPassword() 17 | val obfuscatedInput = input.map { obfuscate(it) }.joinToString("") 18 | return obfuscatedInput == obfuscatedPassword 19 | } 20 | 21 | fun main() { 22 | println("Welcome to KotlinCrackMaster!") 23 | print("Please enter the activation password: ") 24 | 25 | val input = readLine()?.trim() ?: "" 26 | 27 | // Small delay to complicate analysis 28 | Thread.sleep(500) 29 | 30 | if (checkPassword(input)) { 31 | println("Congratulations! You have cracked KotlinCrackMaster.") 32 | } else { 33 | println("Incorrect password. Please try again.") 34 | } 35 | 36 | exitProcess(0) 37 | } 38 | --------------------------------------------------------------------------------