Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 12:13

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Oder Verknüpfung Problem

Discussion on Oder Verknüpfung Problem within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
Oder Verknüpfung Problem

Hi leuts,

ich stehe vor einem Problem undzwar,
ich habe 2 Random (Unbekannte Bytes) bsp. 0x80 & 0x04 bei einer logischen Oder Verknüpfung ergibt das 0x84.
Nun weiß ich nicht wie ich aus der 0x84 wieder die 0x80 & 0x04 bekomme, hoffe mir mag wer helfen.
BrendonHomo is offline  
Old 03/25/2012, 13:40   #2
 
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
Es ist eben kein logisches OR sondern ein bitweises OR. OR ist destruktiv und kann nicht umgedreht werden.
SmackJew is offline  
Thanks
1 User
Old 03/25/2012, 13:51   #3
 
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
Hm, blöd.
Brauche aber die Bytes um ein Packet zu entschlüsseln was so gebaut wird,
beispiel der string ist 13346.
1 in hex (0x31) wird mit 0x14 addiert und - 0x2 genommen,
der zweite buchstabe/zahl wird mit 0xD0 und - 0x4 genommen,
danach werden die 2 ergebnisse mit OR verknüpft.
Deswegen wollte ich die OR Operation rückgängig machen um den Packetstring wiederherzustellen.
Wie soll ich nun an die 2 Bytes kommen, hast du vll eine idee?
BrendonHomo is offline  
Old 03/25/2012, 14:06   #4
 
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
Du weißt also wie die Encryption funktioniert, aber nicht wie die Decryption funktioniert? Klingt etwas unwahrscheinlich. Ich bezweifle sehr, dass das Paket so verschlüsselt wird, denn wie gesagt, OR bedeutet Datenverlust.
SmackJew is offline  
Old 03/25/2012, 14:09   #5
 
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
Quote:
Originally Posted by SmackJew View Post
Du weißt also wie die Encryption funktioniert, aber nicht wie die Decryption funktioniert? Klingt etwas unwahrscheinlich. Ich bezweifle sehr, dass das Paket so verschlüsselt wird, denn wie gesagt, OR bedeutet Datenverlust.
Encrypten kann ich das Packet ohne Probleme,
aber decrypten wegen dem OR nicht, das ist ja das problem.

PS: Das ist das Packet was vom Clienten zum Server gesendet wird.
Bzw, möglich muss das ja irgendwie sein, der Server muss das Packet ja wieder entschlüsseln.
BrendonHomo is offline  
Old 03/25/2012, 14:14   #6
 
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
Quote:
Originally Posted by BrendonHomo View Post
Bzw, möglich muss das ja irgendwie sein, der Server muss das Packet ja wieder entschlüsseln.
Richtig, und solange nicht extra Informationen mitgesendet werden ist das nicht möglich, Schlussfolgerung: a) Du bist nicht an der Encryption, b) Du verstehst die Encryption nicht oder c) der Server möchte überhaupt nicht den Originalstring wiederherstellen.

Wenn du dir so sicher bist es ist die Encryption schau dir die Decryption an.
SmackJew is offline  
Old 03/25/2012, 14:34   #7
 
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
Hab was übersehen, konnte das problem nun lösen, dennoch danke für den versuch zu helfen

Hier kann nun zu.

Edit: Doch nicht zu, hab mich geeirrt ich poste einfach mal die routine, falls die euch so was bringt was ich eher bezweifel.


Wiegesagt Encrypten alles kein Problem,
decrypten aufgrund der OR operation schon und im Packet selbst ist sonst nichtsmehr angegeben.

Packet sieht so aus:
0x87 0x9D 0x59 0x91 0x40 0xFF

Währe als Plaintext so:

59168 0

0x87 ^ 0x80 = 7 länge des packets
0xFF kennzeichnet das Ende
und die 4 Bytes in der mitte sind immer das Ergebnis der OR operation.
BrendonHomo is offline  
Old 03/25/2012, 22:15   #8


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Quote:
Originally Posted by SmackJew View Post
Du weißt also wie die Encryption funktioniert, aber nicht wie die Decryption funktioniert? Klingt etwas unwahrscheinlich. Ich bezweifle sehr, dass das Paket so verschlüsselt wird, denn wie gesagt, OR bedeutet Datenverlust.
Nicht zwingend, die Restruktion ist nur nicht so offensichtlich bzw. in komplizierteren Gleichungen verwendet geht es schon:

Code:
bool decryptX4(DWORD size, BYTE* data) 
{		
        DWORD i = 0;
	while ( i < size )
	{
		*data = ((signed int)*data >> 1) & 0x7F | (unsigned __int8)(((*data & 1) << 7) & 0x80);
		*data++ ^= Key[i++ % 40];
	}
	return true;
}

bool encryptX4(DWORD size, BYTE* data)
 {
	DWORD i = 0;
		
	while ( i < size )
	{
		*(BYTE *)data ^= Key[i % 40];
		*(BYTE *)data = (unsigned __int8)(2 * *(BYTE *)data & 0xFE) | ((*(BYTE *)data & 0x80) >> 7) & 1;
		++data;
		++i;
	}
	return true;
}
Fällt mir da spontan ein (ein alter Sourcecode zum Entschlüsseln der Resource Dateien von S4 von Asiro).
Leute, die sich solche Verfahren ausdenken, haben oftmals viel Ahnung von bitweisen Operationen und wissen, zu welcher Funktion welche die Gegenfunktion ist. Die Operation OR alleine mag destruktiv sein, mit den richtigen Operanden verwendet geht es aber, wie man sieht.
[/klugscheiß]
MrSm!th is offline  
Thanks
2 Users
Old 03/26/2012, 12:38   #9
 
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
Tatsache, hab durch probieren ne Formel rausgefunden die einwandfrei funktioniert, beim Byte einmal <<4 und >> 4 und dann das ergebnis *0x10 und das andere / 0x10 kriege dann die 2 Bytes raus ;p ( funktioniert einwandfrei )
Vielen dank für die hilfe
BrendonHomo is offline  
Reply


Similar Threads Similar Threads
[PROBLEM] WIN7 ERKENNT ALLES ALS VERKNÜPFUNG
11/05/2011 - Main - 4 Replies
Hi, ich habe ein großes problem mit meinen pc , er erkennt alle USB/Externe Festplatten und SD Karten nicht so wirklich . Ich hab paar Pics gemacht da ich das nicht erklären kann was der pc hat . Pics. : Directupload.net - Dwdslogw6.png



All times are GMT +2. The time now is 12:13.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.