Wyzywam cię na pojedynek!

0

Wiec tak jak w temacie!
Wyzywam was "crackerzy" na bitwę o honor!
Pod linkiem : http://cone.webd.pl/crack_me.jmx jest plik, który został zaszyfrowany!
Pod linkiem http://cone.webd.pl/?id=projekty&id2=cone jest program który użyto do zaszyfrowania pliku JPG(nim stworzyłem crack_me.jmx).

Są wakacje, nikt mi nie powie, że ma sesje...;)
Zadanie wygląda tak:
Wyciągnij z zakodowanego pliku obrazek w oryginalnej wielkości i podaj hasło jakim jakodowano jpega!
Program posiada pomoc jeśli ktoś miałby problemy z obsługą.

Nagroda? Stawiam 0,5 Sobiecha osobie która, zamieści tu oryginalnego jpega i hasło do pliku.

Po co to robie? Jestem autorem programu, którym zakodowano tego JPEGa, koledzy forumowicze są ciekawi na ile moje dzieło faktycznie jest bezpieczne, zresztą ja tez! Link do tematu z forum : http://4programmers.net/Forum/viewtopic.php?id=112863

Czekam :)

0

stawiac pol sobiecha mozesz.. ale namawiasz ludzi do lamania prawa. wycinek z licencji do programu CONE:
http://cone.webd.pl/?id=projekty&id2=cone-pobierz

Modyfikacja.
zakazuje się potencjalnemu użytkownikowi programu CONE przeglądu kodu binarnego programu, nie dopuszczane jest debugowanie, czyli procesu śledzenia działania programu CONE za pomocą programu - debugera w celu wychwycenia i naprawy błędów w działaniu uruchamianego oprogramowania a także podglądania i ewentualnej zmiany zawartości rejestrów, pamięci itd.

naklanianie do lamania prawa jest przestepstwem. uwazaj.

0

Zgodnie z ta licencją jeśli masz jakiegokolwiek antywirusa/personal firewalla to nie możesz używać programu CONE :]

0

haslo do pliku: kasablanka, zajelo parenascie minut..

0

Ale to mój program, i mowie że możesz!
Jeśli zechcesz mi dać kilka wskazówek, jak to zabezpieczyć by odblokowanie nie trwało kilkunastu minut, będę wdzięczny.

8-O kopara mi opadła, wyślij mi swój adres na [email protected]

0

czlowiecze. pod moim postem jest przycisk "EMAIL" :) poza tym zaraz dostaniesz nastepna nowinke jaka opracowalismy z deusem

0

Cóż, nieco rozwinąłem to co z quetzalcoatlem opracowaliśmy ale nie starczyło mi sił na zrobienie decryptera pliku /w sumie to jest ale rozgrzebany/.
Jak to zrobiliśmy? Cóż, program tak jak od początku sądziłem aby wyświetlić miniaturę odtwarza hasło przy pomocy którego odkodowuje plik. Przy odrobinie szczęścia wystarczy przeszukać stertę - hasło nawet po użyciu pozostaje jako śmieć w pamięci, jest zapisane jawnie... Generalnie szyfrowanie jest daremne... całość sprowadza się do odczytywania kolejnych znaków i sprawdzania czy ich pozycja spełnia odpowiednią zależność:
(nr_znaku/10)*10+marker == nr_znaku
Mnożenie z dzieleniem na na celu wyzerowanie cyfry jedności /przypominam iż operujemy na liczbach całkowitych/. Następnie zależnie od danych w nagłówku wykonywana jest korekta w górę lub w dół. Samo w sobie jest to prymitywne... ale można tą zależność ładnie przekształcić:
bufor[nr_znaku_hasla*10+marker-1] // zakładając iż bufor jest zero based
Cóż, odczyt fragmentów pliku bajt po bajcie rewelacyjnym pomysłem nie jest... Zrekonstruowaliśmy też nagłówek pliku... nie było to trudne mimo iż program pisany jest w Delphi 3, efekty pracy tego kompilatora są dosyć paskudne w analizie... ciekawym 'bajerem' jest pole bLockFile - umożliwia zablokowanie dostępu do pliku /odczytu nawet przeznaczonym do tego programem/.
Hm... jak to zabezpieczyć? Pomysł z miniaturami jest niezbyt rewelacyjny - są tylko 2 wyjścia:

  • przeskalowaną bitmapę dołączać do pliku
  • potraktować program jakimś protectorem /np. świetnym polskim PELock'iem/
    Użyj jakiegoś normalnego kryptosystemu bo ten... ekhm... nie spełnia maksymy Shannona - 'wróg zna system jakiego używamy', system mimo wszystko musi pozostać bezpieczny przez określony okres czasu. Zapis hasła w pliku jest prostą drogą do katastrofy niezależnie od sposobu jego zaszyfrowania. Zawsze znajdzie się reverse engineer, który wydobędzie algorytm jego odtwarzania.
    Pozwilisz, że skończę na teraz, może wieczorem coś napiszę, teraz muszę odpocząć... polecamy się na przyszłość :-)
    Odczytywajka haseł jaką na szybko napisalem w C++: /zakłada poprawność formatu pliku, używa zoptymalizowanego przeze mnie algorytmu... miało być w asm, ale z quetzalcoatlem doszliśmy do wniosku, że w C++ więcej osób ten kod zrozumie/
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

