http://cryptolib.com/ciphers/skype/
Obwohl ich C recht gut kann, habe ich Probleme, den Code nachzuvollziehen. Hat er die .c Datei komplett selbst per Hand geschrieben? Ist wirklich beeindruckend, diese ganzen Zahlen.
Leute, die sowas können, müßten aus Gründen der nationalen Sicherheit weggesperrt werden.
Ihr beiden wisst aber schon was reverse engineering ist?
Schon klar, aber das muss doch eine Heidenarbeit gewesen sein, die ganzen Werte da erstmal reinzubekommen. Ich wuesste noch nicht einmal, wie ich an die Werte kaeme.
Programadoro schrieb:
--------------------------------------------------------------------------------
> cryptolib.com
>
> Obwohl ich C recht gut kann, habe ich Probleme, den Code nachzuvollziehen.
> Hat er die .c Datei komplett selbst per Hand geschrieben? Ist wirklich
> beeindruckend, diese ganzen Zahlen.
Ich bezweifle das du auch nur ansatzweise C kannst.
Denn sonst wurde nicht so ein blödsinniger Kommentar kommen.
root23 schrieb:
--------------------------------------------------------------------------------
> Programadoro schrieb:
> ---------------------------------------------------------------------------
> -----
> > cryptolib.com
> >
> > Obwohl ich C recht gut kann, habe ich Probleme, den Code
> nachzuvollziehen.
> > Hat er die .c Datei komplett selbst per Hand geschrieben? Ist wirklich
> > beeindruckend, diese ganzen Zahlen.
>
> Ich bezweifle das du auch nur ansatzweise C kannst.
> Denn sonst wurde nicht so ein blödsinniger Kommentar kommen.
Selbst wenn Du C erfunden hast, bezweifle ich das Du Proggen kannst.
Y?
Ob und worin ich programmiere, ist eigentlich irrelevant fuer die Frage. Also, koennt ihr bitte sachlich bleiben?
Du weißt also doch nicht was reverse engineering ist!
Naja, heute meint schon jeder, dass er programmieren kann, wenn es für ein Hello World gereicht hat.
Ihr seid etwas naiv. Aufgrund eines Postings wollt ihr Rueckschluesse auf mein ganzes Leben und mein Wissen schliessen? Wie soll das denn gehen?
Ich verstehe immer noch nicht, inwiefern das alles relevant fuer meine urspruengliche Frage ist, wie er den Code geschrieben hat? Es ist doch ganz offensichtlich, dass sich schnell Fehler einschleichen koennen, bei den vielen Werten.
Mir ist schon klar, wie Reverse-Engineering funktioniert. Google kann ich schon selber benutzen.
Koennt ihr also mal bitte das daemliche Getrolle unterlassen und einfach mal auf meine Frage eingehen, ohne staendig Ueberheblichkeit zu zeigen?
Nur, weil jemand C kann, muss es doch lange nicht bedeuten, dass er auch Ahnung von Kryptografie hat. Ja, ich kann C. Auch, wenn ihr es mir nicht glauben wollt. Egal, das ist euer gutes Recht. Aber das aendert alles nichts daran, dass ich immer noch unschluessig dem Quellcode gegenueber stehe.
Programadoro schrieb:
--------------------------------------------------------------------------------
> Ihr seid etwas naiv. Aufgrund eines Postings wollt ihr Rueckschluesse auf
> mein ganzes Leben und mein Wissen schliessen? Wie soll das denn gehen?
Nein, das nicht. Aber man kann gewisse Rückschlüsse auf deine Fähigkeiten Grundkonzepte des Reverse-Engineerings zu verstehen machen.
> Ich verstehe immer noch nicht, inwiefern das alles relevant fuer meine
> urspruengliche Frage ist, wie er den Code geschrieben hat?
Ganz einfach, wenn du wirklich so gut C programmieren könntest wie du behauptest, wüsstest du auch wie man "an die Zahlen kommt" zumindest von der Theorie her.
> Es ist doch ganz
> offensichtlich, dass sich schnell Fehler einschleichen koennen, bei den
> vielen Werten.
Fehler können sich natürlich immer einschleichen. Aber die "Werte" wurden ja nicht empirisch ermittelt sondern sind aus struktureller Analyse des bestehenden Codes ermittelt worden.
> Mir ist schon klar, wie Reverse-Engineering funktioniert. Google kann ich
> schon selber benutzen.
Warum stellst du dann solche Fragen, wenn du Google bedienen kannst?
> Koennt ihr also mal bitte das daemliche Getrolle unterlassen und einfach
> mal auf meine Frage eingehen, ohne staendig Ueberheblichkeit zu zeigen?
Nö. Die GANZ konkrete Antwort wird die hier wohl keiner geben können. Nur so viel, dass man mit einem guten Disassembler und Debugger die gesamte Logik des RC4-Algorithmus herleiten kann. Das ist natürlich keine triviale Aufgabe aber trotzdem mit genügend Engagement und Sachverstand machbar.
> Nur, weil jemand C kann, muss es doch lange nicht bedeuten, dass er auch
> Ahnung von Kryptografie hat. Ja, ich kann C. Auch, wenn ihr es mir nicht
> glauben wollt. Egal, das ist euer gutes Recht. Aber das aendert alles
> nichts daran, dass ich immer noch unschluessig dem Quellcode gegenueber
> stehe.
Welche Frage hast du denn konkret? Denn einfach nur zu fragen was das alles ist, bringt weder dir noch denjenigen, die gewillt sind ihr Wissen mit dir zu teilen etwas.
Wie wäre es mit folgendem Ansatz: Compiliere den Code der jetzt veröffentlich wurde und versuche aus dem wieder eine lauffähige Version des Algorithmus zu rekonstruieren. Wenn du das geschafft hast wird dir vielleicht klar, welche groben Schritte notwendig sind, um das Ganze aus der "obfuskierten" ursprünglichen Skype-Version zu bekommen.
Programadoro schrieb:
--------------------------------------------------------------------------------
> cryptolib.com
>
> Obwohl ich C recht gut kann, habe ich Probleme, den Code nachzuvollziehen.
So wie es aussieht ist das ganze alles andere als innovativ sondern nur ein RC4.
Der Rest hat mit "C können" wenig (gelinde gesagt) zu tun. Erstmal also den Algorithmus verstehen (das ist Programmieren) und nicht versuchen den Code zu analysieren (das ist was für Code Monkeys).
wie dumm ihr seit! ihr könnt kein programiersprache und das merkt man sofort, weil wenns nicht so ist könnt ihr mir ja nen spam crawler coden. das will ich mal sehn...
ps.: ich studiere c, c#, c++ und so.
Naja, die Zahlenkolonnen sind meist vorausberechnete Tabellen, die die Ver/Entschlüsselung schneller machen können oder eben der manuell hardkodierte "Initialization Vector".
Und die ganzen IV-Aufrufe sollen wohl den Initialization Vector aufbauen. Das sieht mir schon sehr "automatisiert" aus, denke das dass eine etwas umständliche Variante ist, die beim Decompilen so herauskam.
"In Echt" gibt es sicherlich einen mathematischen Zusammenhang, der diesen ganzen manuell ausgeführten Funktionen folgt und man könnte es auch einfacher schreiben. Aber womöglich hat der Compiler das so umoptimiert, dass es zwangsweise so komisch aussieht und so noch am einfachsten war zu rekonstruieren.
Ich kenne das nur von AES, den kann man recht einfach programmieren oder aber ähnlich umständlich mit verschiedenen Tricks beim Ausführen jeder "Runde". Dann sieht der auch ähnlich komisch aus mit sich scheinbar ständig wiederholdenen Funktionen, welche nur marginale Änderungen haben.
SEHR EINFACHES Bsp:
Statt
for(i=0;i<100;i++)
a=a*i;
könnte ein ausrollendener Optimizer folgenden Code erzeugen, da "von" und "bis" in der for-Loop Konstanten sind:
a[0]=0;
//a[1]=a[1]*1; //fällt weg
a[2]=a[2]*2;
a[3]=a[3]*3;
...
a[99]=a[99]*99;
Das mag man ja noch mal eben so mit dem Auge erkennen können, dass da eine einfache For-Loop dahintersteckt aber es kann ja auch komplexer sein, so dass man auf die Logik hinter der for-Schleife nicht mehr ohne Weiteres kommt... Dann muß man es halt umständlich machen.
hm, da hat die Golem-Forensoftware meiner For-Loop die eckigen Klammern geklaut und dafür den Text kursiv gestellt...
Ein "i" in eckigen Klammern soll wohl ITALIC formatieren...
Also da steht
a [ i ] = a [ i ] * i;
statt:
a=a*i;
Soso du studierst also c, c#, c++ und so!
Geil, für dieses Studium muss ich mich auch einschreiben.
Wie ist denn die Abschlussbezeichnung?
Diplom cc#c++undso oder doch nur Bachelor cc#c++undso?
Es ist mir neu, dass man sowas studieren kann und das sagt absolut gar nichts über die Fähigkeiten aus. Zumal du ja noch studierst, also noch gar nichts kannst.
Du bist schon ein echter Held!
jajaja schrieb:
--------------------------------------------------------------------------------
> wie dumm ihr seit!
Jämmerlich. :>
jajaja schrieb:
--------------------------------------------------------------------------------
> wie dumm ihr seit! ihr könnt kein programiersprache und das merkt man
> sofort, weil wenns nicht so ist könnt ihr mir ja nen spam crawler coden.
> das will ich mal sehn...
>
> ps.: ich studiere c, c#, c++ und so.
dazu kommt noch die so mythologisch hochwissenschaftliche Diktion.
Bin mir aber [(nicht)ironisch] sicher, und so {Anpassung Gesprächspartner}, aber ick globe dein soziales Milieu wird sich nicht an der FH abspielen.
Trittbrettfahrer, könnte man dazu auch sagen
Ja bla, beschäftigt euch einfach mal mit diskreter mathematik, dann kommen euch die "werte" nich mehr so dramatisch vor. Vorlesung Kryptografie I
Die Jungs wollen Lizenzen verkaufen und wollen eine eindeutige Signatur, die sie im Raub-Compilat wiederfinden wollen.
Ausserdem soll nicht jeder Depp begreifen, worum es geht: Obfuscation.
Kommentare: 170 | letzter Beitrag 15:54 Uhr
Kommentare: 94 | letzter Beitrag 26.05. 19:45
Kommentare: 70 | letzter Beitrag 18:13 Uhr
Kommentare: 69 | letzter Beitrag 17:31 Uhr
Kommentare: 57 | letzter Beitrag 17:52 Uhr
E-Mail an news@golem.de

