Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » Assembler Injection in existierenden C-Code.

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
22.06.2010, 18:26 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


weil du incq nicht auf eine speicheradresse anwenden kannst wäre meine vermutung.

was das 2te %rax bei der ersten frage bedeutet, ebenfalls ka ;-) vielleicht "von bis"?

schau am besten mal in ein prozessor handbuch diesbezüglich
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
22.06.2010, 23:25 Uhr
~cmoetzing_
Gast


Wenn ich das hier richtig verstehe darf man incq auf eine Speicheradresse anwenden. http://ref.x86asm.net/coder64.html Es läuft auch. Vielleicht kann der gcc nachfolgende Befehle besser optimieren weil er dann die Variable sowieso in %eax laden müsste. Naja, wird wohl ein Mysterium bleiben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
23.06.2010, 11:43 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


evtl weil der gcc halt code für zig architekturen erzeugen kann, und daher der optimizer evtl dann sowas net berücksichtigt
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
23.06.2010, 15:11 Uhr
~cmoetzing_
Gast


Noch ein kleiner Nachtrag.

Ich denke das Einfügen sollte auch vor Sprüngen sicher sein.
gcc -S test.c erzeugt das hier:


Code:
.L465:
    .loc 3 1824 0
    cmpl    $0, -32(%rbp)
    jne    .L467
    .loc 3 1825 0
    movq    -560(%rbp), %rax
    flds    (%rax)
    movq    -560(%rbp), %rax
    addq    $12, %rax
    flds    (%rax)
.L467:



Ich würde jetzt am Ende von .L465: etwas einfügen. Danach dann gcc -c test.s. Erst in diesem Schritt werden die Labels in Adressen übersetzt und mein eingefügter Code somit mitberechnet.

Korrigiert mich wenn ich falsh liege.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: