Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
CrackMe - Wikipedia, wolna encyklopedia

CrackMe

Z Wikipedii

CrackMe (dosłownie "złam mnie") to mały program stworzony tylko i wyłączne w celu złamania jego zabezpieczenia (lub zabezpieczeń), czyli odgadnięcie klucza, odpowiednie spreparowanie kodu wykonywalnego itp. Pisany najczęściej przez jednego crackera dla innych crackerów w celu sprawdzenia umiejętności reverse engineering.

Programy Crackme mają podobne zabezpieczenia do tych stosowanych w aplikacjach komercyjnych. Poprawne rozwiązanie danego crackme zwykle określa autor i dołącza tą informację w postaci pliku readme lub informacji w samym programie. Czasami pojawiają się zakazy co do używania konkretnego narzędzia, jednak respektowanie tych zasad zależy do crackera. Typ rozwiązania uzależniony jest od natury samego crackme przy czym można dokonać następującego podziału programów crackme ze względu na cel jaki postawił autor:

  • odnalezienie numeru seryjnego - co jest demonstracją zabezpieczenia "serial fishing",
  • napisanie keygena do crackme - ten typ crackme nazywany jest również mianem "KeygenMe",
  • stworzeniu cracka - czyli patcha zmieniający kod binarny crackme,
  • dopisaniu nowej funkcjonalności programu - typ nazywany jest także mianem "ReverseMe",

Część programów crackme zawiera kod wykrywający różne narzędzia, którymi często posługują się crackerzy (np. OllyDbg, SoftICE). Kod ten stosowany jest aby utrudnić analizę kodu crackme. Czasami należy zneutralizować taki kod, aby poprawnie rozwiązać dane crackme.

Przykładowo prosty program CrackMe może wyglądać następująco:

#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
  int serial = 123;
  int liczba;
  int i;

  cout << "Podaj serial:" << endl;
  for (int i = 0; i < 32; i++)
  {
    cin >> liczba;

    if (liczba == serial)
    {
      cout << "Gratuluję, podany numer jest prawidłowy!" << endl;
      cout << "Koniec programu." << endl;
      return 0;
    }
    else
    {
      cout << "Numer nieprawidłowy." << endl;
    }
  }
}

Po skompilowaniu i przeanalizowaniu programu np. narzędziem IDA widać, że aby obejść zabezpieczenie wystarczy zmienić instrukcję jnz (skocz jeżeli nie zero) na jz (skocz jeżeli zero) i program zaakceptuje każdy numer seryjny poza oryginalnym (w tym wypadku 123). Niescrackowany program skacze do funkcji wyświetlającej komunikat o dobrym numerze seryjnym, jeżeli wpisany numer jest identyczny z tym zapisanym w programie, natomiast program scrackowany w podany sposób działa odwrotnie.

Plik wygenerowany programem IDA pokazujący różnicę między wersją z zabezpieczeniem i zmodyfikowaną wersją bez zabezpieczeń może wyglądać w tym przypadku następująco:

This difference file is created by The Interactive Disassembler
crackme
00000797: 75 74

Dzięki temu wiadomo, że aby zcrackować to crackme wystarczy w skompilowanym pliku dowolnym hexedytorem znaleźć adres 00000797 i zmienić wartość bajtu z 75 na 74. To przykładowe crackme przedstawia oczywiście najprostsze możliwe zabezpieczenie. W przypadku tego programu można również w prosty sposób odczytać poprawny numer seryjny. Bardziej zaawansowane crackme generują fałszywe seriale, są skompresowane, zaszyfrowane lub wykorzystują skomplikowane algorytmy sprawdzające poprawność podanych danych, w związku z czym rozwiązanie ich wymaga dużo większego nakładu pracy.

[edytuj] Linki zewnętrzne

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com