Nach der Urteilsverkündung im Rechtsstreit zwischen Youtube und Gema fühlten sich beide Seiten als Gewinner. In Wahrheit gibt es aber nur einen Verlierer, bloggt Medienrechtsexperte Thomas Hoeren: die Gema.

Ein soziales Netzwerk für Pornografie muss seine Marke nicht an Facebook übergeben. Faceporn, ein norwegisches Unternehmen, freut sich über den Sieg vor einem kalifornischen Gericht.

Diablo 3 ist toll, sagen viele Spieler - Diablo 3 ist eine Stimulus-Response-Maschine, sagt Rainer Sigl. Der Blogger und leidenschaftliche Gamer erklärt, warum er sich Blizzards jüngstem Werk verweigert.

Renesas ist nach Elpida der zweite schwer angeschlagene japanische Chiphersteller. Renesas, das Hitachi, Mitsubishi Electric und NEC gehört, macht Verlust und will seine größte Fabrik verkaufen.

RIM soll in den kommenden Tagen erneut einen massiven Stellenabbau ankündigen. "Ich habe herausgefunden, welche Teile ich in meinem Puzzle nicht mehr benötige", sagte Firmenchef Thorsten Heins.

Ein britisches Blog will erfahren haben, dass Facebook den norwegischen Browserhersteller Opera Software kaufen will. Beide Unternehmen wollen sich dazu nicht äußern.