typedef unsigned long DWORD;
typedef unsigned char BYTE;

typedef struct _JMXHEADER
{
	BYTE	bMagic[8];
	DWORD       dwFileSize;
	DWORD       dwPassOffset;
	DWORD       dwOrgFileSize;
	BYTE	bPassLen;
	BYTE	bTrigger;
	BYTE	bDisp;
	BYTE	bMarker;
	BYTE	bLockFile;
	BYTE	bRest[3];
} JMXHEADER, *PJMXHEADER;

int main (int argc, char* argv[])
{
    JMXHEADER fHeader;
    char cCrypted [100], cFilePassword [11];

	cout << "JMX Password Reader by deus & quetzalcoatl" << endl << endl;

	if (argc != 2)
	{
		cout << "usage: " << *argv << " filename.jmx" << endl;
		return -1;
	}
	ifstream iFile (argv[1], ios::binary);
	if (!iFile)
	{
		cout << "File not found: " << argv[1] << endl;
		return -1;
	}

	iFile.read (reinterpret_cast<char*>(&fHeader), sizeof (JMXHEADER));
	iFile.seekg (fHeader.dwFileSize + fHeader.dwPassOffset + sizeof (JMXHEADER));
	iFile.read (cCrypted, fHeader.bPassLen * 10);

	for (unsigned uCurrent = 0; uCurrent < fHeader.bPassLen; uCurrent++)
		cFilePassword[uCurrent] = (cCrypted [uCurrent*10+fHeader.bMarker-1]
		+ (fHeader.bTrigger == 1 ? -fHeader.bDisp : fHeader.bDisp));

	cFilePassword[fHeader.bPassLen] = 0;

	cout << "Password: " << cFilePassword << endl;
	iFile.close();
}

Przepraszam, że formatowanie nie jest idealne ale... nie chce mi się juz tego poprawiać... a, zrób cywilizowany interface - to pierwszy program, do którego musiałem manuala czytać aby go w ogóle zacząć używać.
[Dodane] Otworzoną fotkę chciałeś: http://wrzuc.net/get.php?what=nvgj86qdcrack_me.jpg

p. s. chyba powstał nowy zabójczy duet na 4p - d&q ;-P
[browar] @quetzalcoatl, za współpracę :-)

0

Panowie, bardzo wam dziękuje za pomoc! Troszeczke mnie zaskoczyliscie, ze tak szybko to wam poszlo. Uswiadomiliscie mi jak slabo program zabezpiecza dane, dziekuje. Juz zabieram sie do poprawek. Mam nadzieje, ze piszecie się na rewanz.

Quetzalcoatl - nie denerwuj się tak, nie ma powodu. Prosilem o adres domowy, na ktory przesle nagrode, byles pierwszy.

0

oj.. to przerpaszam najmocniej, kompletnie nie zrozumialem pytania

0

Z mojej strony tylko dodam skromnie: gratulacje dla was.

0

nie martw sie, kwestia ja-my-jedensobiech zostanie zalatwiona :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1