Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a.

Compiler-Optimierungen entschlüsseln

Diskussion: Compiler-Optimierungen entschlüsseln im Forum Cryptography & Encryption, in der Kategorie Security Area; Anzeige Hallo, ich bin gerade folgender Compiler-Optimierung begegnet: Code: [...] mov ecx,0xaaaaaaab mov edi,ebx <-- ebx ist eine Zahl zwischen ...

Antwort
Alt 22.03.11, 10:21   #1 (permalink)
 
Benutzerbild von Eydeet
 
Registriert seit: 14.04.06
Eydeet Leistung: Facit NTK
Likes: 4
Standard Compiler-Optimierungen entschlüsseln

Anzeige

Hallo,

ich bin gerade folgender Compiler-Optimierung begegnet:

Code:
[...]
mov    ecx,0xaaaaaaab
mov    edi,ebx  <-- ebx ist eine Zahl zwischen 0 und 31
mov    eax,edi
imul   ecx
add    edi,edx

mov    eax,edi
shr    eax,0x1f
sar    edi,1
add    edi,eax
[...]
Was hier passiert ist eine Signed Multiplication des Parameters ebx durch die (negative) Zahl 0xaaaaaaab. Das Ergebnis wird in edx:eax geschrieben. Der Teil aus edx wird dann zum Parameter addiert (oder eher subtrahiert, edx ist negativ).
Das ist mir so weit klar, aber welcher C-Code wird in diesen Assembler-Code übersetzt?
Eine Google-Suche hat mir verraten, dass eine Unsigned Multiplication mit 0xaaaaaaab einer Division durch Drei entspricht. Vielleicht hilft das weiter...?

Geändert von Eydeet (22.03.11 um 10:38 Uhr)
Eydeet ist offline   Mit Zitat antworten
Alt 22.03.11, 11:00   #2 (permalink)
Themenstarter
 
Benutzerbild von Eydeet
 
Registriert seit: 14.04.06
Eydeet Leistung: Facit NTK
Likes: 4
Standard

Okay, ich habe es herausgefunden: Der erste Block entspricht dem ganzzahligen Teil einer Multiplikation mit 2/3. Interessant...
Eydeet ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » Cryptography & Encryption » Compiler-Optimierungen entschlüsseln
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61