Programming Zone!

10/06/2007 13:34 SFX-Cookie#16
Quote:
Originally Posted by bboh1 View Post
schon klar. ist einfacher... aber kleines problem...

...ausser unserem 17 jährigen lieblings italiano hat niemand die crypt table :)

wen meinst du damit? 5andr0?
10/06/2007 14:59 Zeroooo#17
Quote:
Originally Posted by bboh1 View Post
schon klar. ist einfacher... aber kleines problem...

...ausser unserem 17 jährigen lieblings italiano hat niemand die crypt table :)
it's not even a table. AES crypted. no table. so noone has it at all. k?
10/06/2007 16:17 bboh1#18
aber sandro hat die verschlüsselung...
10/07/2007 17:16 ingam0r#19
Hab mir gerade mal in paar Webseiten zu AES ageschaut. Kann sein, dass Du die Rcon oder die Sbox-Tabelle gefunden hast. Die sind aber, so wie ich das verstanden habe, in jeder Implementierung des AES-Verfahrens gleich. Interessant wäre die Stelle, wo die Key Expansion stattfindet. Dort bekommt man den eigentlichen Key präsentiert.

Kannst Dir ja mal diesen Code anschauen:
[Only registered and activated users can see links. Click Here To Register...]

Vor allem dieser Teil aus der Funktion aes_set_key(...) könnte interessant sein:
Quote:
for( i = 0; i < 10; i++, RK += 4 )
{
RK[4] = RK[0] ^ RCON[i] ^
( FSb[ (uint8) ( RK[3] >> 16 ) ] << 24 ) ^
( FSb[ (uint8) ( RK[3] >> 8 ) ] << 16 ) ^
( FSb[ (uint8) ( RK[3] ) ] << 8 ) ^
( FSb[ (uint8) ( RK[3] >> 24 ) ] );

RK[5] = RK[1] ^ RK[4];
RK[6] = RK[2] ^ RK[5];
RK[7] = RK[3] ^ RK[6];
}
Etwas in der Art müsste in jedem Programm in dem AES verwendet wird vorkommen. Kannst den Code ja mal kompilieren und disasemblieren um zu sehen wie sowas aussehen könnte. In der for-Schleife oben werden die einzelnen Runden-Schlüssel berechnet.
10/07/2007 22:03 R4Yx#20
die messagebox ist glaube ich dafür, wenn man z.b. die engine.exe mit falschen parametern startet das man einen error bekommt. Weil das andere sollte über direktx laufen. und ich bin mir fast zu 100% sicher, dass der befehl da nicht messagebox heißt ;)

MfG
R4Y
10/07/2007 22:05 R4Yx#21
zu der verschlüsslung:

Die crypt ist 128bit AES.

Der key wird in dem packet 2A gesendet welches extra verschlüsselt ist ;)und der key müsste wenn ich mich nicht irre der 5byte sein
10/07/2007 22:18 ingam0r#22
Lass mich raten... der Key für Paket 0x2A ist in der engine.exe?

Weiss nur, dass bei der alten Verschlüsselung in Paket 0x2A der erste zu verwendende Schlüssel für die Crypt-Tabelle übertragen wurde. Das war glaube ich das 5te Byte. Und das 18te Byte war ne Bitmaske die anzeigte welche Events auf dem Server eingeschaltet waren.

Auf jeden Fall mal danke für die Antwort!
10/07/2007 22:25 R4Yx#23
jaein

die verschlüsslung is in der engine klar...

aber man könnte es sich auch einfacher machen ;)

man könnte doch einfach die decrypt und encrypt function der engine hooken... braucht aber viel asm erfahrung.
10/07/2007 23:16 rEdoX#24
Um die verschluesselung zu reversen braucht man wesentlich mehr erfahrung als wenn man _nur_ die funktionen hook moechte.
10/08/2007 11:12 R4Yx#25
sagte ich ja... man braucht sehr viel asm erfahrung.. die ich noch nicht habe!
10/08/2007 11:34 ingam0r#26
Jo. Das mit der ASM-Erfahrung glaub ich Dir gerne. Ist eigentlich nicht so mein Fall, aber lesen kann ich's mittlerweile recht gut. Ob es ausreicht um die Verschlüsselung zu reversen steht wiederum auf 'nem anderen Blatt.

Ein netter Anfang wäre es, wenn mir jemand ne entpackte Int-Engine zur Verfügung stellen könnte. Lieber wär mir eine Art Tutorial zum entpacken von Armadillo. Siehe anderer Thread.

Viele Grüße!
10/08/2007 12:17 bloodx#27
Wenn ich zu hause bin Uploade ich die einfach mal :) naja arbeite mit ZeroTen grade am neuen KHI ;) bisher funzt sogut wie alles ganz gut hehe :) naja werdet ihr vllt heute noch was davon sehen löl :P
10/08/2007 17:53 ingam0r#28
Das wär nett wenn Du das machen könntest bloodx. Danke!
10/08/2007 18:18 bloodx#29
Hier kp ob ich da schon wat gemacht habe :P

[Only registered and activated users can see links. Click Here To Register...]
10/09/2007 00:50 ingam0r#30
Erstmal danke für den Upload. Hab mich natürlich auch schon brav bedankt.

Ich hab mir das Teil mal angeschaut, werde allerdings nicht ganz schlau draus. Ich kann z.B. keinen einzigen Aufruf von Winsock-Funktionen finden. In der alten Engine (die mit PECompact gepackt war) waren davon allerdings einige vorhanden. Außerdem kann ich keinen einzigen Import aus den DirectX-Bibliotheken finden. So etwas sollte aber definitiv vorhanden sein.

Armadillo benutzt ein paar miese Tricks um API-Aufrufe zu verschleiern. Diese Verschleierung muss beim entpacken rückgängig gemacht werden. Sonst gibts Stress. *g*

Wurde in Deiner Version die Import Table bereits gefixt?

Gruß,
ingam0r