Assemblerfunktion zum Aufsummieren direkt in AutoIt

  • Problem dabei ist, du musst die DLL disassemblen um den Einsprungpunkt in die einzelnen Funktionen zu finden....

    Die Info ist ja in der shared lib enthalten.
    Wenn ich mir mit gcc eine shared lib (.so-Datei) erstelle, dann kann ich mir mit nm, readelf, oder objdump die offsets für die jeweiligen Funktionen auslesen lassen. Für mich wäre eher das Problem die Länge des Codeabschnittes zu ermitteln (einfach nur bis zum nächsten ret-opcode könnte sehr gefährlich werden...)

    Edit: Auch der Umweg über Assembler führte leider nicht zum gewünschten Ergebnis (Binary ist am Ende wieder das was wir nicht haben wollen):

    Code
    ; mit gcc den "guten" Assemblercode erzeugen:
    gcc -m64 -O3 -mabi=ms -S -c test.c -o test.s
    
    ; assemblieren (in binary überführen)
    as -o test.o test.s
    
    ; die eigentliche Funktion extrahieren
    objcopy -O binary -j .text test.o final.bin

    Einmal editiert, zuletzt von AspirinJunkie (15. September 2024 um 12:59)