Skip to content

Source codes for CrackMe with modern GUI forms written in Visual C++ with CLR (.NET Framework)

Notifications You must be signed in to change notification settings

d4ichi/CrackMe-DotNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CrackMe Source Code (.NET Framework)

This repository offers source codes for CrackMes with modern GUI forms written in Visual C++ with CLR. The main target of this repository is CTF organizers or Computer Science students who would like to develop small CrackMe with modern GUI or anyone interested in Software Reverse Engineering.

You can find a compiled EXE binary in Release folder for each CrackMe.

Sample

For CrackMe Creators

Indeed I provide some simple key evaluation functions, you can edit it and make your CrackMe harder as much as you want. All CrackMe here can popup information dialog. So you can put some information about your CTF, author, deadline, or instructions with just replacing some sentences.

For Computer Science Students

If you are studying Software Reverse Engineering, reversing CrackMe is a good way to start your practical exercise. If you don't feel you are ready for CrackMes out there on GitHub, you could start coding your own CrackMe and analyze it. It will be much easier to play around with because you are the creator of the CrackMe. Additionally, it's good for learning Reverse Engineering to observe the consequence of your code/implementation of obfuscation in reversed form.

Contents

CrackMe00

No user inputs are required.

This CrackMe gets the date when it's launched and check if it's before the expiration date.

CrackMe

CrackMe01

One user input is required.

This CrackMe compares user input with a plain text key.

CrackMe

Key for the sample binary:

FH8YALGR

CrackMe02

One user input is required.

GUI is the same as above with a bit more obfuscation for key evaluation. The key is not saved in plain text. The characters' order is reversed.

Key for the sample binary:

hellocrackme

CrackMe03

Two user inputs are required.

One is a username and another is a key. The correct key is generated by combining characters one after another from both built-in seed and username.

CrackMe

An example key combination for the sample binary:

Username: kevinm
Key: Xk6eDveinnGmiE

Requirements

  • All source codes here are written in Microsoft Visual Studio 2017.
  • Microsoft Visual C++ with CLR
  • Target Platform: Windows Desktop 32Bit/64Bit with .NET Framework enabled

Install "Desktop development with C++" workload with "C++/CLI support."

VS2017

How to Build

Clone the entire repository first and open solution file (.sln) on Visual Studio. To build the solution, you have to manually set 2 properties for each solution.

Navigate to "Project -> Properties" on Visual Studio toolbar and set two properties. Make sure set "Configuration: All Configurations" and "Platform: All Platforms" before you set the values below.

  • Linker -> System -> Subsystem: Windows (detail)
  • Linker -> Advanced -> Entry Point: main (detail)

Then, hit "Build -> Build Solution" on toolbar to build the solution!

Notes

I will update/add new CrackMe source codes or templates occasionally.

The "ClaimToFame CTF" is an imaginary competition. Replace it to whatever you want.

About

Source codes for CrackMe with modern GUI forms written in Visual C++ with CLR (.NET Framework)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published